我在笔记本电脑上使用 fedora 22 和 windows 8。最近我使用yum update
命令更新了 Fedora。当我重新启动 Fedora 时,启动菜单没有出现。相反,黑屏会出现以下消息:
Minimal BASH like line editing is supported. For the first word, TAB lists
possible command completions. anywhere else TAB lists possible device or file
completions.
我可以找回 Fedora 还是我必须重新安装它。
答案1
你可以拿回软呢帽。
每次更新/重新安装 grub2-efi 软件包(包括系统升级到下一个版本)时,我都会在笔记本电脑上遇到此问题。它会导致 grub2 启动进入某些类似于您的救援模式。
来自 Fedora 的 grub2-efi 软件包似乎无法在我的笔记本电脑上正确安装(华硕TX300,Fedora x86_64,版本 18 至 23)。
手动开机
您可以从 grub2 救援模式手动启动 Fedora,然后通过将 grub2 重新安装到磁盘来解决此问题。去做吧:
使用
ls
命令列出所有分区使用
linuxefi
(对于EFI)或linux16
(对于BIOS)命令指定linux内核文件,然后使用参数指定根分区root=
,例如:root=/dev/sdXN
如果您的根分区是一个简单分区- 或者
root=/dev/mapper/THE_ROOT_LOGICAL_VOLUME
如果您的根分区是 LVM 逻辑卷 - 或者
root=/dev/mdN
如果您的根分区是 RAID 阵列 - 或
root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
- 虽然这是通用形式,但由于 UUID 字符串很长,因此最容易输入错误。
例一:
linuxefi (hd2,gpt6)/vmlinuz-4.4.2-300.fc23.x86_64 root=/dev/sda8
.
示例二:linux16 (hd0,msdos1)/vmlinuz-4.4.2-300.fc23.x86_64 root=/dev/mapper/fedora-root
您可以使用TAB它来自动完成该
vmlinuz
部分。使用
initrdefi
(对于 EFI)或initrd16
(对于 BIOS)命令指定初始 ramdisk 文件。例一:
initrdefi (hd2,gpt6)/initramfs-4.4.2-300.fc23.x86_64.img
例二:initrd16 (hd0,msdos1)/initramfs-4.4.2-300.fc23.x86_64.img
输入
boot
启动 Fedora,这将使您的 Fedora 恢复活力。最后,通过在命令示例中指定参数来解决
grub2-install
问题 :--target x86_64-efi
grub2-install
grub2-install --target x86_64-efi
然后,重新启动以查看此问题是否已解决。
grub2-efi
下次更新/重新安装软件包时,不要忘记重复步骤 5
其他信息
我仍然不明白为什么这种情况发生在我的笔记本电脑上,而它在我的台式机(EFI,x86_64)上运行良好。可能与MicroSD/TF卡有关,但我不确定。当TF卡插入内置读卡器时,常常会导致块设备名称不固定:有时是/dev/sdb
(HDD是/dev/sdc
,SSD是/de/sda
),有时是/dev/sdc
(HDD是/dev/sdb
,SSD是/de/sda
)。
更深入的分析表明该/boot/efi/EFI/fedora/grubx64.efi
文件不包含根(分区)信息。在文件的以下 hexdump(实际上是从 hexedit 复制的)中/boot/efi/EFI/fedora/grubx64.efi
,“(,gpt6)/grub2" 当 grub2-efi 软件包更新/重新安装时,行中的字符串0001D2B0
不存在。
0001D290 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ................
0001D2A0 00 00 00 00 00 00 00 00 03 00 00 00 18 00 00 00 ................
0001D2B0 28 2C 67 70 74 36 29 2F 67 72 75 62 32 00 00 00 (,gpt6)/grub2...
0001D2C0 01 00 00 00 00 00 5A 5B 5D C3 41 56 41 55 41 54 ......Z[].AVAUAT
0001D2D0 55 48 89 F5 53 49 89 FC 48 8B 76 08 FF 55 00 85 UH..SI..H.v..U..
0001D2E0 C0 BB 01 00 00 00 0F 85 BC 00 00 00 4C 89 E7 89 ........L...L...
答案2
我在 Fedora 启动恢复中添加了“boot”目录;文件不存在错误消息消失了;在 Windows 10 更新导致 Fedora 双引导 grub 崩溃后,我可以使用您的解决方案将我的笔记本电脑重新启动到 Fedora -
linuxefi (hd2,gpt6)/boot/vmlinuz-4.4.2-300.fc23.x86_64 root=/dev/sda8
initdefi (hd2,gpt6)/boot/initramfs-4.4.2-300.fc23.x86_64.img