我的电脑启动至 grub 命令行。
$ ls
(hd0) (hd1) (hd1,gpt6) (hd1,gpt5) (hd1,gpt4) (hd1,gpt3) (hd1,gpt2) (hd1,gpt1)
(lvm/fedora-swap) (lvm/fedora-home) (lvm/fedora-root)
$ ls (hd1,gpt5)/
./ ../ lost+found/ efi/ extlinux/ grub2/ vmlinuz-4.10.12-200.fc25.x86_64
vmlinuz-4.10.10-200.fc25.x86_64 System.map-4.10.10-200.fc25.x86_64
config-4.10.10-200.fc25.x86_64 elf-memtest86+-5.0
System.map-4.10.12-200.fc25.x86_64 memtest86+-5.01
config-4.10.10-200.fc25.x86_64 .vmlinuz-4.10.12-200.fc25.x86_64.hmac
initramfs-4.10.12-200.fc25.x86_64.img vmlinuz-4.10.13-200.fc25.x86_64
System.map-4.10.13-200.fc25.x86_64 config-4.10.13-200.fc25.x86_64
.vmlinuz-4.10.13-200.fc25.x86_64.hmac
initramfs-4.13.12-200.fc25.x86_64.img .vmlinuz-4.10.10-200.fc25.x86_64.hmac
initramfs-4.10.10-200.fc25.x86_64.img
我试过了:
$ set root=(lvm/fedora-root)
$ linuxefi (hd1,gpt5)/vmlinuz-4.10.13-200.fc25.x86_64 root=/dev/sda5
$ initrd initramfs-4.13.12-200.fc25.x86_64.img
$ boot
之后,我得到:
[失败] 无法启动 Switch Root。有关详细信息,请参阅“systemctl status initrd-switch-root.service”。
生成“/run/initramfs/rdsosreport.txt”
进入紧急模式。退出外壳程序以继续。输入“journalctl”查看系统日志。您可能希望在安装后将“/run/initramfs/rdsosreport.txt”保存到 USB 记忆棒或 /boot 并将其附加到错误报告中。
答案1
我还能够使用以下命令使用内核 vmlinuz-4.2.3-300.fc23.x86_64 重现“无法启动 Switch Root”。
grub> linux /vmlinuz-4.2.3-300.fc23.x86_64 root=/dev/sda1
grub> initrd /initramfs-4.2.3-300.fc23.x86_64.img
grub> boot
在 GRUB 启动屏幕上,当我按 e 进行编辑时,我的系统上会显示以下内容。
linux16 /vmlinuz-4.2.3-300.fc23.x86_64 root=/dev/mapper/fedora-root rord.lvm.lv=fedora/root rd.lvm.lv=fedora/swap rhgb LANG=en_US.UTF-8
initrd16 /initramfs-4.2.3-300.fc23.x86_64.img
我记下了这些参数,然后再次按 c 返回到 GRUB 命令行。我将命令调整为与编辑屏幕上列出的命令类似。
grub> linux16 /vmlinuz-4.2.3-300.fc23.x86_64 root=/dev/mapper/fedora-root rord.lvm.lv=fedora/root rd.lvm.lv=fedora/swap rhgb LANG=en_US.UTF-8
grub> initrd16 /initramfs-4.2.3-300.fc23.x86_64.img
grub> boot
启动时不再显示“无法启动 Switch Root”。这对你也有用吗?