如何解决:错误:Ubuntu Linux 中没有这样的分区 grub救援
有一天,我试图扩展 Ubuntu 的根分区,我与 Windows 8 双启动。分区扩展成功,只是我搞砸了 Grub 配置。当我在分区更改后启动我的笔记本电脑时,我受到了 Linux 死亡屏幕的欢迎:
错误:没有这样的分区
grub救援
经过一番谷歌搜索后,我在 Ubuntu 论坛上发现了这个对我有帮助的大型帖子。但由于这是一个非常复杂的线程,我重新编写了教程,以便人们可以轻松地理解它。因此,有一些假设和一些要求来修复错误:没有这样的分区grub救援问题。
笔记
您可以阅读本教程来修复类似的 Grub 错误支持最小 BASH 等行编辑。对于第一个单词,TAB 列出了可能的命令完成。其他任何 TAB 都会列出可能的设备或文件完成。
要求和假设:
您必须拥有相同操作系统版本的 Live CD/DVD/USB
您必须有互联网连接
您正在使用 Ubuntu 双重启动 Windows(未安装 Wubi)
您没有单独的 /boot 分区
现在让我们看看如何拯救这里的幼虫。
如何修复:错误:没有这样的分区 grub rescue
我们将使用 chroot 来拯救 grub。整个概念是,由于 grub 配置文件已被删除或损坏,因此需要重新安装。并且使用确切操作系统版本的Live CD,我们可以再次安装grub配置。它将删除您对 grub 所做的所有更改(如果有)。
请按照以下步骤轻松修复 Ubuntu 中的 grub 救援问题(或其他 Linux 发行版):
第 1 步:了解根分区
从 Live CD、DVD 或 USB 驱动器启动。从 live disk 尝试 Ubuntu。打开终端 (Ctrl+Alt+T) 并使用以下命令:
sudo su
fdisk -l
在这里,您将看到驱动器名称和分区号。它应该看起来像sdXY。其中,X 是驱动器号,Y 是分区号。通常它应该类似于 sdaY。您必须识别安装 root 的分区。
第二步:挂载根分区
一旦我们获得了安装 root 的分区,我们将挂载安装 Ubuntu 的 root 分区。使用以下命令来挂载它:
sudo mkdir /mnt/temp
sudo mount /dev/sdXY /mnt/temp
将 XY 替换为适当的值。
第 3 步:成为 chroot
一旦我们安装了分区,下一步就是安装某些项目以准备 chroot。一一运行以下命令:
for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt/temp$i; done
sudo cp /etc/resolv.conf /mnt/temp/etc/resolv.conf
sudo chroot /mnt/temp
如果上述命令成功运行,您将在终端中看到 root@ubuntu:/# ,表明您处于 chroot 模式。
步骤 4:清除 Grub 2 软件包
现在,当我们处于 chroot 环境中时(您可以将其视为我们作为已安装分区的 root 运行),是时候删除 Grub 2 软件包了,但在此之前让我们更新存储库。
apt-get update
apt-get purge grub grub-pc grub-common
删除 grub 时,您会看到一个奇怪的屏幕,询问您是否要删除 Grub 2 软件包。 按 TAB 选择“是”。一旦选择,它将突出显示。 按 Enter 继续。
步骤 5:重新安装 Grub 软件包
当我们删除以前的 Grub 时,我们也删除了混乱的设置以及其中存储的所有喜爱的设置。现在我们将安装一个新的 Grub。在继续使用命令安装 Grub 之前,需要记住几件事。
安装新的 Grub 时,它会要求您添加额外的内核选项。只需按 TAB 转到“确定”,然后按 Enter 继续。
它将为您带来安装说明。按 Tab 键确定,然后输入并继续。
当它向您显示设备选项时(询问应在哪个分区上安装 Grub),请选择 sdX 格式的选项。请勿选择 4 个字母格式的驱动器分区,即 sda4 等。选择分区时,它前面应该有一个星号 (*),例如 [*] sdX。如果没有,请突出显示(使用制表符)并按空格键将其选中。选项卡“确定”并按 Enter 键。
它应该看起来像这样:
现在,当您考虑到所有这些事情后,请使用以下命令来安装 Grub。
apt-get install grub-common grub-pc
更新 grub 并退出 chroot:
update-grub
exit
第6步:卸载分区:
我们一开始就安装了一些东西,不是吗?好吧,让我们卸下它们。
for i in /dev/pts /dev /proc /sys; do sudo umount /mnt/temp$i ; done
就是这样。重新启动系统,您应该会像以前一样看到旧的 Grub 启动屏幕。我希望本教程可以帮助您摆脱错误:没有这样的分区 grub救援问题,并且本教程很容易理解。任何问题、建议或感谢之词始终受到欢迎。请继续关注更多 Linux 教程。