为什么启动计算机时未显示Grub菜单?


13

我是Ubuntu 12.04的新用户。

我安装了Ubuntu和Windows XP,并且想同时使用这两种操作系统。当我重新启动或引导PC时,不会出现GRUB菜单。

我怎么解决这个问题?


1
您能否添加更多详细信息-您的PC是否可以在不显示grub的情况下直接启动到Ubuntu?还是直接启动到XP而不会显示grub?是否显示任何错误或消息?您的PC和Monitor规格是什么?
Fernhill Linux项目

Answers:


15

在启动过程中按住Shift键,即可一次性获得菜单。

您还可以通过在开头添加#来修改/ etc / default / grub注释掉该行:

# GRUB_HIDDEN_TIMEOUT=0

这将使grub菜单显示秒数,GRUB_TIMEOUT然后选择默认值并启动它。

如果您已修改此文件,则需要运行update-grub使其生效。每次安装新内核时,它将自动运行sudo apt full-upgrade

sudo update-grub

Tiptop。我使用的是Fedora 29,但是grub选项被隐藏了,只是获得了“ DELL”徽标。反复轻击 SHIFT(相对于按住 Shift键)会弹出内核选择菜单。
David Tonhofer

是否update-grub在UEFI机器还工作吗?
David Tonhofer

@DavidTonhofer不确定,但是可以Esc代替ShiftUefi使用。参见askubuntu.com/a/16049/148598
jtpereyda

2

我假设您尝试在Ubuntu安装后安装Windows XP.Windows loader将替换GRUB loader。因此,您需要重新安装GRUB。前提是您在安装Windows XP时未格式化Ubuntu文件系统。

重新安装GRUB(GRand Unified Bootloader):

  1. 用UBUNTU live dvd / cd *引导系统。
  2. 先挂载安装了UBUNTU的分区,即根分区(旧)。现在,它就像其他普通分区一样。
  3. 挂载分区后,该分区包含启动,主目录,根目录,usr,bin,tmp等文件夹。找到根分区的挂载点,它将位于/ media(例如:/ media / disk1或/ media / 234efsdfgg5dg435gh)和设备名称中,默认名称为/ dev / sda。如果有多个HD,则可以通过在终端(applications-> accessories-> terminal)“ sudo blkid”中键入此命令来查找。它显示所有分区及其设备名称,UUID等。仅取/ dev / sda或/ dev / sdb。
  4. 最后一步是打开终端并键入以下命令:

    sudo<space> grub-install<space> --root-directory=/media/<mount name> <space><device name>
    

    示例:sudo grub-install --root-directory=/media/disk1 /dev/sda 然后继续…。就这样 。重新启动,您将具有显示两个操作系统的启动菜单。

*选择哪个cd / dvd很重要,因为grub的版本不同。最好是使用相同版本的live cd / dvd。使用ubuntu 12.04 live cd。


2

请注意(至少在某些旧的Ubuntu安装中),如果通过USB安装,则可能会将GRUB写入USB而不是已安装的硬盘驱动器。

这个UbuntuForums线程进一步讨论了它,而oldfred的关于如何在那里修复它的解决方案也对我有用:

要从活动的系统(非仅限liveCD / DVD / USB)重新安装Grub-首先,您需要找到Ubuntu驱动器(例如sdb,但请确保使用驱动器而不是分区)。要找到它,使用

须藤fdisk -l

然后,例如,如果它是“ / dev / sdb”,则运行:

须藤grub-install / dev / sdb

如果返回任何错误,请运行:

sudo grub-install-重新检查/ dev / sdb

须藤更新

要查看grub2使用的驱动器,请查找以下行-grub-pc / install_devices:

sudo debconf-show grub-pc

sudo grub-probe -t设备/ boot / grub

要使grub2记住更新中的重新安装位置:

须藤dpkg重新配置grub-pc

从那里按Enter键进入第一页,使用空格键选择/取消选择驱动器,然后输入接受。同样,不要选择分区,而要选择整个驱动器。


1

我以前也遇到过类似的问题,BIOS之后是空白屏幕,直到使用旧的LCD监视器出现Ubuntu登录屏幕为止。监视器显示“频率超出范围”。

您可以通过在BIOS屏幕之后点击“向下箭头”键至少15秒钟,然后按“输入”来测试是否是这种情况。
如果Windows加载,则grub工作正常,但未显示。

可以通过使用引导修复高级部分中的“超出范围”选项或手动编辑grub来解决。

根据启动信息脚本的346至348行,应显示grub。

#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10

因此,使用该命令gksu gedit /etc/default/grub并取消注释/ #从启动信息脚本中第364行显示的哈希中删除哈希#GRUB_GFXMODE=640x480应该可以正常工作。
保存更改后,您将需要运行sudo update-grub

请查看此问题的答案,以获取有关使用这两种方法的说明。


0

Windows将在安装过程中覆盖启动扇区,从而杀死Grub。这意味着,请始终先安装Windows,然后再安装Ubuntu以进行双启动设置。

否则:任何类型的启动菜单都有很多可能出错的地方。我们将需要更多信息才能继续提供帮助。

关于您措辞问题的方式,我有些不安。您说:“从一开始我的桌面就不会显示grub菜单。” 您所说的“桌面”是什么意思?


0

我在这里结束时,正在寻找有相同问题的朋友的解决方案。

最终对他有用的方法:在引导过程中按F2键进入BIOS设置(在某些计算机上,它是不同的键,但通常为F2键)。检查引导顺序,并确保首先使用GRUB。



0

这对我有用:

$ sudo gedit /etc/default/grub

我更改了这两个:

GRUB_TIMEOUT_STYLE =隐藏-> GRUB_TIMEOUT_STYLE =菜单

GRUB_TIMEOUT = 0-> GRUB_TIMEOUT = 10

更改运行后 $ sudo update-grub

$ reboot

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.