Astra linux слетел загрузчик

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

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

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

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

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

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

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

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

  1. Вставить инсталляционный диск в привод;
  2. Загрузиться с инсталляционного диска;
  3. Выбрать «Режим восстановления»:

Проследовать по пунктам (нажимая Enter) до выбора корневой файловой системы, где выбрать . /root:

Затем выбрать запуск оболочки так же в /dev/16-lvm-vg/root:

После выполнения указанных действий должен загрузиться терминал с синим фоном:

Нажать CTRL+ALT+F2 и нажать Enter, после чего должен открыться терминал на черном фоне:

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

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

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

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

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

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

Проверить содержимое каталога /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, то удалить все файлы, относящиеся к этому ядру:

Создание initrd

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

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

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

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

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

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

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

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

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

Замена initrd

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

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

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

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

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

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

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

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

Источник

Есть простой способ восстановить загрузчик?

Каждый раз после сбоя питания слетает загрузчик астры, и остается только виндосный. Обновил загрузчик на Live-usb, он увидел астру на жестком и загрузил ее. А что дальше? Везде ошибки восстановления или установки grub. Почему?

Все что есть в интернете к астре не подходит(((
Дайте плз совет как восстановить этот гребаный загрузчик в астре. А еще лучше — заменить MBR на Grub

townbov

New member

1625653494287.png

даже обновление с ошибкой))))

oko

New member

to townbov
Вообще странное поведение — сбои питания, слет загрузчика. Загрузчик либо есть, либо его нет. Хотя grub мог не сам записаться в нужную область, а дать лишь ссылку на себя, а размещаться на другом разделе. Тут бы знать, как вы его первично инсталлировали (тем более с uefi-flash).
С NVMe под Linux не работал, возможно там имеются свои баги (тем более в Астре, которая не очень за временем поспевает), но. Разве не тупо sudo grub-install /dev/nvme0n1, читай на само устройство, а не в конкретный раздел?
Что касается apt ugrade. Вы там случайно через dpkg не ставили и потом сносили spice? Похоже, что база apt зафиксировала изменения, а пакета-то уже и нет. Трайните его инсталл по-новой, а затем уже upgrade. Так-то может статься, что проблема вовсе не в системе как таковой.

Vosiley

New member

Не-не-не.
Т.к. это UEFI, да еще с Windows, то размечен диск однозначно в GPT.
Загрузчик GRUB ставится таким образом в директорию EFI. Т.е. /dev/nvme0n1p2 монтируем в /mnt , далее

grub-install --efi-directory=/mnt

Vosiley

New member
grub-install --efi-directory=/boot/efi

townbov

New member
grub-install --efi-directory=/boot/efi

Ага EFI именно там). gpt.png
Но при выполнении выдает ошибку. Пробовал перемонтировать в /mnt но это конечно же ничего не меняет)
install2_grub.png
инсталятор ищет папку i386-pc в /usr/lib но она в /boot/efi. Ок) копирую ее туда куда он хочет)
после этого он не может найти kernel.img и его действительно там нет! Ок)) я копирую из платформы x86_64-efi и конечно же его он не устаивает)
install3_grub.png
ошибка в каком то заголовке ELF
я здаюсь)

townbov

New member

to townbov
Вообще странное поведение — сбои питания, слет загрузчика. Загрузчик либо есть, либо его нет. Хотя grub мог не сам записаться в нужную область, а дать лишь ссылку на себя, а размещаться на другом разделе. Тут бы знать, как вы его первично инсталлировали (тем более с uefi-flash).
С NVMe под Linux не работал, возможно там имеются свои баги (тем более в Астре, которая не очень за временем поспевает), но. Разве не тупо sudo grub-install /dev/nvme0n1, читай на само устройство, а не в конкретный раздел?
Что касается apt ugrade. Вы там случайно через dpkg не ставили и потом сносили spice? Похоже, что база apt зафиксировала изменения, а пакета-то уже и нет. Трайните его инсталл по-новой, а затем уже upgrade. Так-то может статься, что проблема вовсе не в системе как таковой.

Загрузчик так и остается после збоя. Но биос видит только запись майкрософт.
вот записи в папке efi которые биос видел до збоя: efi.png они все остались
появилась только какая то сомнительная копия в папке Boot: boot.png
переименовать пробовал- но все равно грузится только винда((
Знаю точно, что после переустановки Астры, биос ее снова увидит))))
Переустановка как решение — это треш)

Источник

Вопросы:Восстановление загрузчика GRUB после обновления Linux Astra SE

Для проверки целостности загрузчика UEFI необходимо, при включении/перезагрузке компьютера перейти в режим «Boot Menu» и выбрать область загрузки «astralinux» или другую загрузочную область ОС Linux. Если загрузка ОС прошла в нормальном режиме, то в этом случае необходимо перезагрузить компьютер, войти в BIOS и установить устройство загрузки по умолчанию, сохранить изменения и перезагрузить компьютер с обновлёнными настройками BIOS.

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

1. Необходимо связаться со службой технической поддержки — тел. 8-800-250-8727 доб.8 и получить установочный образ ОС, если он отсутствует.
2. При помощи любой доступной утилиты, например UNetBootin, создать загрузочный флэш-носитель.
3. Подключить носитель к компьютеру, на котором необходимо сделать резервную копию диска. Во время загрузки BIOS(как правило отображается логотип), нажать клавишу, вызывающую меню загрузки, в зависимости от производителя BIOS это может быть клавиша F12, или F11, или F9, или F8 выбрать загрузочный диск, желательно в UEFI и нажать «Enter». Так же можно войти в BIOS и выбрать загрузку с носителя в разделе Boot Settings(Boot Mode, Boot Manager или аналогичных), сохранить изменения F10 и «Yes».
4. Необходимо выбрать режим Восстановления
Выбор способа загрузки
5. Согласиться с лицензионным соглашением, нажав .
6. Выбрать способ переключения клавиатуры и нажать .
7. Имя компьютера можно оставить по-умолчанию и нажать .
8. С помощью стрелок «вверх»-«вниз» выбрать часовой пояс, соответствующий Вашему региону и нажать .
9. Необходимо выбрать раздел диска, на который установлена ОС. Если это был компьютер из поставки от нашей организации, тогда это, скорее всего, раздер /dev/sda2. Нажать .
Выбор корневой системы
10. Появится предложение — монтировать область загрузки, как отдельный раздел, соглашаемся и нажимаем .
Выбор корневой системы
11. Система предложит варианты восстановления. Необходимо выбрать «Переустановка системного загрузчика GRUB». Нажать . Выбор корневой системы
12. Появится список всех доступных носителей. Необходимо указать, с какого диска будет загружаться наша ОС.
Выбор корневой системы

По-умолчанию система загружается из загрузочной области физического диска /dev/sda, поэтому вручную его прописываем и нажимем . 
Может возникнуть ситуация, когда система восстановления найдет несколько загрузочных областей на устройстве /dev/sda. В этом случае необходимо выбрать все разделы(возможные вырианты: /dev/sda, /dev/sda1, /dev/sda2), отметив их, нажав клавишу . Далее нажать .

13. Программа выполнит восстановление загрузчика и предложит продолжить. Выбрать пункт — «Перезагрузка системы» и нажать . Отключить флэш-носитель.
14. После перезагрузки должен появиться выбор загрузки.

Источник

Читайте также:  Установка linux тип установки
Оцените статью
Adblock
detector