User Tools

Site Tools


перегенерация_initrd

Перегенерация initrd

Почему это понадобилось

Жизненные обстоятельства были таковы, что пришлось достать из одного системного блока жёсткий диск и установить на него систему уже на другом оборудовании. Установка прошла успешно, но после возвращении диска к родному оборудованию система перестала грузиться. Точнее говоря, загрузчик отрабатывал штатно, потом без проблем загружалось ядро, а на следующем этапе - initrd - по прошествию n-ного времени выводилась ошибка

rdshell: the waiting time expired

и запускалась отладочная консоль.

Как сделать

Чтобы сгенерировать initrd для нового оборудования, на данном компьютере нужно загрузиться с флешки в live или rescue режим. Далее системе нужно поменять корневой каталог.

[rescue]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 465,8G  0 disk 
├─sda1   8:1    0   255M  0 part 
├─sda2   8:2    0   4,1G  0 part 
├─sda3   8:3    0  59,6G  0 part  
├─sda4   8:4    0     1K  0 part 
├─sda5   8:5    0  20,5G  0 part 
└─sda6   8:6    0 381,3G  0 part
sdb      8:0    0   8,0G  0 disk /
sr0     11:0    1  1024M  0 rom  

Корневым каталогом должен стать корневой раздел системы, установленной на жёсткий диск - /dev/sda3. Монтируем его и некоторые разделы текущей системы - они пригодятся в процессе генерации - в /mnt.

[rescue]# mount /dev/sda3 /mnt
[rescue]# mount --bind /proc /mnt/proc
[rescue]# mount --bind /dev /mnt/dev
[rescue]# mount --bind /sys /mnt/sys

Меняем корень

[rescue]# chroot /mnt

Перед генерацией initrd следует узнать, какое ядро установлено по умолчанию. Его можно посмотреть в меню загрузчика.

Генерация initrd

[rescue /]# ls -1d /lib/modules/*
/lib/modules/3.14.22-std-def-alt1
/lib/modules/3.14.23-std-def-alt1
/lib/modules/3.16.6-un-def-alt1
[rescue /]# make-initrd --kernel=3.14.22-std-def-alt1

После того как отработала команда нужно покнуть среду croot. Это делается сочетанием клавиш Ctrl + D.

Можно перезагружаться

[rescue]# reboot
перегенерация_initrd.txt · Last modified: 2024/03/07 13:07 by uf4n