我通过这个制作了一个 usb Ubuntu LiveCD 20.04.2 桌面版本文章。
我检查了我的原始 iso sha256 是否正确。我还通过 rufus 检查了 usb block。结果是0 bad blocks found. (0/0.0 errors)
但在通过 Windows rufus 刷新 iso 后。并以 uefi 模式启动。可能会遇到:
Check finished: errors found in 1 files! You might encounter errors.
我遇到过这样的情况检查 1 个文件中发现的已完成错误。但最终还是没有答案。
有什么方法可以转储检查磁盘信息消息结果或检查文件/boot/grub/efi.img
是否正确/不正确?
/cdrom/boot/grub/efi.img
我已经检查了md5sum.txt 中相等的路径
有一些文章涉及这个问题 使用 20.04-desktop ISO 检查错误, 使用 20.04-desktop ISO 检查错误 但不是关于制作 Live CD。
答案1
遇到错误的原因是Ubuntu LiveCD中的md5sum脚本文章。
此脚本现在将生成isolinx
目录 md5sum。这在 Ubuntu 20.04.2 官方镜像上不是哈希值。(可能需要修改 wiki。你可以看到文章开头是 ubuntu-18.04-desktop-amd64.iso。但文章结尾是 ubuntu-9.04.1-desktop-i386-custom.iso。)
为了避免这个问题。你可以修改脚本
find -type f -print0 | sudo xargs -0 md5sum | grep -v isolinux/boot.cat | sudo tee md5sum.txt #original
到
find . -type f -not -name md5sum.txt -not -path '*/isolinux/*' -print0 | sudo xargs -0 md5sum | grep -v isolinux/boot.cat | sudo tee md5sum.txt #other people purposal
在这个问题中。它不是由 Windows rufus ESP 问题引起的。虽然 rufus 可能会导致同样的问题。(就像@Akeo 说的。rufus 更新到 3.15。在这个变更日志)
答案2
这是正常的。问题是它efi.img
被映射到 ESP(EFI 系统分区),Windows 在创建 USB 后会尝试挂载它,挂载后会System Volume Information\
在其中创建一个目录。这是一种(令人讨厌的)默认 Windows 行为,我们无法真正控制。
最终结果是 ESP 被修改,这意味着被boot/grub/efi.img
修改,因此校验和不匹配。然而,这是一个良性并不代表实际问题的问题。
新发布的 Rufus 3.15 试图添加防止 Windows 修改 ESP 的条款,以便校验和应该匹配,但我们能做的只有这么多,以对抗 Windows 的默认行为,理想情况下,Ubuntu(和其他发行版)最好不要尝试添加更多 ISOHybrid 黑客来将 ESP 映射到要进行校验和的文件上,而是只使用单身的分区,包含EFI和安装内容,当以DD模式写入映像时......