删除了交换分区。现在它正在启动 grub 救援

删除了交换分区。现在它正在启动 grub 救援

我有双启动系统,但在使用 Windows 7 启动系统时,我错误地删除了交换分区。现在显示没有这样的分区 grub rescue。

我在 Ubuntu 中安装了非常重要的软件,我不想再次重新安装。有什么方法可以解决这个问题吗?

答案1

您不需要互联网连接,只需要 CD/Flash 中的 Ubuntu。

从实时 CD/Flash 启动并执行以下操作:

  1. 从实时 Ubuntu 启动后,首先打开 gparted 并检查您是否将 Ubuntu 安装在哪个分区中,例如:/dev/sdaX,其中 X 是您安装的分区(在 dash 中输入 gparted 并打开它)。

例如,我考虑您在上安装了 Ubuntu /dev/sda4,然后我会解释步骤。

  1. 然后通过以下命令挂载/dev/sda4(您可以用在 gparted 应用程序中看到的分区替换它):

    sudo mount /dev/sda4 /mnt
    for i in /sys /proc /run /dev;do sudo mount --bind "$i" "/mnt$i";done
    
  2. 现在我们/dev/sda4在这里安装安装了 Ubuntu 的。只需运行以下命令即可切换到rootUbuntu 分区的目录:

    sudo chroot /mnt
    
  3. 并运行以下命令将 grub 安装到主分区/dev/sda

    grub-install /dev/sda
    
  4. 更新 grub 并退出并重新启动系统。它会修复。

    update-grub
    exit
    sudo reboot
    

我希望这有帮助。

答案2

您也可以尝试使用此[工具](https://help.ubuntu.com/community/Boot-Repair。我自己没试过:)

你需要网络连接来解决这个问题

因此,您必须小心谨慎地执行此操作,因为您可能会完全破坏您的操作系统。现在您刚刚破坏了 grup(当然删除了交换,但您可以稍后创建它)。首先从实时 USB 启动并打开终端。然后使用fdisk来定位安装操作系统的分区。

sudo fdisk -l

你会得到类似的东西

/dev/sda1    Linux
/dev/sda2    Extended

现在我们需要一个带有 Linux 的。在我的例子中是/dec/sda1。我们现在就安装它。

sudo mkdir /mnt/temp
sudo mount /dev/sda1 /mnt/temp

现在你必须扮演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

然后你必须删除蛴螬组件并重新安装。

apt-get purge grub grub-pc grub-common
apt-get update && apt-get install grub grub-pc grub-common
update-grub 
exit

然后你可以重启系统,一切就好了。现在是时候再次创建交换了(如果你想的话),你可以检查这里。否则我可以进一步帮助您。

答案3

最简单的方法是从实时 cd/dvd 或 USB 启动。然后您可以启动 gparted 程序。在那里您可以重新创建之前删除的交换分区。然后您只需安装 grub 定制程序并重写 grub。https://launchpad.net/~danielrichter2007/+archive/ubuntu/grub-customizer

Grub 定制器将自动识别您的操作系统。您可以更改自动启动的顺序。您可以设置延迟时间(以秒为单位),如果您愿意,可以完全自定义启动菜单。然后您只需重新启动系统,一切都应该正常工作。

玩得开心,享受!

相关内容