En primer lugar, tiene razón al ejecutar fsck en la partición:fsck solo funciona en sistemas de archivos, no en discos completos. Puede obtener una lista de todas las particiones en el disco con fdisk -l /dev/sdd
.
Su tipo de sistema de archivos probablemente sea ext3 (el valor predeterminado en la mayoría de las distribuciones de Linux), lo que significa que generalmente pasará un fsck siempre que su diario esté limpio. fsck -f
forzará, como se mencionó anteriormente, una verificación completa.
Sin embargo, si ha leído errores en el disco, ninguna cantidad de fsck ayudará a dd, ya que a dd realmente no le importa el contenido del disco.
Para que dd lea el disco y continúe con los errores de lectura, use dd conv=noerror,sync
, que continuará con los errores de lectura y agregará bytes nulos a cualquier bloque cuando haya un error de lectura.
Una vez que haya terminado la copia de seguridad, debe ejecutar fsck -f
en el clon para que vuelva a funcionar.
Otro consejo:si realiza una copia de seguridad de la partición en un archivo, puede montarla en loopback con mount -o loop filename.ext3 /mountpoint
. Además, digamos que está clonando una partición de 200 G en una unidad de 500 G, luego puede ejecutar resize2fs /dev/sdx1
(donde sdx es su nuevo disco, particionado con una única partición de 500G), y el sistema de archivos se redimensionará a 500G.
Por último, si el disco está en tal forma que le da errores de lectura, le aconsejo que evite apagar y encender el disco hasta que haya terminado de recuperar los datos. En algunos modos de falla, el disco en algún momento simplemente dejará de girar o no será reconocido por el sistema operativo, y en ese momento sacar los datos de la unidad se vuelve bastante costoso.
Esto puede no ser relevante en su caso, pero pensé en mencionarlo de todos modos:
Para una verificación de disco de nivel inferior, puede usar el badblocks
utilidad. Pasa por un dispositivo e informa sobre cualquier bloque defectuoso (por supuesto, no puede reparar nada). Es útil, al menos, para verificar si un disco está dañado físicamente.
Además, e2fsck
puede usar badblocks
para evitar que un sistema de archivos utilice bloques defectuosos. Desde e2fsck
manuales:
-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.
Desea la opción -f para fsck (Fuerza la verificación incluso si el sistema de archivos parece limpio).
Debe ejecutar fsck en modo de usuario único. Una manera fácil de hacer esto sin un arranque de cdrom en vivo es reiniciar con la opción -F.
shutdown -rF now