Вопрос или проблема
Во время установки другой дистрибутива (Arch) я случайно отформатировал свой EFI системный раздел.
Я воспользовался возможностью и переключился на systemd-boot.
Теперь Arch загружается нормально, но я хочу снова добавить Ubuntu и настроить двойную загрузку. Корневой раздел Ubuntu, вероятно, в порядке, но поскольку я стер EFI системный раздел, думаю, мне нужно переустановить ядро.
Я попытался сделать chroot с живого USB и установить ядро через apt-get, но система говорит, что ядро уже обновлено до самой новой версии.
sudo su
mount /dev/sdb5 /mnt # корень ubuntu
mount /dev/sdb2 /mnt/boot # esp
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
cp /etc/resolv.conf /mnt/etc/resolv.conf
chroot /mnt
Затем я попытался установить ядро:
apt-get install linux-image-generic
Вывод:
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
linux-image-generic уже является самой новой версией (4.13.0.38.41).
0 обновлено, 0 ново установлено, 0 удалено и 39 не обновлено.
Я не прав, ядро все еще на месте? Как я могу добавить Ubuntu в systemd-boot, если программа efi отсутствует на esp?
Большое спасибо
Ядро установлено на вашем файловом разделе, а не на efi разделе. EFI раздел содержит файлы загрузчика grub, которые загружаются до того, как ОС загрузится.
Чтобы добавить Ubuntu в менеджер загрузки grub, сначала загрузитесь в Arch (так как ваша установка arch загружается нормально) и убедитесь, что раздел Linux ubuntu смонтирован. После этого выполните простую команду
# update-grub
ИЛИ
# grub-mkconfig -o /boot/grub/grub.cfg
Это просканирует и найдет ядра каждой ОС и добавит их в
меню загрузки grub. Таким образом, всякий раз, когда вы включаете ПК, вы просто выбираете, какую ОС загрузить
Ответ или решение
Восстановление ядра из загрузочной USB-флешки: пошаговая инструкция
Когда вы устанавливаете новую операционную систему, такие ситуации, как случайное форматирование EFI-системного раздела, могут привести к проблемам с загрузкой уже установленных систем, например, Ubuntu. В данной статье мы разберем, как восстановить ядро Ubuntu и заново настроить двойную загрузку после установки Arch Linux с помощью systemd-boot.
Шаг 1: Понимание проблемы
При установке Arch Linux вы случайно отформатировали EFI-системный раздел (ESP). Теперь, хотя Arch порядок загрузки функционирует отлично, вы столкнулись с проблемой добавления Ubuntu в меню загрузки. Важно понимать, что ядро Ubuntu установлено в корневой раздел файловой системы, а не на ESP. Однако для того, чтобы каждый раз загружать Ubuntu, вам необходимо восстановить загрузочный менеджер, такой как GRUB или правильно настроить systemd-boot.
Шаг 2: Подключение к системе Ubuntu через Live USB
Для восстановления системы вам нужно загрузиться с Live USB, так как это даст вам возможность осуществить необходимые шаги без загрузки в систему. Проследуйте следующим шагам:
- Загрузитесь с Live USB с Ubuntu.
- Откройте терминал.
-
Выполните последовательные команды для монтирования корневого и EFI-раздела Ubuntu. Предположим, что ваш корневой раздел — это
/dev/sdb5
, а EFI —/dev/sdb2
:sudo su mount /dev/sdb5 /mnt # монтирование корневого раздела mount /dev/sdb2 /mnt/boot # монтирование ESP mount --bind /dev /mnt/dev mount --bind /proc /mnt/proc mount --bind /sys /mnt/sys cp /etc/resolv.conf /mnt/etc/resolv.conf chroot /mnt
Шаг 3: Проверка наличия ядра
В вашем случае вы попытались установить ядро через apt-get
, но система сообщила, что версия ядра уже является последней. Таким образом, ядро уже установлено в файловой системе, и вам не нужно его переустанавливать.
Шаг 4: Обновление загрузочного менеджера
Так как вы используете Arch с systemd-boot и хотите добавить Ubuntu в меню загрузки, следует выполнить следующие действия:
- Проверьте, что ваш корневой раздел Ubuntu примонтирован.
-
выполните одну из команд ниже для обновления конфигурации загрузчика:
update-grub
Либо
grub-mkconfig -o /boot/grub/grub.cfg
Эти команды сканируют все доступные ядра и обновляют меню GRUB, добавляя в него строки для всех установленных операционных систем.
Шаг 5: Правильная настройка systemd-boot
Если вы хотите использовать именно systemd-boot, а не GRUB, вам нужно вручную создать конфигурацию для загрузки Ubuntu:
-
Перейдите к директории EFI:
cd /boot/efi/loader/entries
-
Создайте новый файл, например
ubuntu.conf
:nano ubuntu.conf
-
Вставьте в файл следующий содержимое:
title Ubuntu linux /vmlinuz-linux initrd /initramfs-linux.img options root=/dev/sdb5 rw
Убедитесь, что пути к ядру и initrd правильно указаны в зависимости от вашей установки.
Заключение
После выполнения всех шагов вы должны иметь возможность загружать обе операционные системы. При каждом включении устройства появится меню загрузки, где вы сможете выбрать между Arch и Ubuntu. Если у вас возникнут дополнительные вопросы, не стесняйтесь обращаться за помощью в сообщество Linux.