Nós de dispositivo como /dev/sd*
são exibidos apenas em / dev depois que o dispositivo é conectado , não antes. (Além disso, eles não são chamados de "registradores".) Então, quando você executou dd of=/dev/sdb
, ele não tocou em nenhum dispositivo - em vez disso, como o arquivo de saída não existia, dd
foi criado um novo arquivo com esse nome.
$ sudo dd if=archlinux-2016.04.01-dual.iso of=/dev/sdc 1482752+0 records in 1482752+0 records out 759169024 bytes (759 MB, 724 MiB) copied, 0.941926 s, 806 MB/s $ ls -l /dev/sd* brw-rw---- 1 root disk 8, 0 Jun 15 08:54 /dev/sda brw-rw---- 1 root disk 8, 16 Jun 15 14:14 /dev/sdb -rw-r--r-- 1 root root 724M Jun 15 15:06 /dev/sdc
Portanto, não há realmente nada que possa ter sido "corrompido" e nada que faça sentido "reparar" ou ddrescue. Você simplesmente tem um arquivo enorme chamado /dev/sdb
e, como ele existe, o kernel não pode criar um nó de dispositivo real lá.
(A velocidade de gravação faz todo o sentido - /dev
é armazenado na RAM, então você acabou de copiar a imagem da RAM, onde ela foi armazenada em cache, de volta à RAM, onde / dev mora.)
Apague /dev/sdb
e reconecte o dispositivo, e o nó do dispositivo real deve reaparecer.