Как перейти в 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