我安装了 Windows 7,它占用了 Ubuntu 的启动文件。现在启动电脑时,它会直接进入 Windows,而不给我启动 Ubuntu 的选项。
我怎样才能恢复 Ubuntu?
答案1
当您安装 Windows 时,Windows 会假定它是机器上唯一的操作系统 (OS),或者至少它不考虑 Linux。因此,它会用自己的引导加载程序替换 GRUB。您需要做的是用 GRUB 替换 Windows 引导加载程序。我见过各种通过乱搞 GRUB 命令或类似命令来替换 GRUB 的说明,但对我来说,最简单的方法是直接chroot
进入您的安装并运行update-grub
. 。chroot
这很棒,因为它允许您在实际安装上工作,而不是尝试在这里和那里重定向内容。它真的很干净。
就是这样:
在“尝试 Ubuntu”模式下从实时 CD 或实时 USB 启动。
确定主分区的分区号。
sudo fdisk -l
或sudo blkid
GParted(默认情况下应该已在实时会话中安装)可以为您提供帮助。我在此假设它是/dev/sda2
,但确保您的系统使用了正确的分区号!如果您的主分区位于 LVM 中,设备将位于
/dev/mapper/
,最有可能的是,/dev/mapper/{volume}--{os}-root
其中{volume}
是 LVM 卷名称,{os}
是操作系统。执行ls /dev/mapper
以获取确切的名称。挂载你的分区:
sudo mount /dev/sda2 /mnt #Replace sda2 with the partition from step 2
如果您有单独的
/boot
、/var
或/usr
分区,重复步骤 2 和 3 将这些分区分别挂载到/mnt/boot
、/mnt/var
和/mnt/usr
。例如,sudo mount /dev/sdXW /mnt/boot sudo mount /dev/sdXY /mnt/var sudo mount /dev/sdXZ /mnt/usr
sdXW
将、sdXY
和替换sdXZ
为相应的分区号。绑定安装一些其他必要的东西:
for i in /sys /proc /run /dev; do sudo mount --rbind "$i" "/mnt$i"; done
如果 Ubuntu 安装在 EFI 模式下(如果你不确定,请参阅此答案),使用
sudo fdisk -l | grep -i efi
或 GParted 找到您的 EFI 分区。它将有一个标签EFI
。挂载此分区,将其替换sdXY
为您系统的实际分区号:sudo mount /dev/sdXY /mnt/boot/efi
chroot
进入你的 Ubuntu 安装:sudo chroot /mnt
此时,您处于安装状态,而不是实时会话,并以 root 身份运行。更新 grub:
update-grub
如果出现错误或者执行到步骤 7 无法解决问题,请转至步骤 8。(否则,这是可选的。)
根据您的情况,您可能必须重新安装 grub:
grub-install /dev/sda update-grub # In order to find and add windows to grub menu.
如果 Ubuntu 安装在 EFI 模式下,并且 EFI 分区 UUID 已更改,则可能需要在 中更新它
/etc/fstab
。比较它:blkid | grep -i efi grep -i efi /etc/fstab
如果当前 EFI 分区 UUID(来自
blkid
)与中的不同/etc/fstab
,则/etc/fstab
使用当前 UUID 进行更新。如果一切顺利,没有错误,那么一切就完成了:
exit sudo reboot
此时您应该可以正常启动。
如果您无法正常启动,并且由于没有错误消息而未执行步骤 8,请重试步骤 8。
- 有时给 GRUB2 正确的配置为您的分区安装此文件是不够的,您必须将其安装(或重新安装)到主引导记录,步骤 8 就是这么做的。在聊天中帮助用户的经验表明,即使没有显示任何错误消息,步骤 8 有时也是必要的。
答案2
Windows 安装程序不关心系统中的其他操作系统。因此,它会在主引导记录上写入自己的代码。幸运的是,解决方案也很简单。
您需要修复 MBR。请执行以下操作
使用 ubuntu 的实时 usb/cd 启动。用来boot-repair
修复问题。
使用 live usb/cd 启动后,在终端中运行以下命令:
sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
使用Recomended Repair
。
答案3
从实时 Ubuntu USB 驱动器或 CD 启动并
按照以下步骤在 Ubuntu 上安装 Boot-Repair
打开终端并运行以下命令
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair
安装完成后,如果您使用 Gnome,可以从系统->管理->启动修复菜单启动它;如果您使用 Unity,则在面板中搜索“启动修复”。然后按照以下屏幕截图操作:
方法 1
- 点击高级选项
- 勾选下面显示的选项
- 将选项卡改为Grub Location选项卡,并勾选如图所示的选项
按“应用”并重新启动系统
方法 2
- 选择推荐的启动修复选项,如第一张截图所示
答案4
easyBCD
只需在 Windows 7 中 安装并执行
添加新条目 > Linux/BSD > (选择)Grub2 > (推送)添加条目
然后你可以选择Ubuntu在 Windows 7 引导加载程序上Grub2(以前的引导加载程序)。