Как перейти в chroot и запустить инициализацию Linux?

Если решите как-то реализовать написанное, то все действия вы производите на свой страх и риск!

Когда ломается система на Linux и зависает при загрузке, то иногда полезно попробовать запуститься через chroot и посмотреть на каком шаге всё ломается при загрузке.
1. Запускаемся с Live-CD сервер.
2. Монтируем нужный раздел, посмотрев всё предварительно через blkid, fdisk -l. Например, sda2

mount /dev/sda2 /путь/к/точке/монтирования

2. Создаем временную папку, которая будет новым корнем и заходим в нее

# mkdir /путь/к/новому/корню; cd /путь/к/новому/корню


3. Мониторуем каталоги для chroot

# mount -t proc proc proc/
# mount -t sysfs /sys sys/
# mount --rbind /dev dev/

Дополнительна информация:
Если нужен раздел run, то можно примонтировать вот так

mount --rbind /run run/

Если у есть UEFI, то надо примонтировать ещё

mount --rbind /sys/firmware/efi/efivars sys/firmware/efi/efivars/

Для работы по сети копируем resolv.conf

cp /etc/resolv.conf etc/resolv.conf

4. Пробуем зайти в оболочку

chroot /путь/к/новому/корню /bin/bash

5. Запускаем инициализацию/

make-initrd --kernel=`uname -r`


или можно полный путь указать к ядру вместо `uname -r`.

Чтобы всё размонтировать

umount --recursive /путь/к/новому/корню

Категории: Записи по Linux

Метки:

- 07.10.2024           Просмотры: 40

Заметки в Telegram

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

Вы можете оставить комментарий и указать никнейм (выдуманное имя/псевдоним). Поле со звездочкой и капча обязательны. Комментарии одобряются вручную.