GNU/Linux >> Linux Esercitazione >  >> Linux

Interpretazione dd Errore di input/output

  • Stai utilizzando i 512 byte predefiniti dd misura del blocco. Miglioreresti significativamente le prestazioni utilizzando blocchi di dimensioni maggiori, ad esempio 128k o anche 1m .

  • Ci sono due output perché stai eseguendo due dd comandi, il primo è il lettore del dispositivo e mostra un errore di I/O.

  • Probabilmente stai usando LVM dato il nome del dispositivo che usi:/dev/Storage/Storage . Sei sicuro che questo sia l'intero disco e non un sottoinsieme? Usa lvdisplay per capire cosa c'è dietro questo nome di dispositivo.


Guarda nei tuoi messaggi di log del kernel (dmesg o /var/log/kern.log ) per messaggi più dettagliati dai driver SATA, se si trattava di un errore hardware. Utile anche:smartctl -x /dev/sda . Se fosse solo un tentativo di leggere oltre la fine di una partizione o qualcosa del genere, ciò potrebbe apparire anche nel log del kernel.

Per fare in modo che dd continui dopo un errore di i/o, per leggere le parti leggibili che seguono l'errore, usa

dd if=... of=... conv=noerror bs=128k   # it doesn't get any faster beyond about 128k, because of L2 cache size

(Come menzionato nei commenti sull'OP, ddrescue ha questo e altro. conv=noerror è stato aggiunto a GNU dd dopo ddrescue esisteva, IIRC.)

Se vuoi riprendere da dove eri rimasto, puoi usare il seek e skip opzioni, con conv=notrunc .

Se vuoi davvero vedere quanto è lungo dd, guarda la posizione del file del suo stdin:

cat /proc/$(pidof dd)/fdinfo/0  # dd opens its infile as fd #0

(o ls -lh la dimensione del file di output). Copiare un intero disco rigido di dati 2 volte in più eseguendo il piping attraverso qualcosa mi sembra sciocco, come se rendesse il tuo computer un po' più lento del necessario per le ore che impiegheranno la copia.

O almeno fallo:

dd if=... conv=noerror bs=128k | pv > Storage.img

Linux
  1. Come ordinare l'output per dimensione?

  2. Intercetta input e output da un eseguibile specifico?

  3. Perché Ls -l genera una dimensione diversa da Ls -s?

  4. Errore SFTP Messaggio ricevuto troppo lungo

  5. errore di input/output di ubuntu

Spiegazione del reindirizzamento di input e output su Linux

Spiegazione:input, output e reindirizzamento degli errori in Linux

Shell Scripting Part4 – Input, Output e Reindirizzamento

gcsfuse Errore di input/output

Come reindirizzare l'output del programma come input

Interpretazione dell'output di cat/proc/cpuinfo