在安装Ubuntu 14.04之后,我在GRUB中丢失了Windows 7。

今天我决定在之前与Win 7双启动的Ubuntu 13.10(32位)上安装新的14.04(64位)。安装14.04时,给了我几个选项,其中一个是重新安装Ubuntu而不丢失我的文件和应用程序(如果可能的话)。安装过程结束后,像往常一样提示我重新启动,但这次GRUB菜单没有出现,无法选择是启动Windows还是Ubuntu,现在只能启动Ubuntu。我用Gparted检查了分区,Win7还在那里。
所以,有办法让GRUB再次看到两个操作系统吗?如何操作?
提前感谢!

按住Shift键启动时,会显示GRUB菜单,然后您可以手动启动Windows。http://ubuntuforums.org/showthread.php?t=1674192 ... 另外,我了解到GRUB可以通过修改文本文件来进行配置,如果有人知道应该修改哪个文件以及如何修改,请尽可能提供帮助。我自己已经很久没有这样做了(当时使用的是Puppy Linux,所以可以阅读它们的文档以获取帮助:http://puppylinux.org/wikka/GRUB)... 这里有一个关于Ubuntu版本GRUB的文档:https://help.ubuntu.com/community/Grub2 - Konner Rasmussen
8个回答

我在安装Kubuntu 14.04覆盖(损坏的)13.10后遇到了同样的问题。我找到了一个小小的解决方案来恢复grub功能:
只需打开终端并输入
sudo update-grub

嗨,我不认为仅凭这个就能恢复启动进入Windows的能力。 - NGRhodes
5好的,确实是这样。实际上,在我执行这个命令之前,启动时根本没有显示 grub。相反,(k)ubuntu 直接启动了。当我执行了这个命令后,它给了我一个输出,列出了找到的操作系统。从那时起,启动菜单就会出现,并在其中列出 windows。 - Arne.
这就是我一直在寻找的答案。简单明了,而且有效。非常感谢。 - Steve McGuire
即使这在我的Ubuntu 16.04 LTS上也有效。 - RIYAJ KHAN
啊,我本来想做这个的,但是感觉太简单了。给你一个赞,让我感觉自己好笨! - anon

从我安装在电脑上的Ubuntu版本的live USB启动,并通过在终端中输入以下命令来安装Boot Repair:
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo sed 's/trusty/saucy/g' -i /etc/apt/sources.list.d/yannubuntu-boot-repair-trusty.list
sudo apt-get update
sudo apt-get install -y boot-repair && (boot-repair &)

我运行了推荐的修复程序,并按照终端给出的命令进行操作,但当它完成并重新启动后,仍然只能启动Ubuntu。然后我再次运行了引导修复程序,并在程序完成检查问题后,点击了“高级选项”-“引导位置”选项卡。在“默认引导的操作系统”下拉菜单中,有Ubuntu 14.04和Windows 7两个选项,所以我选择了Windows 7,然后点击“应用”。当过程完成后,我重新启动电脑,现在GRUB引导界面上有选项让我选择是要启动Ubuntu还是Windows。问题解决!
希望对你也有用!

当没有支持14.04的情况下,你是如何添加存储库的?我的意思是,命令sudo add-apt-repository ppa:yannubuntu/boot-repair应该会返回错误并且不会添加任何内容。 - NickTux
是的,我也注意到了同样的事情,但是在我写完这里之后才意识到,不过我尝试了一下,真的出乎意料地有效。我不是那么高级的用户,无法得出为什么会有效的结论,在这种情况下,我很高兴自己不是高级用户,否则可能就不会尝试了,哈哈哈。对不起,我的回答没有帮到你。 - Valentin

从USB/CD启动Ubuntu或任何Linux发行版,然后打开终端并输入以下命令sudo fdisk -l以查看所有硬盘的分区。
然后您需要识别Ubuntu分区,并挂载您的Ubuntu分区,选择您通常安装它的分区(通常是sda1),您可以使用命令"fdisk"或使用GParted来检查它。 sudo mount /dev/sda1 /mnt 然后挂载其他设备。
sudo mount --bind /dev /mnt/dev    
sudo mount --bind /dev/pts /mnt/dev/pts    
sudo mount --bind /proc /mnt/proc    
sudo mount --bind /sys /mnt/sys 

现在运行chroot命令以获得完全的root访问权限 sudo chroot /mnt
之后运行grub-install --recheck /dev/sda命令,但请确保将sda替换为您用于引导系统的设备(只需输入sda,不要输入分区号)
最后,自动调整GRUB菜单提示 sudo update-grub2
如果不起作用,请连接到互联网并运行以下命令 sudo apt-get install grub2
如果您有任何问题,请随时提问。当GRUB无法正常工作时,我总是使用这个步骤。我已经从一份西班牙文档中翻译了这些指示,请在有问题时提问。

很不幸,我在尝试安装一个似乎是损坏的Ubuntu 15.04后遇到了这个问题 - 安装完成后,我进入了一个配置严重破坏的OpenBox WM。此外,在这个过程中,我的Windows 7硬盘(独立驱动器)不知何故也被损坏了。
在Windows CD修复模式的命令提示符中,先执行"bootrec /fixmbr",然后执行"bootrec /fixboot",最后从Windows CD运行启动修复程序,这样我才能进入机器。然而,我的文件系统已经被破坏 - Steam、驱动程序等都受到了损坏。我很惊讶我居然能够登录。
重新安装了系统。先安装Windows,然后安装Ubuntu 14.04,这次没有出现任何问题。

尝试重新安装 grub,请在终端中输入: sudo grub-install /dev/sd_(其中 sd_ 是要安装引导加载程序的设备),然后执行 sudo grub-update,希望这能帮到你。 注意:/dev/sda 中的 sda 可能是您安装 grub 的设备。

只需要在终端输入两个命令,你就可以完成了。
sudo os-prober
sudo update-grub

现在只需重新启动您的系统即可。

os-prober仅仅是用来寻找操作系统的。它不会以任何方式改变系统配置。这里唯一有用的命令是update-grub(默认配置为调用os-prober并使用其结果),这使得这个答案成为重复的。 - David Foerster

我在将Xubuntu从13.10升级到14.04时,也遇到了这个 grub 错误 "symbol 'grub_term_highlight_color' not found"。我的电脑是双分区的 Windows 8.1/Xubuntu。以前我升级 Xubuntu 从来没有出过问题,但是昨晚从13.10升级到14.04后,我发现自己陷入了 grub rescue 提示符中。鉴于我以前从未遇到过这个问题,我决定尝试一下 Boot Repair 工具,详细步骤可以在这里找到:https://help.ubuntu.com/community/Boot-Repair。由于我无法创建 Boot Repair CD,所以我选择了该帮助页面上提到的“第二个选项”。
以下是我具体的操作步骤:
在我的笔记本电脑上,我访问了 xubuntu dot org 网站,下载了 Live Xubuntu ISO 文件。如果你有可写光驱,你肯定可以用这个 ISO 文件创建一个 LiveCD(可能还可以创建 Boot Repair CD),但是我的笔记本电脑没有光驱。
所以,我接着创建了一个可启动的Xubuntu 14.04 LiveUSB。我遵循的创建LiveUSB的指南可以在这里找到:http://blog.tinned-software.net/create-bootable-usb-stick-from-iso-in-mac-os-x/(请注意,考虑到我的笔记本电脑的Mac OS需要使用“sudo”命令来写入格式化的USB,详细信息请参阅该帖子的评论部分)。
手头有完成的Xubuntu LiveUSB后,我重新启动了出现grub错误的计算机,并更改了引导菜单以识别LiveUSB,然后加载了Xubuntu Live。 当LiveUSB询问我是要尝试还是安装时,我选择了“尝试Xubuntu”。这样加载了一个Xubuntu会话,显示了我所有的分区作为桌面图标。
我打开了一个终端,并按照上述链接的Boot Repair帮助页面中的说明运行了以下命令。
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo sed 's/trusty/saucy/g' -i /etc/apt/sources.list.d/yannubuntu-boot-repair-trusty.list
sudo apt-get update
sudo apt-get install -y boot-repair && (boot-repair &)

我按照Boot Repair工具中的说明进行操作,这些说明相当易于理解。 Boot Repair识别了我的分区并运行了其进程,但以“错误”Ubuntu Pastebin地址完成。我将其复制下来,但似乎该错误与机器上没有操作系统的额外驱动器相关。无论错误如何,Boot Repair仍然提供重新启动选项,所以我这样做了。
我显然确保我的引导菜单指向正确的驱动器,喔! Grub再次认出了我所有的分区,就像它应该的那样。我加载了Xubuntu,看起来14.04现在运行得非常好,因为Boot Repair已经完成了它的工作。此外,我也可以正常地加载Windows 8.1。
希望我的笔记对某些人有用。我感激Boot Repair和所有专注于故障排除的人们!

首先从live ubuntu光盘或live ubuntu闪存驱动器启动,并连接到互联网。之后,使用ctlr+alt+T键进入终端,然后只需使用下面的命令。
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo sed 's/trusty/saucy/g' -i /etc/apt/sources.list.d/yannubuntu-boot-repair-trusty.list
sudo apt-get update
sudo apt-get install -y boot-repair && (boot-repair &)

这实际上解决了我在启动方面遇到的任何问题。你会找到一个附带的链接,里面有截图和清晰的指示。玩得开心。
参考链接: 关注我以获取进一步的澄清!

  • 相关问题