
私には Linux パーティションが 2 つあり、それぞれ Ubuntu 12.04 を実行しています。1 つは、実際のコンピューティングに使用する正規のパーティションとして使用していました。もう 1 つは、ハニカム パーティションとフォールバック パーティションとして使用していました。ただし、正規のパーティションで作業中に、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 経由でカーネルをインストールできない場合は、/boot 内の LiveCD から initrd.img ファイルと vmlinuz ファイルをカーネルのないパーティションの /boot にコピーし、ブートローダーを更新します。この方法では少なくとも起動できるようになります。