La image ddrescue difiere en tamaño

Tengo una image de 40 gb dividida en 10 files de 4 gb, luego combinada con dm-linear para crear una unidad de 40 gb. Un file se dañó solo sector 4kb. Sin embargo, cuando estoy copyndo datos, el file resultante dd o ddrescue resulta 4kb más pequeño que el file original. Se produce un error de arranque de la VM debido a un tamaño de disco físico no válido. ¿Cómo puedo copyr esta image y llenar este sector de 4kb con 0 para preservar el tamaño del file y los desplazamientos?

Use dd bs=4k conv=sync,noerror if=damaged_source_image of=destination_image

Con noerror , dd continuará después de encontrar un error de lectura. Con la sync , los bytes no leídos (debido al error de lectura) se escribirán como ceros.

Vea esta pregunta para una discusión extensa sobre esto.