如何从映像文件中删除 MBR(主引导记录)?

如何从映像文件中删除 MBR(主引导记录)?

我有一个大约 20GiB 的 QEMU 映像myserver.img。该文件用作服务器的“虚拟”硬盘。现在前 512 个字节包含 MBR,我正尝试用零覆盖这些字节。在普通磁盘上,这个可以工作:

dd if=/dev/zero of=/dev/sda bs=512 count=1

但是当我尝试对图像文件执行此操作时,文件会被覆盖,大小只有 512 字节(而不是 20GiB)。有没有办法只更改前 512 个字节,最好使用dd

答案1

添加conv=notrunc

dd if=/dev/zero of=YOUR_IMAGE_FILE bs=512 count=1 conv=notrunc

答案2

尝试使用 ddconv=notrunc

dd if=/dev/zero of=myserver.img bs=512 count=1 conv=notrunc

来自 dd 手册页

   诺特伦克
          不要截断输出文件

例如

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

相关内容