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

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

我有两个相同的 USB 记忆棒(TrekStor 16GB) 准备如下是吧 银行图像

  1. 制备使用格帕特:

    • 删除现有分区
    • 创建新的 DOS 分区表
    • 使用 FAT32 格式化该棒,主分区
  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

然后我尝试通过比较它们sudo cmp /dev/sdb /dev/sdc。这导致:

/dev/sdb /dev/sdc differ: byte 441, line 5

这里出了什么问题,我该如何修复它?

答案1

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

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

答案2

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

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

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

相关内容