为什么我准备完全相同的USB棒的字节数不同?


15

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

  1. 使用GParted进行准备:

    • 删除现有分区
    • 创建一个新的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

这是怎么了,我该如何解决?


您可以尝试使用dd将工作副本复制到另一个副本,然后查看是否有帮助。或者,您可以仅使用sfdisk从好的磁盘复制分区表,然后从那里复制分区表。
Angelo

它立即告诉您问题出在哪里- 由于某些原因,filesystem.squashfs无效,否则您配置错误的引导过程。那是一个映像文件-压缩-它是您的整个根文件系统。但是...您的initramfs认为它位于上/cdrom。并且它显然试图将自身安装在自身之上?这是一个initramfs问题-我敢打赌。也许您同时把两个木棍都插入了计算机?或者可能是您重复了在设置过程中应该唯一的设置。远离实时系统创建者-他们很麻烦。
mikeserv 2014年

Answers:


30

虽然我不知道为什么会崩溃(坏棒或损坏的图像?),但通常会怀疑“完全相同”创建的文件系统(无论是ISO9660还是其他形式)之间的差异是时间戳,例如创建时间。或随机的默认文件系统标签。如果您希望两者上都具有相同的数据,dd则将良好的图像粘贴到另一根棍子上,并验证其校验和(md5sum或其他校验和;任何方法都可以)。

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


22

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

记忆棒的前512个字节是其引导扇区。偏移441(如果从0开始编号,则为440)是磁盘签名的位置,该磁盘签名应该唯一地标识磁盘(为了Windows的好处-我不记得Linux了)。预计它们会有所不同。应该是棍子上的文件是相同的,而不是磁盘标签(顺便说一下,还是文件的时间戳)。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.