Ubuntu无法引导时如何修复GRUB2

Ubuntu和许多其他Linux发行版使用GRUB2引导加载程序。如果GRUB2崩溃-例如,如果您在安装Ubuntu之后安装Windows,或者覆盖您的MBR-您将无法引导到Ubuntu。

您可以轻松地从Ubuntu live CD或USB驱动器恢复GRUB2。此过程与在较旧的Linux发行版上恢复遗留GRUB引导加载程序不同。

这个过程应该适用于所有版本的Ubuntu。它已经在Ubuntu 16.04和Ubuntu 14.04上进行了测试。

图形化方法:引导修复

相关:如何从光盘或USB驱动器启动计算机

Boot Repair是一个图形化工具,只需单击一下即可修复GRUB2。对于大多数用户来说,这是解决引导问题的理想解决方案。

如果您有安装Ubuntu的介质,请将其插入计算机,重新启动,然后从可移动驱动器引导。如果没有,请下载Ubuntu live CD并将其刻录到光盘或创建可引导的USB闪存驱动器。

当Ubuntu启动时,单击“尝试Ubuntu”以获得可用的桌面环境。

在继续之前,请确保您已连接到Internet。您可能需要选择Wi-Fi网络并输入其密码。

从仪表盘打开终端窗口,然后运行以下命令来安装和启动引导修复:

sudo apt-add-repository ppa:yannubuntu/boot-repair sudo apt-get update sudo apt-get install -y boot-repair boot-repair

运行Boot-Repair命令后,Boot Repair窗口将自动扫描您的系统。扫描您的系统后,单击“建议修复”按钮即可修复GRUB2。

你可以选择在这里使用高级选项,但Ubuntu的维基建议你不要使用高级选项,除非你知道自己在做什么。推荐的修复选项可以自动修复大多数问题,如果选择了错误的高级选项,您的系统可能会更加混乱。

引导修复将开始工作。它可能会要求您打开一个终端,然后将几个命令复制/粘贴到其中。

只需按照屏幕上显示的说明操作即可。执行Boot Repair希望您执行的说明,然后单击“前进”继续完成向导。该工具将引导您完成需要执行的所有操作。

在引导修复工具应用完更改后重新启动计算机。Ubuntu应该可以正常启动。

终端方法

如果您更愿意动手,您可以在终端自己做这件事。您需要从live CD或USB驱动器引导,如上面的图形化方法所示。确保CD上的Ubuntu版本与您计算机上安装的Ubuntu版本相同。例如,如果您安装了Ubuntu14.04,请确保您使用的是Ubuntu 14.04live CD。

引导进入实时环境后打开终端。使用以下命令之一标识安装了Ubuntu的分区:

sudo fdisk -l sudo blkid

下面是这两个命令的输出。在fdisk-l命令中,Ubuntu分区由SYSTEM列中的LINUX分区标识。在blKID命令中,分区由其ext4文件系统标识。

如果您有多个Linux ext4分区,您可以通过查看分区的大小及其在磁盘上的顺序来了解是哪个分区。

运行以下命令将Ubuntu分区挂载到/mnt/ubuntu,将上述命令中的/dev/sdx#替换为您的Ubuntu分区的设备名称:

sudo mkdir /mnt/ubuntu sudo mount /dev/sdX# /mnt/ubuntu

在上面的屏幕截图中,我们的Ubuntu分区是/dev/sda1。这意味着第一个硬盘设备上的第一个分区。

重要提示:如果您有单独的引导分区,请跳过上述命令,改为将引导分区挂载到/mnt/ubuntu/boot。如果您不知道是否有单独的引导分区,则可能没有。

运行以下命令从Live CD重新安装GRUB,并将/dev/sdx替换为上面硬盘的设备名称。省略数字。例如,如果您在上面使用了/dev/sda1,那么在这里使用/dev/sda。

sudo grub-install --boot-directory=/mnt/ubuntu/boot /dev/sdX

重新启动计算机,Ubuntu应该可以正常启动。

有关更详细的技术信息,包括如何使用chroot命令访问损坏的Ubuntu系统的文件和恢复GRUB2,请参考Ubuntu wiki。

相关文章