GNU/Linux >> Znalost Linux >  >> Linux

Interpretace dd Input/Output error

  • Používáte výchozích 512 bajtů dd velikost bloku. Výkon byste výrazně zlepšili použitím větší velikosti bloku, řekněme 128k nebo dokonce 1m .

  • Existují dva výstupy, protože používáte dva dd příkazy, první je čtečka zařízení a zobrazuje chybu I/O.

  • Pravděpodobně používáte LVM vzhledem k názvu zařízení, které používáte:/dev/Storage/Storage . Jste si jistý, že se jedná o celý disk a ne o podmnožinu? Použijte lvdisplay abyste zjistili, co se skrývá za tímto názvem zařízení.


Podívejte se do zpráv protokolu jádra (dmesg nebo /var/log/kern.log ) pro podrobnější zprávy od ovladačů SATA, pokud se jednalo o hardwarovou chybu. Užitečné také:smartctl -x /dev/sda . Pokud to byl jen pokus o čtení za koncem oddílu nebo tak něco, mohlo by se to také zobrazit v protokolu jádra.

Chcete-li, aby dd pokračovalo i po chybě I/O, abyste si přečetli čitelné části, které následují po chybě, použijte

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

(Jak je uvedeno v komentářích k OP, ddrescue má toto a další. conv=noerror byl přidán do GNU dd po ddrescue existoval, IIRC.)

Pokud chcete pokračovat tam, kde jste přestali, můžete použít seek a skip možnosti s conv=notrunc .

Pokud opravdu chcete vidět, jak daleko je dd, podívejte se na pozici souboru jeho stdin:

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

(nebo ls -lh velikost výstupního souboru). Zkopírovat data z celého pevného disku 2x navíc tím, že je protlačíte něčím, mi připadá hloupé, jako by to jen zpomalilo váš počítač na hodiny, které bude kopírování trvat, než je potřeba.

Nebo alespoň udělejte:

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

Linux
  1. Jak seřadit výstup Du podle velikosti?

  2. Má být výstup uložen do souboru se stejným názvem jako vstupní soubor?

  3. Proč má Ls -l na výstupu jinou velikost než Ls -s?

  1. Chyba SFTP Přijatá zpráva je příliš dlouhá

  2. Jak přesměrovat výstup programu jako jeho vstup

  3. Interpretace výstupu cat/proc/cpuinfo

  1. Práce s Input Output a přesměrováním chyb v Linuxu

  2. Přesměrování vstupu/výstupu v Linuxu/Unixu

  3. Jak interpretovat a opravit chybu vstupu/výstupu v Linuxu?