安装内核到其他分区

安装内核到其他分区

我有两个 Linux 分区,每个分区都运行 Ubuntu 12.04。其中一个分区我用作所有实际计算的合法分区。另一个分区我用作蜂巢分区和后备分区。然而,在合法分区中工作时,我使用 apt-get 安装和删除,我一定是不小心包含了一个 * 之类的东西。内核最终被删除了。当我重新启动时,GRUB 只列出了我的蜂巢内核,所以现在我只能启动到蜂巢分区。我摆弄着 Cinnamon 和 GNOME,尝试新事物,我有点忘乎所以。

合法分区的整个文件系统似乎是完整的,并且 /boot 目录中只有一个 grub 文件夹和一个 memtest 文件。

我怎样才能将内核从蜂巢安装到合法分区中?

答案1

你可以通过 chroot 进入缺少内核的分区:

  • sudo mkdir /mnt/ubuntu
  • sudo mount /dev/ubuntuPartitionWithMissingKernel /mnt/ubuntu
  • sudo mount -t proc proc /mnt/ubuntu/proc
  • sudo mount -t sysfs sys /mnt/ubuntu/sys
  • sudo mount -t devtmpfs /dev /mnt/ubuntu/dev
  • sudo mount -t devpts /dev/pts /mnt/ubuntu/dev/pts
  • sudo cp -L /etc/resolv.conf /mnt/ubuntu/etc/resolv.conf
  • sudo chroot /mnt/ubuntu /bin/bash
  • source /etc/profile

然后,您可以通过 apt-get 安装缺失的内核。(我不确定是否必须在之后更新引导加载程序配置文件,或者是否在安装内核后自动完成。如果没有,请运行sudo update-grub)。

您不必从 honeycomb 中进行 chroot,您可以使用 Ubuntu LiveCD 来实现这一点。

如果您无法通过 apt-get 安装内核,您可以将 initrd.img 文件和 vmlinuz 文件从 /boot 中的 LiveCD 复制到没有内核的分区中的 /boot 并更新引导加载程序,这样它至少可以启动。

相关内容