我删除了 /boot 中的文件,现在无法启动 linux

我删除了 /boot 中的文件,现在无法启动 linux

Ubuntu 14.04 抱怨我的 /boot 分区已达到 100%,所以我愚蠢地删除了我认为系统不需要的文件 - 例如名称为 linux 3.19.0-39-generic 等的文件。

我认为既然有一个 linux 3.19.0-41-generic,我就不需要它下面的版本了。

无论如何,重新启动了我的系统,并且 grub 仍然加载,但如果我选择一个选项,整个系统就会重新启动,并且我会再次看到 GRUB。

我尝试通过在密钥上加载 LUbuntu 来修复启动,然后安装启动修复磁盘,运行启动修复,但并没有解决问题。

我能做些什么?

答案1

恢复启动的方法如下:

使用实时 Ubuntu光盘并找到您安装根文件系统的驱动器/分区。通常,它将自动安装在 下/media。如果您在那里找不到它,请使用sudo disk -l查看其信息。

假设您的系统分区/dev/sda1然后在终端中运行以下命令:

mkdir mnt
sudo mount /dev/sda1 mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot mnt

您现在将处于 chroot 环境中,这意味着在此处运行命令相当于在已安装的系统上运行它们。首先,尝试将 GRUB2 重新安装到设备上,以便它将正确的文件复制到文件/boot夹中。

grub-install /dev/sda

找出已安装的哪些软件包在启动目录中有文件,然后重新安装它们。这将替换已被删除的内核映像等。查找软件包的命令是:

dpkg -S /boot

并重新安装它们。例如,重新安装上面提到的 Linux 映像:

sudo apt-get install --reinstall linux-image-3.19.0-41-generic

最后更新 grub 加载程序:

update-grub

最后,重新启动系统

答案2

我能够重现同样的问题,下面是我解决问题的方法

  1. 从 Live USB 启动。
  2. 挂载加密分区。您可以按照 Tung Tran 的命令或通过 Nautilus 图形界面执行此操作;它将以交互方式询问此分区的密码。
  3. 下载所需的启动文件。您可以按照 Tung Tran 描述的常规方式或使用命令下载它们sudo apt-get install linux-image-4.4.0-21-generic。您也可以使用浏览器在 ubuntu 的官方存储库 (http://packages.ubuntu.com/xenial/linux-image-4.4.0-21-generic
  4. 将文件复制到已挂载分区的 /boot 目录。
  5. 重启电脑,如果电脑没有自动启动,并且出现 GRUB 菜单,请转到高级选项并选择刚刚加载的映像。在本例中,该映像为 linux-image-4.4.0-21-generic

相关内容