Fedora

在 GRUB 控制台上找不到 initrd 文件

  • May 6, 2017

我的電腦啟動到 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

在此之後,我得到:

$$ FAILED $$無法啟動 Switch Root。有關詳細資訊,請參閱“systemctl status initrd-switch-root.service”。 生成“/run/initramfs/rdsosreport.txt”

進入緊急模式。退出 shell 以繼續。鍵入“journalctl”以查看系統日誌。您可能希望在掛載它們後將“/run/initramfs/rdsosreport.txt”保存到 U 盤或 /boot 並將其附加到錯誤報告中。

我還能夠使用以下命令在核心 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”。這對你也有用嗎?

引用自:https://unix.stackexchange.com/questions/363312