Adicione conv=notrunc
:
dd if=/dev/zero of=YOUR_IMAGE_FILE bs=512 count=1 conv=notrunc
Eu tenho uma imagem QEMU myserver.img
que é cerca de 20GiB. O arquivo serve como um disco rígido "virtual" para o servidor. Agora, os primeiros 512 bytes contêm o MBR e estou tentando substituir esses bytes por zeros. Em discos normais, este funcionaria:
dd if=/dev/zero of=/dev/sda bs=512 count=1
Mas quando eu tento isso no arquivo de imagem, o arquivo é sobrescrito e tem apenas 512 bytes de tamanho (em vez de 20GiB). Existe uma maneira de alterar apenas os primeiros 512 bytes, de preferência com dd
?
Tente usar o dd com conv=notrunc
dd if=/dev/zero of=myserver.img bs=512 count=1 conv=notrunc
Da página de manual do dd
notrunc do not truncate the output file
por exemplo,
ls -l myserver.img
-rw-r--r-- 1 iain users 1536 Mar 27 12:31 myserver.img
dd if=/dev/zero of=myserver.img bs=512 count=1 conv=notrunc
ls -l myserver.img
-rw-r--r-- 1 iain users 1536 Mar 27 12:32 myserver.img