我听说 Windows 引导加载程序会覆盖 GRUB,所以我该怎么做才能重新安装 GRUB 引导加载程序。
答案1
在“试用 Ubuntu”模式下从实时 CD 或实时 USB 启动。确定主分区的分区号。GParted(默认情况下应该已在实时会话中安装)可以为您提供帮助。我将在此答案中假设它是 /dev/sda2,但请确保您使用系统的正确分区号!
Mount your partition:
sudo mount /dev/sda2 /mnt #Replace sda2 with your partition number
Bind mount some other necessary stuff:
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
chroot into your Ubuntu install:
sudo chroot /mnt
At this point, you're in your install, not the live session, and running as root. Update grub:
update-grub
If you get errors, go to step 7. (Otherwise, it is optional.)
Depending on your situation, you might have to reinstall grub:
grub-install /dev/sda
update-grub # I'm not sure if this is necessary, but it doesn't hurt.
If everything worked without errors, then you're all set:
exit
sudo reboot
At this point, you should be able to boot normally.
如果您无法正常启动,并且由于没有错误消息而未执行步骤 7,请重试步骤 7。
有时,仅为您的分区提供正确的 GRUB2 配置是不够的,您必须将其安装(或重新安装)到主引导记录,这是第 7 步所做的。在聊天中帮助用户的经验表明,即使没有显示任何错误消息,第 7 步有时也是必要的
答案2
从 Ubuntu 安装介质启动并选择无需安装即可试用 Ubuntu。进入 Ubuntu Live 桌面后,打开终端并执行以下命令。
如果您的机器有UEFI BIOS并且 Windows 和 Ubuntu 都以 EFI 模式安装:
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
注意:sd*
= 磁盘 | sd**
= efi 分区 | sd***
= 系统分区
如果有的话旧版 BIOSWindows 和 Ubuntu 以 MBR(msdos)模式安装:
sudo mount /dev/sd** /mnt
sudo grub-install --boot-directory=/mnt/boot /dev/sd*
注意:sd*
= 磁盘 | sd**
= 系统分区
要识别磁盘和分区号,您可以使用分区- 它包含在安装媒体中。