如何在GPT中创建GRUB2分区?

我有一个问题,就是无法启动Ubuntu,而且引导修复也没有帮助我。我在某个地方读到,当我的分区表是GPT时,我必须为GRUB2创建一个特殊的分区,例如Windows创建了一个名为Windows Boot Manager的特殊分区。有人能告诉我是否有必要这样做,或者是否有其他解决方案?我正在使用UEFI。有可能是我错误地使用了引导修复之类的东西。希望能得到帮助。
1个回答

你不需要为GRUB创建分区,它在Windows安装过程中已经创建好了。已经存在一个EFI分区,所有引导加载程序都必须安装在这个分区上。

要实现你想要的效果,请按照以下步骤进行操作,它们在大多数类似情况下都有效:

首先尝试在BIOS(UEFI)设置中更改启动顺序。
选择Ubuntu作为默认的操作系统启动。

如果这不可行或者在启动计算机时GRUB引导菜单没有显示出来,请进入Windows并禁用休眠快速启动

要禁用休眠,请以管理员身份打开命令提示符,然后执行以下命令:

powercfg /h off  

要禁用快速启动,请打开“控制面板”(旧版本-而不是现代设计),选择“能源设置”,启用“显示隐藏设置”并取消选中“快速启动”。
完成此操作后,完全关闭计算机-不要重新启动!
然后以EFI模式重新安装GRUB引导加载程序到您的Ubuntu安装。
从Ubuntu安装介质启动,然后打开终端并执行:
sudo mount /dev/sd*** /mnt
sudo mount /dev/sd** /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/sd*
update-grub  

现在您可以从GRUB引导加载程序菜单中选择要启动的操作系统。
注意: sd*=磁盘| sd**=EFI分区|sd***=系统分区
要识别分区号,请使用GParted。 该工具包含在Ubuntu安装媒体中。

我遇到了一些问题。重新安装GRUB引导加载程序是不同的操作,还是你稍后向我解释的那个?我需要通过Ubuntu Live(从U盘)或者“正常”的Ubuntu来执行这些命令吗?如果是的话,我无法启动Ubuntu(甚至在启动菜单中都找不到它),我可以使用这个链接吗:http://www.rodsbooks.com/refind/getting.html?最后一个问题,GParted找不到我的分区(可能是因为GPT),我可以使用其他替代品吗? - jakubby
@jakubby:这是相同的操作,但使用了内置的命令行工具(第三方工具并不总是能够正常工作)。按照我写的步骤进行操作:从Ubuntu安装介质启动... GParted将会找到所有的分区(只有在它们存在的情况下)- 这与GPT或MBR分区表无关!:) - cl-netbox
我做了。在执行命令后,显示操作已完成,但是没有任何变化:/ 如果你没有其他的想法,也许我应该重新安装Linux? - jakubby
@jakubby:是的,这总是一个选择,但在此之前,请尝试将默认系统从Windows更改为Ubuntu,通过BIOS / UEFI启动(这应该是可能的)!重要的是,在Windows中禁用休眠和快速启动!- 请回复结果- 我大约12小时后会回来- 祝你好运,朋友!:) - cl-netbox
我认为它被禁用了,因为我输入了"powercfg /h off"并使用了这个命令。 - jakubby
这个情况太奇怪了。重新安装Ubuntu时,我们有三个选项(擦除Ubuntu、分区或其他),当我尝试选择第一个选项时,被告知我的分区表将被更改,所以我选择了第三个选项,格式化ext4分区并开始安装。一切顺利进行。重新启动电脑后...我没有"grub菜单",无法选择操作系统。我真的真的快要放弃,把我的分区表从GPT改成MSDOS。之前我改变它是因为我读到GPT >> MSDOS。 - jakubby
@jakubby - 这也是一个选择...但是你将不得不 1. 重新安装Windows,然后之后 2. 重新安装Ubuntu!:) - cl-netbox
在重新安装 Windows 之后,我需要关闭休眠和快速启动吗?还是不必要的? - jakubby
@jakubby:是的,这是绝对必要的 - 否则电脑将始终以休眠模式启动!:) - cl-netbox
已经完成了,现在一切都好了。谢谢你的帮助和耐心! - jakubby