Содержание

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents


Info
titleДанная статья применима к:
  • ОС СН Смоленск 1.6
  • ОС ОН Орёл 2.12 (при наличии загрузочного образа ОС ОН Орёл)



Общие сведения.

В данной статье рассматривается  способ восстановления загрузочных файлов (содержимого каталога /boot) в ситуации, когда из-за их повреждения нормальная загрузка ОС стала невозможной. Восстановление включает в себя следующие этапы:

  • загрузка с инсталляционного диска с последующим переходом в "режим восстановления";
  • необязательное резервное копирование содержимого каталога /boot;
  • подключение к каталогу /boot временной файловой системы, имеющей свободное место;
  • перегенерация файла initrd;
  • замена старог файла на новый;

Типичная ситуация, в которой могут потребоваться такие действия: неудачно завершившееся обновление при недостатке места в  дисковом разделе /boot.  После такого неудачного обновления система перестает загружаться и, как правило, выводит ошибку: 

Code Block
 - - - [ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknow-block(0,0)

Возможны и другие ошибки.

Возникновения ошибки нехватки места характерно для систем, установленных с использованием LVM, поэтому далее в примере рассматриваются действия с системой, установленной с использованием LVM. Действия для других вариантов установки аналогичны, отличаться будут только названия дисковых разделов.

Загрузка в режиме восстановления.

Для загрузки в режиме восстановления требуется инсталляционный диск (USB-накопитель) ОС СН Astra Linux SE 1.6.
Порядок действий:

  1. Вставить  инсталляционный диск в привод;
  2. Загрузиться с инсталляционного диска;
  3. Выбрать: Режим восстановления.
  4. Проследовать по пунктам (нажимая Enter) до выбора корневой файловой системы, где выбрать ..../root:
  5. Затем выбрать запуск оболочки так же в /dev/16-lvm-vg/root:

    После выполнения указанных действий должен загрузиться терминал с синим фоном:
  6. Нажать CTRL+ALT+F2 и нажать Enter, после чего должен открыться терминал на черном фоне:
  7. В терминале на темном фоне выполнить команду :

    Command
    chroot /target


На этом загрузка в режиме восстановления завершена. Более подробно о загрузке в режиме восcтановления см.: Режим восстановления

Резервное копирование каталога /boot

Резервное копирование каталога /boot не обязательно.

Копирование выполняется в каталог /home, в папку boot-backup, в случае успешного восстановления загрузки системы не забудьте его удалить.

Для создания резервной копии выполните в терминале команду:

Command
cp -r /boot/ /home/boot-backup

Дождитесь завершение работы команды.

Освобождение места в каталоге /boot

Проверить содержимое каталога /boot:

Command
Titlels -la /boot

итого 226516
drwxr-xr-x 3 root root 4096 апр 10 21:40 .
drwxr-xr-x 25 root root 4096 апр 13 17:27 ..
-rw-r--r-- 1 root root 1492731 июн 20 2018 abi-4.15.3-1-generic
-rw-r--r-- 1 root root 1467894 июн 20 2018 abi-4.15.3-1-hardened
-rw-r--r-- 1 root root 215263 июн 20 2018 config-4.15.3-1-generic
-rw-r--r-- 1 root root 215941 мар 4 16:10 config-4.15.3-2-generic
drwxr-xr-x 5 root root 4096 апр 10 21:40 grub
-rw-r--r-- 1 root root 46731042 апр 10 21:40 initrd.img-4.15.3-1-generic
-rw-r--r-- 1 root root 45810528 апр 10 21:39 initrd.img-4.15.3-1-hardened
-rw-r--r-- 1 root root 46182771 апр 10 21:40 initrd.img-4.15.3-2-generic
-rw-r--r-- 1 root root 44873873 апр 10 21:40 initrd.img-4.15.3-2-hardened
-rw------- 1 root root 8038256 июн 20 2018 old-vmlinuz-4.15.3-1-generic
-rw------- 1 root root 7214960 июн 20 2018 old-vmlinuz-4.15.3-1-hardened
-rw-r--r-- 1 root root 0 июн 20 2018 retpoline-4.15.3-1-generic
-rw-r--r-- 1 root root 0 июн 20 2018 retpoline-4.15.3-1-hardened
-rw------- 1 root root 3969624 июн 20 2018 System.map-4.15.3-1-generic
-rw------- 1 root root 3186040 июн 20 2018 System.map-4.15.3-1-hardened
-rw------- 1 root root 3995440 мар 4 16:10 System.map-4.15.3-2-generic
-rw------- 1 root root 3174738 мар 4 16:10 System.map-4.15.3-2-hardened
-rw------- 1 root root 8144672 мар 4 16:10 vmlinuz-4.15.3-2-generic
-rw------- 1 root root 7190304 мар 4 16:10 vmlinuz-4.15.3-2-hardened


В примере выше видно, что в каталоге /boot хранятся две версии ядра - 4.15.3-1 и 4.15.3-2, и каждая версия представлена в двух вариантах - generic и hardened. Удалить ненужные файлы можно командой rm. Например, если не используется ядро hardened, то удалить все файлы, относящиеся к этому ядру:

Command
rm /boot/*-4.15.3-1-hardened

Либо использовать MC (для примера удаляются два файла):

Далее выйти из MC, нажав клавишу F10

Создание initrd.

Новый initrd создать командой:

Command
update-initramfs -t -u -k 4.15.3-2-generic

При этом вместо номера 4.15.3-2 использовать номер имеющегося в системе ядра, которое предполагается использовать.

Необязательное создание гарантированно свободного места

Монтирование tmpfs в каталог /boot

Для того, чтобы смонтировать в каталог /boot чистую файловую систему, имеющую свободное место, выполните команду:
Command
mount -t tmpfs none /boot

После выполнения монтирования старое содержимое каталога /boot станет недоступно, и каталог будет представляться пустым.

Создание и перемещение initrd.

Новый initrd в примонтированной файловой системе создать такой же командой:

Command
update-initramfs -t -u -k 4.15.3-2-generic

При этом вместо номера 4.15.3-2 использовать номер имеющегося в системе ядра, которое предполагается загружать в дальнейшем.
Так как после отмонтирования времнной файловой системы всё её содержимое будет утеряно, нужно сохранить новый сформированный initrd, например, скопировав его в каталог /home командой:

Command
 cp -r /boot/initrd.img-4.15.3-2-generic  /home

Либо использовать MC и переместить файл (клавиша F6) в каталог /home.

Замена initrd

Отмонтировать tmpfs от каталога /boot командой:

Command
umount /boot

После отмонтирования tmpfs старое содержимое каталога /boot станет вновь доступно.

Заменить старый файл initrd.img-4.15.3-2-generic на новый командой:

Command
cp -r /home/initrd.img-4.15.3-2-generic /boot/

Либо переместить новый файл в /boot используя MC:

Если для копирования недостаточно места - повторить удаление ненужных файлов, после чего повторить операцию копирования.

Перезагрузка системы

После замены файла initrd обязательно выполнить команду:

Command
update-grub

Выйти из режима восстановления :

Command
exit

Извлечь диск из привода и перезагрузить систему командой:

Command
reboot

После выполнения указанных операция система должна загрузиться штатно.

Действия после успешной перезагрузки

Дальнейший порядок действия зависит от причины, вызвавшей неисправность.

В частности, в случае незавершённой установки обновления, следует завершить установку обновления командой:

Command
sudo apt -f install