Mat*_*zzi 11 boot grub2 dual-boot
我在 UEFI 系统上有一个双启动 Ubuntu + Windows 8。一切正常,直到我从 13.10 升级到 Ubuntu 14.04。
现在,当我启动电脑时,我得到的是一个 grub 救援屏幕,如下所示:
Failed to open \EFI\Microsoft\Boot\grubx64.efi - 800000000000000E
Failed to load image
Failed to open \EFI\Microsoft\Boot\MokManager.efi.efi - 800000000000000E
Failed to load image
Welcome to GRUB!
error: symbol 'grub_term_highlight_color' not found.
grub rescue>
Run Code Online (Sandbox Code Playgroud)
使用来自 live cd(13.10 或 14.10)的引导修复报告发生错误并创建此报告:http : //paste2.org/Y8mDwa0M
(引导修复说它将安装来自 Ubuntu 13.10 的软件包)
但没有任何变化。
如果我在启动时按 f12,我会进入一个 bios 屏幕(启动菜单),在那里我可以从 hdd、usb、dvd 阅读器中进行选择,如果我点击 HDD,我会得到三个选择:
选择要启动的设备:
Windows Boot Manager
ubuntu
Ubuntu
Run Code Online (Sandbox Code Playgroud)
Windows 选项带我回到 grub 救援。
使用其他两个选项,我进入了一个 grub 菜单,我可以在其中启动 Ubuntu,但窗口选项不起作用
我不知道该怎么办了
更新:
感谢您的回答,我实际上尝试了所有这些(在 U 盘上从不同版本的 Ubuntu 重新安装了 grub 超过 5 次,并使用了很多次启动修复,但没有任何效果)
最后,我使用 rEFInd ( http://www.rodsbooks.com/refind/getting.html ),它允许我进入 grub,从中我可以启动 Ubuntu(但不是 Windows)并自行启动 Windows使用 rEFInd 菜单。
但这当然不是理想的解决方案
更新 2:
我只有一张磁盘:
更新 3:
这是我尝试安装 grub 或运行 grub-install 时出现的错误:
Installing for i386-pc platform.
grub-install: Warning: This GPT partition label has no BIOS Boot Partition, the embed is not possible.
grub-install: Warning: This embed is not possible. GRUB can only be installed in this configuration using blocklist. The blocklist however, are not reliable and it is not recommended to use ..
Installation completed, no errors reported.
Generating grub configuration file ...
Found linux image: / boot/vmlinuz-3.13.0-24-generic
Found initrd image: / boot/initrd.img-3.13.0-24-generic
Found linux image: / boot/vmlinuz-3.11.0-19-generic
Found initrd image: / boot/initrd.img-3.11.0-19-generic
Found linux image: / boot/vmlinuz-3.11.0-7-generic
Found initrd image: / boot/initrd.img-3.11.0-7-generic
Found linux image: / boot/vmlinuz-3.11.0-5-generic
Found initrd image: / boot/initrd.img-3.11.0-5-generic
Found linux image: / boot/vmlinuz-3.11.0-4-generic
Found initrd image: / boot/initrd.img-3.11.0-4-generic
Found linux image: / boot/vmlinuz-3.11.0-3-generic
Found initrd image: / boot/initrd.img-3.11.0-3-generic
Found linux image: / boot/vmlinuz-3.11.0-2-generic
Found initrd image: / boot/initrd.img-3.11.0-2-generic
Found Windows Boot Manager on / dev/sda2 @ / EFI / Microsoft / Boot / Bootmgfw.efi
Adding boot menu entry for the EFI firmware configuration
done
Run Code Online (Sandbox Code Playgroud)
(翻译自意大利语)
我没有在 14.04 中使用损坏的 grub 进行测试,但使用以下说明从未遇到过麻烦:https :
//wiki.ubuntu.com/Grub2#Recover
首先,您必须从 live cd 或 usb 启动系统。然后
"方法 3 - CHROOT
这种安装方法使用 chroot 命令来访问损坏的系统文件。发出 chroot 命令后,LiveCD 会将损坏的系统的 / 视为自己的。在 chroot 环境中运行的命令将影响损坏的系统文件系统,而不是 LiveCD 的文件系统。
1)启动到 LiveCD 桌面(Ubuntu 9.10 或更高版本)。请注意,Live CD 必须与您正在修复的系统相同 - 32 位或 64 位(如果不是,则 chroot 将失败)。
2)打开终端(应用程序 > 附件 > 终端)。
3)确定你的正常系统分区——(开关是小写的“L”)
须藤 fdisk -l
如果您不确定,请运行
df -Th
Run Code Online (Sandbox Code Playgroud)
寻找正确的磁盘大小和 ext3 或 ext4 格式。
4)挂载正常的系统分区:
替换正确的分区:sda1、sdb5 等。
sudo mount /dev/sdXX /mnt
Run Code Online (Sandbox Code Playgroud)
示例:sudo mount /dev/sda1 /mnt
5)仅当您有单独的引导分区时:sdYY 是 /boot 分区名称(例如 sdb3)
须藤挂载 /dev/sdYY /mnt/boot6) 挂载关键的虚拟文件系统:
须藤挂载 --bind /dev /mnt/dev 须藤挂载 --bind /dev/pts /mnt/dev/pts 须藤挂载 --bind /proc /mnt/proc 须藤挂载 --bind /sys /mnt/sys7) Chroot 进入您的正常系统设备:
须藤 chroot /mnt
8)如果没有/boot/grub/grub.cfg 或者它不正确,使用创建一个
更新 grub
9) 重新安装 GRUB 2:
替换正确的设备 - sda、sdb 等。不要指定分区号。
grub 安装 /dev/sdX
10)验证安装(使用正确的设备,例如 sda。不要指定分区):
须藤 grub-install --recheck /dev/sdX
11) 退出 chroot:键盘上的 CTRL-D
12) 卸载虚拟文件系统:
须藤卸载 /mnt/dev/pts 须藤卸载 /mnt/dev 须藤卸载 /mnt/proc 须藤卸载 /mnt/sys
13) 如果你挂载了一个单独的 /boot 分区:
须藤卸载 /mnt/boot
14) 卸载 LiveCD 的 /usr 目录:
须藤卸载 /mnt/usr
15) 卸载最后一个设备:
须藤卸载 /mnt
16) 重新启动。
须藤重启”
还有这些是修复 grub 的其他方法:我如何修复 grub?(安装 Windows 后如何取回 Ubuntu?)
小智 2
我曾经也有过一样的问题。我的猜测是,由于我有两个硬盘,系统正尝试从安装了旧版本 GRUB 的错误驱动器启动。我的解决方案是使用 U 盘启动 Ubuntu(无论哪个版本)。启动后,这些命令将执行此操作,以 root 身份运行:
mkdir /tmp/drive
sudo mount /dev/sdX1 /tmp/drive
sudo mount --bind /dev /tmp/drive/dev
sudo mount --bind /proc /tmp/drive/proc
sudo mount --bind /sys /tmp/drive/sys
sudo chroot /tmp/drive
dpkg-reconfigure grub-pc
Run Code Online (Sandbox Code Playgroud)
其中 sdX1 必须是安装系统的驱动器。当您运行最后一个命令时,您应该选择 sdX 驱动器,尽管我猜多次运行它会在每个驱动器上安装新版本的 grub,并让您放心。
小智 1
我从 13.10 升级到 14.04 时遇到同样的错误。这些说明对我来说看起来有点令人畏惧。
我最终创建了一个带有 Super Grub Disk 的可启动 USB 驱动器。 http://www.supergrubdisk.org/
从此启动。启动时告诉它检测已安装的操作系统。它找到了我安装的 Ubuntu 14.04,所以我告诉它启动它。开机没问题。
我的系统上已经安装了引导修复。 https://sourceforge.net/p/boot-repair
运行并接受默认更改。
关闭。从插槽中取出 USB 驱动器,按下电源并屏住呼吸等待。
系统正常启动!问题解决了。
归档时间: |
|
查看次数: |
31402 次 |
最近记录: |