通过 hexdump 和 fdisk 完成时,闪存驱动器前 512 字节的转储不同

发布于 2024-09-14 04:30:21 字数 394 浏览 8 评论 0原文

我首先使用将 USB 闪存驱动器的前 512 字节清零

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

,然后我发现 fdisk 的输出

hexdump -n 512 /dev/sdb

(分区表的原始转储)和 fdisk 中的输出是不同的。

具体来说,hexdump 显示所有字节实际上都已清零。但是,在 fdisk 中,每次重新启动 fdisk 时,我都会看到第 441-444 个字节具有随机值。此外,最后 2 个字节具有引导签名 AA55。每次重新启动 fdisk 时,此启动签名都不会更改。即使在 fdisk 中,所有其他字节也被清零。

为什么会出现这种差异?

I first zeroed out the first 512 bytes of the USB flash drive using

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

Then i saw that the output of

hexdump -n 512 /dev/sdb

and from within fdisk (the raw dump of the partition table) is different.

Specifically, hexdump shows that all bytes are really zeroed out. But, in fdisk I see that the 441-444th bytes have random values each time you restart fdisk. Also, the last 2 bytes have the boot signature AA55. This boot signature doesn't change each time i restart fdisk. All the other bytes are zeroed out even in fdisk.

Why this discrepancy?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

海之角 2024-09-21 04:30:21

据推测,fdisk 正在将零块纠正为有效的引导扇区。

Presumably fdisk is correcting the block of zeroes to be a valid boot sector.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文