我有两个 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 并更新引导加载程序,这样它至少可以启动。