GNU/Linux >> Linux Esercitazione >  >> Linux

fsck:opzioni per il controllo del disco più approfondito

Prima di tutto, hai ragione sull'esecuzione di fsck sulla partizione:fsck funziona solo su filesystem, non su interi dischi. Puoi ottenere un elenco di tutte le partizioni sul disco con fdisk -l /dev/sdd .

Il tuo tipo di filesystem è probabilmente ext3 (l'impostazione predefinita nella maggior parte delle distribuzioni Linux), il che significa che di solito passerà un fsck fintanto che il suo journal è pulito. fsck -f forzerà, come detto sopra, un controllo completo.

Tuttavia, se hai letto errori sul disco, nessuna quantità di fsck aiuterà dd, poiché a dd non interessa davvero il contenuto del disco.

Per fare in modo che dd legga il disco e continui con gli errori di lettura, usa dd conv=noerror,sync , che continuerà in caso di errori di lettura e aggiungerà byte null a qualsiasi blocco quando si verifica un errore di lettura.

Dopo aver terminato il backup, dovresti eseguire fsck -f sul clone per rimetterlo in funzione.

Un altro consiglio:se esegui il backup della partizione su un file, puoi montarla in loopback con mount -o loop filename.ext3 /mountpoint . Inoltre, supponiamo che tu stia clonando una partizione da 200G su un'unità da 500G, quindi puoi eseguire resize2fs /dev/sdx1 (dove sdx è la tua nuova unità, partizionata con una singola partizione da 500G), e il filesystem verrà ridimensionato a 500G.

Infine, se il disco è in una forma tale da darti errori di lettura, ti consiglio di evitare di spegnere e riaccendere il disco finché non hai finito di recuperare i dati. In alcune modalità di errore, a un certo punto il disco semplicemente non si avvia più o non viene riconosciuto dal sistema operativo e, a quel punto, l'estrazione dei dati dall'unità diventa piuttosto costosa.


Questo potrebbe non essere rilevante nel tuo caso, ma ho pensato di menzionarlo comunque:

Per un controllo del disco di livello inferiore, puoi usare badblocks utilità. Passa attraverso un dispositivo e segnala eventuali blocchi danneggiati (ovviamente non può riparare nulla). È utile, almeno, per verificare se un disco è fisicamente danneggiato.

Inoltre, e2fsck può usare badblocks per evitare che i blocchi danneggiati vengano utilizzati da un filesystem. Da e2fsck manuale:

  -c     This option causes e2fsck to use badblocks(8) program to do a  read-
         only scan of the device in order to find any bad blocks.  If any bad
         blocks are found, they are added to the bad block inode  to  prevent
         them from being allocated to a file or directory.  If this option is
         specified twice, then the bad block scan will be done using  a  non-
         destructive read-write test.

Vuoi l'opzione -f per fsck (forza il controllo anche se il file system sembra pulito.)

Dovresti eseguire fsck in modalità utente singolo. Un modo semplice per farlo senza un avvio da cdrom live è riavviare con l'opzione -F.

shutdown -rF now 

Linux
  1. Verificare il processo se lo stesso è in esecuzione?

  2. Linux – Riferimenti ma per Linux?

  3. Esiste una riga per verificare la presenza di file?

  4. Come verificare la presenza di openCV su Ubuntu 9.10

  5. Controlla lo spazio libero su disco per la partizione corrente in bash

Come utilizzare il comando fsck per controllare e riparare il filesystem

Come controllare lo spazio su disco in Linux

Controllo dello spazio su disco di Ubuntu 20.04

Come controllare l'utilizzo dello spazio su disco in Linux

Comando Df in Linux (Controlla spazio su disco)

Comando Linux df per controllare lo spazio su disco