CentOS uEFI 启动无法安装正确的驱动器:“/sysroot 似乎不是操作系统树”

CentOS uEFI 启动无法安装正确的驱动器:“/sysroot 似乎不是操作系统树”

我刚刚在 MacBook Pro 上安装了 CentOS 7,并使用 SD 卡从 rEFInd 运行了第一次安装后引导。一开始启动过程似乎可以正常工作,但最终失败并显示以下消息:

> Failed to switch root: Specified switch root path /sysroot does not seem to be an OS tree. os-release file is missing.

然后它会失败并返回到紧急 shell。

经过一番摆弄后,我发现findmnt -lo source没有安装任何物理驱动器(/dev/sdX)。所以我猜测并手动安装我的分区以/sysroot使用:

mount -t ext4 --source /dev/sda4 --target /sysroot

…成功了。然后我退出了紧急 shell,系统正常启动了。

我的问题似乎很简单(从我的第一个猜测修复了启动这一事实来看),但我通过互联网的搜索并没有产生非常有用的结果。简单的问题是:我的 UEFI 启动设置中有什么问题(或者我应该寻找什么)导致无法安装正确的驱动器,以及如何修复它?

谢谢!

答案1

这花了我一整天的时间,但我发现了以下对我有用的东西:

genisoimage -U -r -v -T -J -joliet-long -V "CentOS 7 x86_64" -volset "CentOS 7 x86_64" -A "CentOS 7 x86_64" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot -o ../new.iso .

重要的提示:-V和 参数-volset必须-A匹配标签=文件中的值isolinux/isolinux.cfg!!! (例如附加 initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64安静的)

看:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/anaconda_customization_guide/sect-iso-images”。参见“2.3。创建自定义启动映像”部分。

我忽略的关键是 ISO 标签和引导加载程序行之间的相关性。我也没有在网上找到快速答案,直到我找到了 redhat 页面的正确部分。

相关内容