有意删除虚拟机上的MBR,但条目保留

我正在玩主引导logging。 我决定删除并在我的vmware机器上进行恢复。

使用Ubuntu LiveCD,我试图用命令擦除分区条目和签名:

dd if=/dev/zero of=/dev/sda bs=1 skip=446 count=66 

要么:

 dd if=/dev/urandom of=/dev/sda bs=1 skip=446 count=66 

要validation我的更改,我使用命令检查:

 dd if=/dev/sda bs=1 skip=446 count=66 | hexdump -C 

但是我看不到零或随机字符。 一切都没有改变。

我重新启动了我的机器。 正如所料,我无法启动我的操作系统。 我再次启动LiveCD,再次看到没有更改MBR分区和签名,旧数据被保留。 哪里不对?

bs=1count=66你只能删除66个字节,mbr代码是446,签名是最后2个字节

MBR不是分区,而是磁盘的第一个块,大小为512字节的块0分为以下几部分:

 446(bood code) + 64(partition table) + 2 (magic number) 

你的问题是你正在使用跳过

男人dd

 skip=N skip N ibs-sized blocks at start of input 

但是你需要使用seek去到/ dev / sda的字节446

 seek=N skip N obs-sized blocks at start of output