GNU/Linux >> Linux Esercitazione >  >> Linux

Passaggio da Windows a Linux - Gestione del disco

Oggi, vorrei staccare dal mio recente modello di tutorial da Windows a Linux, che si sono concentrati sul mostrarti come installare, configurare e utilizzare una varietà di programmi, in genere progettati o destinati solo a Windows, utilizzando framework come VINO. Quello di cui parleremo oggi è il succoso argomento della gestione di dischi e unità.

Oltre alle applicazioni, ci sono dati con cui fare i conti. E i dati sono fondamentali per tutto. Le cose diventano più complicate se si considerano le differenze cardinali tra Windows e Linux. Il primo utilizza NTFS e i dati sono organizzati in unità (C:, D:, ecc.). Linux archivia tutto in un albero di filesystem (root, /) e utilizza diversi formati di filesystem (come ext4), sebbene possa gestire NTFS. Allora, cosa succede se stai cercando di spostare le tue cose? Questo tutorial è un ottimo suggerimento per chi cerca ordine, semplicità e chiarezza.

Lettura preliminare

Questa guida non può vivere isolata. Ci sono alcune dure leggi della fisica a cui dobbiamo obbedire. Innanzitutto, se non sai nulla sulla gestione del disco e/o dell'unità, sui filesystem e simili, questo articolo non fa davvero per te. Hai bisogno di una base di base di questi principi. Siamo realistici. Questo articolo è per nerd, anche se con poca esperienza pratica in Linux (ancora).

Detto questo, ecco alcuni miei articoli che dovresti leggere prima di approfondire ulteriormente:

Esercitazione sul software di partizionamento GParted

La guida Linux definitiva per i neofiti di Windows

Lo stesso ma diverso

Va bene, ora che conosciamo il gergo ei dettagli tecnici, discutiamo uno scenario. Supponiamo che tu abbia una macchina Windows con due dischi fisici e un totale di cinque partizioni del disco. Supponiamo che il layout sia il seguente:

  • Unità C:\:file del sistema operativo Windows e di base, file di programma, dati utente.
  • Unità D:\ - Installazione di giochi (incluso ad esempio Steam).
  • E:\ drive - I dati dell'utente (file, film, musica, documenti, ecc.) NON sono archiviati in I miei documenti e simili.
  • F:\ drive (sul secondo disco) - Usato per il backup; qui, i dati utente vengono copiati una volta alla settimana.
  • H:\ drive (sul secondo disco) - Usato per cose non importanti (download, video non elaborati, ecc.).

Ora, supponiamo che il proprietario del computer con la seguente disposizione del disco sia interessato a passare a Linux. Quindi quello che fanno è il seguente:

Ripartizionano i loro dischi, in particolare riducono l'unità H:\ e quindi creano una serie di nuove partizioni nello spazio liberato (e ora vuoto). Quindi installano una distribuzione Linux qui. Ora eseguono un sistema dual-boot e quando accendono il computer o lo riavviano, vedono un menu che consente loro di scegliere se continuare nell'ambiente Linux o Windows.

Come puoi vedere, ho delineato questo e scenari piuttosto simili nei miei vari articoli sul dual-boot, come quello collegato sopra, così come nelle guide di Windows 7 e Ubuntu e Windows 7 e CentOS. Questo dovrebbe darti un buon punto di riferimento per un'avventura simile, oltre a permetterti di avere un'idea di come sarebbero le differenze iniziali nella gestione del disco in Linux.

Ora, l'utente ha un sistema con due sistemi operativi. Tuttavia, c'è un problema. La maggior parte dei dati risiede ancora in Windows e/o viene salvata/conservata su unità Windows, formattata con il file system NTFS. Ci sono diverse domande qui:

  • L'utente può accedere ai dati di Windows?
  • L'utente può modificare i dati di Windows?
  • L'utente può migrare i dati dalle unità Windows ai filesystem Linux nativi su altre partizioni?
  • L'utente può convertire (se lo desidera) i filesystem NTFS in quelli nativi di Linux?

Rispondiamo a queste, allora, dovremmo!

  • Linux può leggere i filesystem NTFS senza grossi problemi. La maggior parte delle distribuzioni lo supporta in modo nativo.
  • Allo stesso modo, Linux può scrivere su filesystem NTFS. Tuttavia, non tutte le distribuzioni hanno questa capacità pronta all'uso. La soluzione a questo problema consiste nell'installare l'utilità NTFS-3g, che offre le funzionalità necessarie. Ad esempio, nelle distribuzioni Red Hat come CentOS o AlmaLinux o Rocky Linux:

sudo dnf install ntfs-3g ntfsprogs

  • L'utente può migrare i dati, tuttavia, nello scenario precedente, potrebbe semplicemente non esserci abbastanza spazio disponibile sulle partizioni Linux appena create per ospitare tutto il materiale di Windows, inclusi i dati, i backup e altri bit di informazioni.
  • La conversione dei filesystem è un'operazione rischiosa che può portare a una perdita di dati. Non dovrebbe mai essere fatto senza un backup dei dati completo e verificabile in atto. Ma del resto, se hai un backup in atto, potresti anche formattare le partizioni con il filesystem nativo e copiare i dati.

Opacità di gestione del disco

La soluzione alla scarsità di spazio su disco e/o al facile percorso di migrazione dei dati è quindi presentare i dati di Windows all'interno del sistema Linux, ma in un modo che sarà facile da discernere, oltre a consentire pratici backup dei dati. Per spiegare cosa intendo, considera quanto segue:

In Linux, tutti i percorsi si risolvono in una radice (/). Ad esempio, /home/igor sarebbe il punto di montaggio nella directory home dell'utente chiamato "igor". Ma la mappatura fisica di quella directory può essere ovunque. Può essere una partizione diversa, un disco diverso, anche un sistema diverso (su una rete). Ad esempio:

  • Il filesystem di root (/) è un punto di montaggio per /dev/sda1 (la prima partizione sul primo disco).
  • home/igor è una directory e non un punto di montaggio separato. I dati risiedono su /dev/sda1 (lo stesso disco).
  • In alternativa, il percorso /home/igor potrebbe risolversi in /dev/sda2 o /dev/sdc7 o anche in condivisioni NFS, CIFS o Samba.

Ciò significa che se un utente monta unità Windows, queste verranno presentate in Linux come parte del singolo filesystem radice e non saranno necessariamente distinguibili da altre posizioni o percorsi. Ancora, ad esempio:

La maggior parte dei sistemi Linux monterà dispositivi rimovibili, esterni o non Linux in /run/media o /media. Quindi, se vedi due directory in queste posizioni, comunque denominate, non sarai necessariamente in grado di distinguerle. Uno potrebbe essere una partizione interna di Windows formattata NTFS e un altro potrebbe essere un'unità USB formattata FAT32.

La soluzione, quindi

Per aggirare questo problema, utilizzo il seguente metodo:

  • Creo una nuova directory di primo livello sotto root chiamata drive (/drives).
  • All'interno, creo directory che fungeranno da punti di montaggio per le unità Windows, con lettere come identificatori. Ad esempio, /unità/C verrà utilizzata come punto di montaggio per l'unità C:\ e /unità/E verrà utilizzata come punto di montaggio per l'unità E:\ e così via.
  • Creo regole di montaggio permanenti per le unità Windows in /etc/fstab (ne parleremo a breve). Ciò significa che all'avvio del sistema, le unità Windows verranno montate come dispositivi scrivibili e presentate come directory nella posizione di livello superiore /drives.

Cosa garantisce questo metodo?

Ci sono molti vantaggi utili in questo approccio:

  • Consente una separazione chiara e visibile tra percorsi solo Linux o Linux puri e percorsi Windows.
  • Non combina tutti i dispositivi/partizioni non Linux in directory generiche.
  • L'esecuzione di script di backup garantisce che non tutto venga copiato o sottoposto a backup, ma solo ciò di cui hai bisogno. Se stai eseguendo un backup completo del tuo sistema Linux e hai altri filesystem e unità montati, non vuoi necessariamente che siano inclusi nel backup e non vuoi dover tenere conto di ogni percorso "sconosciuto" .

Ecco come puoi farlo

Seguendo il nostro esempio precedente, il primo passo è capire come Linux "vede" i dischi rigidi interni e come identifica le unità Windows. Anche in questo caso, hai bisogno di un po' di esperienza qui. È possibile utilizzare gli strumenti della riga di comando come fdisk per generare l'elenco dei dispositivi e delle relative partizioni. Assumiamo quanto segue:

  • /dev/sda1 - C:\ unità
  • /dev/sda2 - D:\ unità
  • /dev/sda3 - E:\ unità
  • /dev/sdb1 - F:\ unità
  • /dev/sdb2 - H:\ unità
  • /dev/sdb3 - radice Linux (/)
  • /dev/sdb4 - Scambio Linux
  • /dev/sdb5 - Casa Linux (/casa)

Crea il percorso di primo livello /drives e le directory sottostanti (solo per unità Windows):

sudo mkdir /drives
sudo mkdir /drives/C
sudo mkdir /drives/D
...

Ora, come root o sudo, crea un backup del file /etc/fstab e poi modificalo in un editor di testo (come nano):

sudo cp /etc/fstab /home/"il tuo utente"/fstab-backup
sudo nano /etc/fstab

Nell'editor di testo, aggiungi punti di montaggio alle tue unità Windows.

/dev/sda1 /drives/C ntfs-3g defaults,locale=utf8 0 0
/dev/sda2 /drives/D ntfs-3g defaults,locale=utf8 0 0
...

Cosa abbiamo qui?

  • Specifichiamo il dispositivo/partizione effettivo che vogliamo montare.
  • Specifichiamo il punto di montaggio.
  • Specifichiamo il filesystem - in questo caso, utilizziamo il driver del filesystem ntfs-3g (ci dà accesso in lettura/scrittura).
  • Specifichiamo le opzioni di montaggio, semplificando le impostazioni predefinite, oltre alla codifica UTF8.
  • Impostiamo gli ultimi due campi (dump e fsck) a 0, quindi sono esclusi dalle classiche operazioni Linux.

Ecco un esempio reale da uno dei miei sistemi:

#
# / era su /dev/nvme0n1p5 durante l'installazione
# /boot/efi era su /dev/nvme0n1p1 durante l'installazione

UUID=7f4087e7-e572-44fd-a4a1-7489099937a0 / ext4 errors=remount-ro 0 1
UUID=C05A-951D /boot/efi vfat umask=0077 0 1
/swapfile nessuno swap sw 0 0
/dev/nvme0n1p3 /drives/C ntfs-3g defaults,locale=utf8 0 0

Le prime tre voci non commentate sono voci di montaggio per i filesystem Linux, inclusa la radice (/), /boot/efi, richiesta sui sistemi UEFI (mostra anche un filesystem VFAT) e un file di scambio anziché una partizione di scambio.

La quarta voce è l'aggiunta di un'unità Windows. Si noti che l'identificatore del dispositivo non è /dev/sdaXY ma è invece /dev/nvmeXnYp3. Il motivo è che il sistema ha un disco rigido NVMe e il sistema Linux lo identifica in modo diverso dai dispositivi IDE/SATA/SCSI. Ma per tutti gli scopi pratici, la notazione è la stessa.

Quello che abbiamo è un primo (0) bus NVMe, primo (1) dispositivo, terza (3) partizione. Ancora una volta, fare riferimento alle mie guide sulla gestione del disco rigido in precedenza, nonché al tutorial di GRUB, poiché la notazione per i dispositivi e le partizioni è diversa. E così, nell'esempio sopra, montiamo la nostra partizione Windows, effettivamente la terza partizione sul disco NVMe, sotto /drives/C.

Non è necessario riavviare per vedere l'effetto, basta rimontare tutto:

sudo mount -a

Ora, le tue unità Windows verranno montate sui percorsi corrispondenti e puoi vedere i dati. Il passaggio successivo consiste nel semplificare l'utilizzo e l'accesso ai dati montati.

Gestione file e unità Windows

Se vuoi utilizzare i dati dalla GUI (non dalla riga di comando), puoi eseguire il seguente trucco:

  • Crea collegamenti simbolici nella tua home directory alle unità montate.
  • Più specificamente, collega simbolicamente ogni unità (lettera) a una cartella che ha un identificatore significativo, come i nomi delle unità di Windows.

ln -s /drives/C ~/Windows

Il comando sopra creerà un collegamento simbolico nella tua home directory. Windows verrà mappato su /drives/C, che è il punto di montaggio sull'unità C:\. Quindi, quando fai clic sulla cartella Windows nel tuo file manager Linux, vedrai il contenuto dell'unità Windows.

Ora puoi fare un ulteriore passo avanti e creare collegamenti a queste unità. Ad esempio, nell'ambiente desktop Plasma, puoi aggiungere scorciatoie alla barra laterale, quindi Windows verrà mappato su /drives/C, Games verrà mappato su /drives/D, Data verrà mappato su /drives/E e così via. Il tuo prossimo passo è aggiungere potenzialmente attività di backup al flusso, ma questo è un argomento per un altro tutorial.

Conclusione

Il mio tutorial non è il Santo Graal della gestione dei dati. Lontano da esso. Ma fornisce suggerimenti eleganti sui problemi comuni che le persone possono incontrare passando da Windows a Linux. Fornisce un modo per presentare i dati di Windows in modo visibile e intuitivo. Non include operazioni distruttive. Consente backup convenienti e separazione dei dati. E offre alle persone abituate al flusso di lavoro di Windows di adattarsi lentamente al nuovo ambiente senza compromettere indizi familiari o flussi di lavoro consolidati.

Con le unità solo Windows montate nel proprio percorso, collegamenti simbolici per darti un comodo accesso tramite strumenti GUI e una mappatura logica, ora dovresti avere una buona e solida base per la tua migrazione. Il passaggio successivo è assicurarsi che venga eseguito il backup dei dati importanti. Perché i dati senza backup sono solo una tragedia in attesa di accadere. Tratteremo questo, così come molti altri suggerimenti pratici quotidiani negli articoli di follow-up. Per ora, rifletti un po' sullo schema di dati che ho delineato sopra. E resta sintonizzato per ulteriori guide alla configurazione del programma. A presto.


Linux
  1. Come eseguire il desktop remoto da Windows a desktop Linux utilizzando XRDP

  2. Linux – Rendi più lenta la copia del disco/disco?

  3. Spegni la macchina Windows dal terminale Linux

  4. Usando putty per scp da Windows a Linux

  5. RDP da Linux a Windows

Come accedere alle partizioni Linux da Windows 10

Gestione dei processi Linux migliorata con htop

Gestione dei pacchetti Linux con YUM e RPM

Allontanarsi da Windows - Inizia

Rendi Linux simile a Windows - Edizione 2021

Il classico Path.DirectorySeparatorChar ottiene risultati quando si passa da .NET Core su Windows a Linux