![修复 grub 以正确引导至 CentOS](https://linux22.com/image/204129/%E4%BF%AE%E5%A4%8D%20grub%20%E4%BB%A5%E6%AD%A3%E7%A1%AE%E5%BC%95%E5%AF%BC%E8%87%B3%20CentOS.png)
我有一台双启动计算机,上面装有 Windows 和 CentOS 8 [A],每个都位于不同的分区。我创建了一个新分区并在其上成功安装了 CentOS Stream [B],但现在我无法启动到 [A]。
我该如何修复它?
更多细节
磁盘分区:
/dev/nvm...p1: /boot
/dev/nvm...p2 to /dev/nvm...p4: not relevant
/dev/nvm...p5: /home partition of [A]
/dev/nvm...p6: swap
/dev/nvm...p7: xfs
/dev/nvm...p8: Logival volume with three subpartitions(?).
- /dev/cl/root: /root of [A]
- /dev/cl/home: Not in use.
- /dev/cl/swap: swap created when installing [A]
/dev/nvm...p9: xfs
/dev/nvm...p10: Logival volume with two subpartitions(?).
- /dev/cs/root: [B]
- /dev/cs/swap: swap created when installing [B]
我尝试过什么?:
启动到 [B] 后,我首先用 替换文件中cs/root
对的所有引用。然后我执行了,正如我在本文中读到的那样cl/root
/etc/default/grub
grub2-mkconfig -o "$(readlink -e /etc/grub.cfg)"
问题。
重新启动后,grub 菜单中会出现四个 CentOS 8 条目。但是,当我尝试启动其中任何一个时,系统进入紧急模式并显示以下错误:[Failed] Failed to start Switch Root.
Running systemctl status initrd-switch-root.service
, as suggested这里,导致错误描述Failed to switch root: Specified switch root path '/sysroot' does not seem to be an OS tree. os-release file is missing.
。我已经尝试了那里提出的解决方案(重新安装/sysroot
并etc/os-release
在其中创建文件),但它不起作用。主树下已经有一个现有/etc/os-release
文件。此时,/dev/cl/home
已安装在/sysroot
.
我还可以做些什么?非常感谢!