GNU/Linux >> Linux Esercitazione >  >> Linux

Come sostituire un disco rigido su Linux

Ho costruito il mio attuale desktop circa tre anni fa e ho installato un'unità a stato solido (SSD). In seguito, avevo bisogno di più spazio di archiviazione, quindi ho installato una seconda unità, una vecchia unità disco rigido mandrino e piatto (HDD) che si trovava in giro. Di recente, ho deciso di sostituire questo HDD con un SSD.

Questo articolo illustra i passaggi per la sostituzione dell'unità, inclusi alcuni comandi utilizzati per identificare e configurare un'unità e modificare il file di configurazione utilizzato da Linux.

Identifica unità e partizioni

Per iniziare, usa il separato comando con l'argomento -l per elencare le unità fisiche nel tuo sistema.

root@workstation:~# parted -l
Modello:ATA Samsung SSD 850 (scsi)
Disco /dev/sda:512 GB
Dimensioni del settore (logico/fisico):512B/ 512B
Tabella delle partizioni:gpt
Disk Flags:

Numero  Inizio   Fine    Dimensione    File system  Nome                  Flags
 1      1049kB  538MB  537MB   fat32        br Sistema EFI, partizione < > 2      538 MB   495 GB  494 GB   ext4


Modello:ATA WDC WD1500HLFS-0 (scsi)
Disco /dev/sdb:150 GB
Dimensioni del settore (logico/fisico) :512B/512B
Tabella delle partizioni:gpt
Disk Flags:

Numero  Inizio   Fine     Dimensioni    File system     Nome              Flags
 1      1049kB  4296MB  4295MB  linux-swap(v1)  Linux swap
 2      4296 MB  150 GB   146 GB   ext4            Filesystem Linux

Puoi vedere che il mio sistema ha due unità:sda , che è un SSD e sdb , che è un HDD. Il Numero colonna elenca le partizioni che esistono su ciascuna unità. Ciascuna partizione è indicata da un numero; ad esempio, il nome completo della prima partizione su sda è /dev/sda1 , il secondo è /dev/sda2 .

Mappa le partizioni ai punti di montaggio

Ora che conosci le unità e le loro partizioni, usa findmnt comando per visualizzare i dettagli su ciascuna partizione e dove sono montate nel filesystem.

findmnt --fstab --evaluate 

Il fstab l'opzione indica trova per cercare in base a /etc/fstab file e il valuta l'opzione converte i lunghi identificatori universalmente univoci (UUID) in nomi di dispositivi reali.

# findmnt --fstab --evaluate
TARGET        SOURCE    OPZIONI FSTYPE
/             /dev/sda2 ext4   errors=remount-ro,noatime,discard
/boot/efi     /dev/sda1 vfat   umask=0077,noatime,discard
none          /dev/sdb1 swap   sw
/raptor       /dev/sdb2 ext4   defaults,noatime

Nell'output di findmnt , FONTE è la partizione a cui puoi fare riferimento all'output di parted comando di prima. BERSAGLIO è il percorso all'interno del filesystem in cui ciascuno è montato; questo è anche noto come punto di montaggio .

Scambia spazio

Nell'output sopra, la partizione di swap mostra none per il suo obiettivo. Verifica i dettagli sul tuo spazio di scambio utilizzando il cat comando.

root@workstation:~# cat /proc/swaps
Nome file                                Tipo            Dimensioni    Usato    Priorità
/dev/sdb1               partizione       4194300        >  

Il file /etc/fstab

Il /etc/fstab file è il punto in cui Linux memorizza le informazioni su unità, partizioni e filesystem, quindi deve essere modificato ogni volta che si apportano modifiche a uno di essi. Ora che hai identificato le unità, le partizioni e i punti di montaggio correnti nel tuo sistema, trova questi elementi nel tuo fstab file.

# /etc/fstab:informazioni statiche sul file system.
#
# Usa 'blkid' per stampare l'identificatore univoco universale per un
# dispositivo; questo può essere utilizzato con UUID=come un modo più affidabile per denominare i dispositivi
# che funziona anche se i dischi vengono aggiunti e rimossi. Vedere fstab(5).
#
#        
UUID=818aad1c-fcfc-4be8-9de8- FF6963383FE1 / EXT4 errori =remount-ro, noatime, scarto 0 1
uuid =87b5-E1 / boot / efi vfat umask =0077, noatime, scarto 0 1
uuid =DC8B85AC-0439-4b60-9267 -588EB69B7F88D nessuno Swap SW 0 0
UUID =BAD318C8-E095-4870-A8BB-C54F5488f569 / Raptor Ext4 Default, Noatime 0 2

Il fstab il nome del file è l'abbreviazione di "tabella dei filesystem". Le colonne sono numerate da sinistra a destra:

  1. sistema di file rappresenta la partizione del disco. Ai vecchi tempi, l'effettivo percorso hardware di basso livello (come quello che viene prodotto da separato comando, ovvero /dev/sda1 ) sarebbe stato collocato qui. Oggi, a tutte le partizioni viene assegnato un UUID, che ora è il modo preferito per farvi riferimento. Ciò è evidenziato dalla nota nella parte superiore del file. Come dice la nota, puoi visualizzare gli UUID del tuo sistema con il blkid comando. Usa i -s argomento per visualizzare solo l'UUID di ciascun dispositivo.
    # blkid -s UUID
    /dev/sdb1:UUID="bad318c8-e095-4870-a8bb-c54f5488f569"
    /dev /sda1:UUID="87B5-E1AE"
    /dev/sda2:UUID="818aad1c-fcfc-4be8-9de8-ff6963383fe1"
  2. punto di montaggio rappresenta la posizione all'interno del filesystem Linux in cui è montata la partizione.
  3. digitare descrive il formato del filesystem della partizione. Linux supporta molti tipi; alcuni comuni sono ext3, ext4 e XFS e ce ne sono molti altri. Ho usato JFS per molto tempo.
  4. opzioni governa come viene montata una partizione. Ad esempio, le opzioni ro e rw determinare se è montato come sola lettura o lettura-scrittura. Un'altra opzione comune è noatime , che viene utilizzato per disabilitare l'aggiornamento dei tempi di accesso ai file, in genere per migliorare le prestazioni di I/O del disco.
  5. scarico viene utilizzato dall'utility dump per determinare se è necessario eseguire il dump del filesystem. Un'impostazione di zero significa no. Questa funzione non è molto utilizzata in questi giorni.
  6. passa è utilizzato da fsck per determinare l'ordine in cui i filesystem verranno controllati per gli errori al momento dell'avvio. Un'impostazione di 0 disabilita il controllo e salta il filesystem. In genere, il filesystem root (/) dovrebbe essere impostato su 1 in modo che venga controllato per primo.

Ora che hai compreso le unità nel tuo sistema e come sono montate, puoi iniziare il processo di sostituzione dell'HDD.

Sostituzione dell'HDD

Più risorse Linux

  • Comandi Linux cheat sheet
  • Cheat sheet sui comandi avanzati di Linux
  • Corso online gratuito:Panoramica tecnica RHEL
  • Cheat sheet della rete Linux
  • Cheat sheet di SELinux
  • Cheat sheet dei comandi comuni di Linux
  • Cosa sono i container Linux?
  • I nostri ultimi articoli su Linux

Un buon piano è installare il nuovo SSD, copiare i file dall'HDD sull'SSD e quindi rimuovere l'HDD. Alla fine vuoi montare l'SSD nello stesso punto dell'HDD, in modo che tutte le applicazioni che si basano su questo percorso non vengano interrotte.

Installa la nuova unità

Innanzitutto, spegni il computer e scollega il cavo di alimentazione per evitare il rischio di danni causati da scosse al computer o a te stesso. Quindi, installa temporaneamente l'SSD e collegalo a un cavo di alimentazione.

Quindi, collega il cavo dati tra la nuova unità e un connettore SATA aperto sulla scheda madre. Dopo che tutto è collegato in modo sicuro, collega l'alimentazione del sistema e accendi il computer.

Successivamente, verifica che il sistema riconosca la nuova unità nel BIOS del computer o nell'interfaccia UEFI (Unified Extensible Firmware Interface). La combinazione di tasti o sequenze di tasti per accedere al BIOS di sistema o all'UEFI varia in base al produttore del computer. Di solito, i computer moderni rileveranno automaticamente le unità e altri dispositivi collegati al sistema, quindi probabilmente non c'è nulla che debba essere modificato. Questo era il mio caso; il mio sistema vede la nuova unità come SATA SSD .

Dopo aver verificato che tutte le unità siano rilevate e visualizzate dal sistema, riavviare e caricare Linux. Quindi, assicurati che Linux riconosca l'unità ripetendo il separato comando. Il comando parted -l mostra che ho tre unità installate:sda, sdb e sdc. Ecco l'output per la mia nuova unità sdc:

Modello:ATA SATA SSD (scsi)
Disco /dev/sdc:240 GB
Dimensioni del settore (logico/fisico):512B/512B
Tabella delle partizioni:msdos
Disco Flag:

Numero  Inizio   Fine     Dimensione    Tipo     File system  Flags
 1      1049kB  1075MB  1074MB  primary  ext4         boot
 2      1075 MB  240 GB   239 GB   v    >   

Questo output elenca la tabella delle partizioni come msdos e indica che esistono due partizioni esistenti; questo perché sto usando un SSD che era stato precedentemente utilizzato in un altro sistema. Tutto questo cambierà una volta che l'unità sarà riformattata per la sua nuova vita.

Prepara il nuovo SSD

Dopo aver confermato che Linux identifica il nuovo SSD, usa il parted comando di nuovo, ma questa volta per riconfigurare l'unità. Nel mio caso, ho cambiato la tabella delle partizioni in GPT, che è più recente. Ho anche creato una nuova partizione per l'archiviazione generale utilizzando il filesystem XFS. Non sarà necessario eliminare prima le partizioni esistenti perché verranno automaticamente eliminate quando verrà creata la nuova tabella delle partizioni, chiamata anche etichetta , viene modificato e salvato.

Imposta la tabella delle partizioni

Inserisci il comando:parted /dev/sdc .

# parted /dev/sdc
GNU Parted 3.2
Utilizzo di /dev/sdc
Benvenuto in GNU Parted! Digita 'help' per visualizzare un elenco di comandi.

Usa la mklabel comando per modificare la tabella delle partizioni o l'etichetta in gpt . Verrai avvisato che questa azione distruggerà tutti i dati esistenti sul disco. Rispondi sì.

(parted) mklabel gpt
Avvertenza:l'etichetta del disco esistente su /dev/sdc verrà distrutta e tutti i dati su questo disco andranno persi. Vuoi continuare?
Sì/No? si

Puoi verificare le modifiche alla configurazione dell'unità utilizzando la stampa comando. Noterai anche che tutte le partizioni sono sparite.

Modello:ATA SATA SSD (scsi)
Disco /dev/sdc:240 GB
Dimensioni del settore (logico/fisico):512B/512B
Tabella delle partizioni:gpt
Disco Flag:

Numero  Inizio   Fine     Dimensione    Tipo     File system  Flag

Crea una partizione

Puoi creare nuove partizioni utilizzando mkpart comando. Ho creato solo una partizione poiché ho intenzione di utilizzare l'intera unità per spazio di archiviazione aggiuntivo.

La stampa gratuita Il comando è utile anche per visualizzare lo spazio libero su un'unità. Poiché non ho alcuna partizione definita, sono disponibili tutti i 240 GB.

(separato) senza stampa
Modello:ATA SATA SSD (scsi)
Disco /dev/sdc:240 GB
Dimensioni del settore (logico/fisico):512B/512B
Tabella delle partizioni:gpt
Disco Flag:

Numero  Inizio   Fine    Dimensioni   File system  Nome  Flags
        17,4 kB  240 GB  240 GB  Spazio libero

Chiamerò la partizione storage e imposta il tipo di filesystem su xfs . Poiché ho solo una partizione, specifico l'inizio e la fine della partizione per utilizzare l'intero spazio libero disponibile utilizzando le percentuali. Questo può essere fatto con un comando a riga singola.

mkpart storage xfs 0% 100% 

Quindi, conferma con la stampa comando.

stampa (a parte)
Modello:ATA SATA SSD (scsi)
Disco /dev/sdc:240 GB
Dimensioni del settore (logico/fisico):512B/512B
Partizione Tabella:gpt
Disco Flag:

Numero  Inizio   Fine    Dimensione   File system  Nome     Flags
 1      1049kB  240GB  240GB  xfs          storage

Quando esci da separato , sarai informato che /etc/fstab potrebbe essere necessario aggiornare il file.

(separato) esci
Informazioni:potrebbe essere necessario aggiornare /etc/fstab.

Formatta la partizione

Quindi, formatta la nuova partizione Linux con xfs filesystem utilizzando mkfs.xfs .

mkfs.xfs /dev/sdc1 

La nuova unità è formattata completamente. Come accennato in precedenza, attualmente è standard fare riferimento a una partizione con il suo UUID anziché al percorso del dispositivo fisico. Pertanto, determina l'UUID della nuova partizione con blkid .

# blkid -s UUID

/dev/sdc1:UUID="d98abe0a-f641-4331-a3dc-b89ebc60bfb5"

Copia i file

La nuova unità è formattata e pronta per essere montata nel sistema. Ma il processo di sostituzione di un'altra unità con questa non è così semplice. Innanzitutto, entrambe le unità devono essere montate contemporaneamente per copiare i file dalla vecchia unità a quella nuova.

A tale scopo, montare la nuova unità su un punto di montaggio temporaneo, copiare i file e quindi smontare entrambe le unità. Come mai? Quindi puoi montare la nuova unità nello stesso punto di montaggio in cui è stata montata la vecchia unità per preservare il percorso. Nel caso ci siano applicazioni con quel percorso configurato, è semplicemente più semplice in questo modo.

# mkdir /mnt/newssd
# mount UUID="d98abe0a-f641-4331-a3dc-b89ebc60bfb5" /mnt/newssd
# cp -avT /raptor/ /mnt/newssd/

Usa differenza per verificare l'esito positivo della copia.

diff -rqy /raptor/ /mnt/newssd/ 

Rimuovi il vecchio HDD

Smonta entrambe le unità

Ora che la nuova unità contiene tutti i vecchi file, rimontala al posto della vecchia unità. Innanzitutto, smonta entrambe le unità.

# smontare /dev/sdc1
# smontare /dev/sdb2

Disattiva lo scambio

Poiché la vecchia unità non verrà più utilizzata come dispositivo di scambio, disabilitala con lo swapoff comando.

# swapoff /dev/sdb1 

Se ripeti il cat /proc/swaps comando, non elencherà più questa partizione.

Aggiorna il file fstab

Torna a /etc/fstab file; ci sono alcune modifiche che devi apportare. Consiglio di fare un backup del file prima di modificarlo.

cp -a /etc/fstab /etc/fstab.backup 

Nella linea per il /raptor punto di montaggio, sostituire l'UUID con quello della nuova unità; sostituire il filesystem, ext4, con xfs; e aggiungi scarta alle opzioni. Dovrebbe apparire così:

UUID=d98abe0a-f641-4331-a3dc-b89ebc60bfb5 /raptor  xfs  defaults,noatime,discard  0 2 

Disattiva lo scambio in modo permanente modificando /etc/fstab file e commentando o eliminando la linea di scambio.

# UUID=dc8b85ac-0439-4b60-9867-58eb69b7f88d none  swap  sw  0 0 

Lo spazio di scambio può essere montato su un'altra unità o partizione se è ancora necessario. In questo caso, invece di rimuovere questa riga, sostituisci semplicemente l'UUID come hai fatto durante la configurazione della nuova unità.

Dopo aver salvato fstab file, esegui mount da rimontare in base alle modifiche.

root@workstation:~# mount -av
/                        :ignorato
/boot/efi                :già montato
/raptor            :montato correttamente

Infine, spegni il computer e rimuovi l'HDD che non verrà più utilizzato. Quindi accendere e verificare che il sistema si sia avviato correttamente e che tutte le unità siano montate come previsto. Oltre allo spazio di archiviazione aggiuntivo, noto anche un aumento delle prestazioni e una riduzione del rumore.


Linux
  1. Partizionare un'unità su Linux con GNU Parted

  2. Come partizionare un disco in Linux

  3. Come gestire una partizione di scambio in Linux

  4. Come riempire un disco rigido in Linux

  5. Come spostare una partizione in GNU/Linux?

Come modificare l'UUID della partizione nel filesystem Linux

Come clonare una partizione o un disco rigido in Linux

Come trovare i dettagli del disco rigido in Linux

Come montare un'unità su Linux

Come convertire una directory in una partizione in Linux

Come crittografare la partizione su Linux