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

Dan*_*iel 1 linux dd qemu

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

dd if=/dev/zero of=/dev/sda bs=512 count=1
Run Code Online (Sandbox Code Playgroud)

但是当我在图像文件上尝试时,文件被覆盖并且只有 512 字节(而不是 20GiB)。有没有办法只更改前 512 个字节,最好使用dd?

ash*_*108 6

添加conv=notrunc

dd if=/dev/zero of=YOUR_IMAGE_FILE bs=512 count=1 conv=notrunc
Run Code Online (Sandbox Code Playgroud)


use*_*517 6

尝试使用 dd conv=notrunc

dd if=/dev/zero of=myserver.img bs=512 count=1 conv=notrunc
Run Code Online (Sandbox Code Playgroud)

从 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
Run Code Online (Sandbox Code Playgroud)