Восстановите ядро с живой USB-флешки.

Вопрос или проблема

Во время установки другой дистрибутива (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, так как это даст вам возможность осуществить необходимые шаги без загрузки в систему. Проследуйте следующим шагам:

  1. Загрузитесь с Live USB с Ubuntu.
  2. Откройте терминал.
  3. Выполните последовательные команды для монтирования корневого и 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 в меню загрузки, следует выполнить следующие действия:

  1. Проверьте, что ваш корневой раздел Ubuntu примонтирован.
  2. выполните одну из команд ниже для обновления конфигурации загрузчика:

    update-grub 

    Либо

    grub-mkconfig -o /boot/grub/grub.cfg

    Эти команды сканируют все доступные ядра и обновляют меню GRUB, добавляя в него строки для всех установленных операционных систем.

Шаг 5: Правильная настройка systemd-boot

Если вы хотите использовать именно systemd-boot, а не GRUB, вам нужно вручную создать конфигурацию для загрузки Ubuntu:

  1. Перейдите к директории EFI:

    cd /boot/efi/loader/entries
  2. Создайте новый файл, например ubuntu.conf:

    nano ubuntu.conf
  3. Вставьте в файл следующий содержимое:

    title Ubuntu
    linux /vmlinuz-linux
    initrd /initramfs-linux.img
    options root=/dev/sdb5 rw

    Убедитесь, что пути к ядру и initrd правильно указаны в зависимости от вашей установки.

Заключение

После выполнения всех шагов вы должны иметь возможность загружать обе операционные системы. При каждом включении устройства появится меню загрузки, где вы сможете выбрать между Arch и Ubuntu. Если у вас возникнут дополнительные вопросы, не стесняйтесь обращаться за помощью в сообщество Linux.

Оцените материал
Добавить комментарий

Капча загружается...