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

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

我正在玩主引导记录。我决定删除它并恢复它我的 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

为了验证我的更改,我使用命令进行检查:

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

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

我重启了机器。正如预期的那样,我无法启动操作系统。我再次启动 LiveCD,发现 MBR 分区和签名没有变化,旧数据被保留了下来。出了什么问题?

答案1

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

MBR 不是一个分区,而是磁盘的第一个块,即大小为 512 字节的 0 块,其划分如下:

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

你的问题是你正在使用 skip

男人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

相关内容