我该如何修复分区表?(两个 grub)

我该如何修复分区表?(两个 grub)

我曾经愚蠢地以为我会照顾好我的 Ubuntu 安装(“这次我会的,我保证……”),所以当我第一次安装它时,我没有分离 /home 或任何东西。现在我有点想留下一些臃肿的东西。

我安装了 Kubuntu 15.10(引导式安装)。问题是我认为 GRUB 安装不正确。我打开笔记本电脑时得到的 GRUB 是我的以前的Ubuntu 安装(我必须更新 grub,这样我才能登录到我的新 Kubuntu 安装)。分区表很奇怪,因为我有标记为“boot”和“esp”的 fat32 空间,以及标记为“bios_grub”的“未知”分区。我怀疑 fat32 分区是实际正在使用的 grub,而这个未知分区应该是新的 grub。有趣的是,我已经从新的 Kubuntu 系统“安装”了 grub,但什么都没有改变。

随着时间的推移,我会将数据移至新分区,将其用作某种 /home 分区... 但现在我只想解决这个 Grub 混乱问题。我如何使用新安装的 grub,以便我可以放心地删除原始系统?

为了使其更清晰,布局如下:

GParted 布局(带注释)

提前致谢;任何帮助都值得感激 - 我已经阅读了很多关于 EFI 和 MBR 和 GPT 以及其他三四个字母的东西的文章,现在我比以往任何时候都更加困惑。

答案1

好的,经过大量研究和 G+ 社区的帮助(特别感谢 Sanja Bonic!)我知道该怎么做了。

基本上,sda1 分区是 EFI 分区,新电脑(如 Windows 8 电脑)的每个驱动器都必须有一个(我倾向于说仅有的一个)。所以我一直用它作为我的 EFI 分区。

我会用很多东西本网站,如果您发现自己处于类似的情况,您应该参考一下。

无论如何:我将 Xubuntu 实时启动到我的系统中(就像他在网站上说的那样,您必须将其作为 UEFI 系统启动)。然后您 chroot 到您自己的系统中(在我的情况下,是新的系统;gparted 映像中的 sda5)。为此,请执行以下命令:

sudo mount /dev/sda2 /mnt 

(将 sda2 替换为您的系统分区)

sudo mount /dev/sda1 /mnt/boot/efi

(用您的 EFI 分区替换 sda1)(请注意,您的系统可能在启动时没有“efi”文件夹;我使用“sudo mkdir /mnt/boot/efi”创建了一个,一切正常!)

for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done

sudo cp /etc/resolv.conf /mnt/etc/

(这个可以让网络在 chroot 之后可用)

modprobe efivars

sudo chroot /mnt

现在,由于我在 Xubuntu(基于 Ubuntu 的系统),我必须执行“apt-get”命令:

apt-get install --reinstall grub-efi-amd64

现在我们要撤消 chrooting 和所有挂载。

键入 Ctrl+D

然后这些命令:

for i in /sys /proc /dev/pts /dev; do sudo umount /mnt$i; done
sudo umount /mnt/boot/efi
sudo umount /mnt
sudo reboot

...就是这样!

答案2

您可以使用它sudo fdisk /dev/sda来为正确的分区设置启动标志。

如果您按“a”,系统会要求您选择要启用启动标志的分区。在本例中,您需要选择 1(取消设置)和 5(设置)。

我希望它能有所帮助,并且在使用 fdisk 时要格外小心!

相关内容