为什么我同样准备的 U 盘只有一个字节不同?

stu*_*ent 15 live-usb troubleshooting

我准备了两个相同的 USB 记忆棒(TrekStor 16GB),其中带有c't bankix 映像

  1. 使用GParted准备:

    • 删除了现有分区
    • 创建了一个新的DOS分区表
    • 用 FAT32 格式化 U 盘,主分区
  2. 通过 将图像加载到棒上usb-creator-kde

所以我对两根棍子都做了相同的程序,但是一个引导而另一个崩溃并显示错误消息:

(initramfs) mount: mounting /dev/loop0 on //filesystem.squashfs failed: No such device
Can not mount /dev/loop0 (/cdrom/casper/filesystem.squashfs) on //filesystem.squashfs
Run Code Online (Sandbox Code Playgroud)

然后我尝试通过sudo cmp /dev/sdb /dev/sdc. 这导致:

/dev/sdb /dev/sdc differ: byte 441, line 5
Run Code Online (Sandbox Code Playgroud)

这里有什么问题,我该如何解决?

Jen*_*ens 30

虽然我不知道为什么会崩溃(坏棒?损坏的图像?),但通常怀疑“相同”创建的文件系统(无论是 ISO9660 还是其他)的差异是时间戳,例如创建时间。或者一个随机的默认文件系统标签。如果您想要两者上的相同数据,dd将好的图像放到另一根棒上并验证它们的校验和(md5sum 或其他;任何都可以)。

哦,您问题标题中的假设不成立。不同的不仅仅是一个字节。cmp只告诉你第一个不同的然后退出。


Gil*_*il' 23

很可能,它们的区别不只是一个字节。这只是第一个不同的字节。运行cmp -l dev/sdb /dev/sdc以列出所有差异。

棒的前 512 个字节是它的引导扇区。偏移量 441(如果从 0 开始编号为 440)是磁盘签名的位置,它应该唯一地标识磁盘(为了 Windows 的好处——我不记得看到 Linux 关心)。可以预料它们会有所不同。应该是棒上的文件是相同的,而不是磁盘标签(或者文件的时间戳,顺便说一下)。

验证崩溃的棒是否具有正确的文件内容。它可能会受到物理损坏。