我使用 Universal USB Installer 使用 Ubuntu 15.10 64bit 创建了一个 USB 记忆棒。如果我运行 MD5SUMS 完整性检查,我会收到以下两个错误:
./boot/grub/grub.cfg: FAILED
./boot/grub/loopback.cfg: FAILED
md5sum: WARNING: 2 computed checksums did NOT match
这是预期的吗?
到目前为止,我已经尝试了两个 USB 记忆棒,所以我认为这不是 USB 记忆棒的问题。我也试过提取 .iso 文件并检查那里的 MD5SUM,它没有失败,似乎通用 USB 安装程序修改了这些文件。
我在使用 Ubuntu 15.04 的内置启动盘创建器和 15.10 ISO 时也注意到了这一点。
这些变化是有意的。它们似乎是 Grub 引导加载程序必须传递给 Linux 内核的引导选项,以使其能够从外部媒体(CD 或 USB)而不是内部硬盘驱动器引导。
例如,
./boot/grub/loopback.cfg
在文本编辑器中比较文件中的第 3 行。来自 ISO 映像:
从使用 Startup Disk Creator 创建的 USB 闪存驱动器:
除了添加的行之外,这些行是相同的,并且对于在和
cdrom-detect/try-usb=true noprompt
中更改的所有其他行也是如此。这是 Linux 内核的一个选项,允许从 USB 或 CD 而不是内部 HDD [1] 引导。loopback.cfg
grub.cfg
附带说明一下,这些更改是有意为之的,但在 ISO 下载或写入 CD/USB 期间可能会发生错误或损坏。但是,发生错误的概率与文件大小成正比 [2],因此与这些小文件(每个约 1kB)相比,在大文件(大小为几 GB)中您更有可能看到位错误或损坏. 此外,新文件比原始文件稍大,但错误更有可能导致位被翻转或丢失,而不是添加新位。
[1] - https://help.ubuntu.com/community/BootFromUSB
[2] - https://help.ubuntu.com/community/HowToMD5SUM