
У меня два раздела Linux, на каждом из которых установлена Ubuntu 12.04. Один я использовал как законный раздел для всех моих реальных вычислений. Другой я использовал как honeycomb и резервный раздел. Однако, работая в законном разделе, я устанавливал и удалял apt-get, и, должно быть, случайно включил * или что-то в этом роде. Ядро в итоге было удалено. Когда я перезагрузился, GRUB перечислил только мои honeycomb-ядра, поэтому теперь я могу загрузиться только с honeycomb. Я возился с Cinnamon и GNOME, пробовал новые вещи и увлекся.
Вся файловая система законного раздела, похоже, не повреждена, а в каталоге /boot остались только папка grub и файл memtest.
Как мне установить ядро в легальный раздел ИЗ honeycomb?
решение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
).
Вам не обязательно выполнять chroot-операцию с Honeycomb, для этого можно использовать Ubuntu LiveCD.
Если вы не можете установить ядро через apt-get, вы можете скопировать файл initrd.img и файл vmlinuz с LiveCD в /boot в /boot в вашем разделе без ядра и обновить загрузчик. Таким образом, он, по крайней мере, загрузится.