- Общие сведения
- Загрузка в режиме восстановления
- Резервное копирование каталога /boot
- Освобождение места в каталоге /boot
- Создание initrd
- Необязательное создание гарантированного свободного места
- Монтирование tmpfs в каталог /boot
- Создание и перемещение initrd
- Замена initrd
- Перезагрузка системы
- Действия после успешной перезагрузки
- 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.
Порядок действий:
- Вставить инсталляционный диск в привод;
- Загрузиться с инсталляционного диска;
- Выбрать «Режим восстановления»:
Проследовать по пунктам (нажимая 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 обязательно выполнить команду:
Действия после успешной перезагрузки
Дальнейший порядок действия зависит от причины, вызвавшей неисправность.
В частности, в случае незавершённой установки обновления, следует завершить установку обновления командой:
Astra linux восстановление ядра
В Astra Linux, как и в любом другом Linux, разработчики совершенно не следят за соответствием компонентов системы друг другу. Зачем тратить на это время? Есть полурабочий пакетный менеджер, вот пусть он разбирается с соответствием зависимостей. Сами зависимости кривые? Пускай тогда пользователь разбирается что там чему не соответсвует. В конце концов, если система будет работать правильно, за что тогда получать зарплату? Нет, система должна постоянно преподносить сюрпризы и требовать квалифицированного обслуживания. Так крутится бизнес.
Обновления Astra Linux 1.6 так же требуют нестандартных действий. Даже если само обновление сработает, велика вероятность того, что одна часть загрузчика Grub обновится на boot-разделе. А другая часть загрузчика, расположенная в начале диска, останется старой. И перейти из rescue-режима в режим загрузки Grub не получится по той простой причине, что старая версия на уровне вызываемых функций несовместима с обновленной частью. Об этом, при выполнении команд перехода в normal-режим , будет говорить следующая ошибка:
error: symbol `grub_calloc` not found
Если так произошло, средствами установленного Grub-а восстановить загрузку не получится. Надо пользоваться дополнительным компакт-диском с утилитами восстановления или загрузочной флешкой.
Итак, надо достать первый установочный диск Astra Linux 1.6, и, если необходимо, сделать из него установочную флешку, например через утилиту Unetbootin. Когда произойдет старт с данного носителя, нужно сделать следующее.
В появившемся меню выбрать пункт «Режим восстановления»:
Система потребует принять лицензионное соглашение. Далее запросит клавиши переключения языка ввода. Потом спросит имя компьютера. Вроде как это имя будет использоваться только для сеанса восстановления, если придется работать с сетью. То есть, данная настройка не должна повлиять на существующие настройки сети восстанавливаемой системы.
В конце концов режим восстановления попросит выбрать корневую файловую систему (на нее будет устанавливаться вторая часть Grub). Необходимо выбрать корневой раздел диска с установленной ОС. Здесь возможны два варианта:
- Если специальный boot-раздел не создавался, то выбирается просто корневой раздел с установленной ОС.
- Если создавался boot-раздел (это раздел, на котором есть каталог /boot), то следует выбирать его. Не следует путать boot-раздел и EFI-раздел, это разные вещи. В данном случае речь идет именно о boot-разделе.
Далее возможно два варианта: простая переустановка Grub, если в системе не использовалось загрузка EFI, и переустановка Grub для системы с EFI.
Простая переустановка Grub
Необходимо выбрать пункт «Переустановка системного загрузчика Grub».
Появится окно, в котором необходимо указать устройство для установки системного загрузчика. Имеется в виду, что надо указать место, в которое будет установлена первая (начальная) часть загрузчика Grub. Обычно, это MBR (т. е. главная загрузочная запись) первого диска, например /dev/sda .
После нажатия «Продолжить», обе части Grub-а будут переустановлены, и снова появится окно выбора действия, в котором надо выбрать «Перезагрузка системы».
Переустановка Grub с системой EFI (UEFI)
Возможен вариант, что в системе использовалась загрузка EFI. Тогда на запрос «Монтировать /boot/efi как отдельный раздел» необходимо ответить ДА.
В меню восстановления (при обнаружении EFI), будет показан пункт «Выполнить принудительную установку GRUB в путь съемных носителей EFI». Нужно выбрать именно его, а не «Переустановку системного загрузчика Grub»:
После чего необходимо перезагрузиться.
Примечание: в случае с EFI главный системный загрузчик (из MBR) для загрузки ОС не используется . Материнская плата сама считывает VFAT-раздел с EFI-загрузчиками, и передает выбранному в интерфейсе BIOS EFI-загрузчику управление. То есть, главный системный загрузчик, располагаемый в MBR, в этом режиме вообще не используется. Именно поэтому для варианта EFI надо выбирать пункт «Выполнить принудительную установку GRUB в путь съемных носителей EFI» а не «Переустановка системного загрузчика Grub».
Если данное решение не приводит к устранению проблемы, необходимо перезагрузиться в режиме восстановления, и проделать практически те же действия, но пункт установки Grub не выбирать:
- Выбрать устройство (раздел), используемое в качестве корневой файловой системы
- Для параметра «Монтировать /boot/efi как отдельный раздел» установить ДА
- В меню выбрать «Запуск оболочки»
В запущенной оболочке выполнить команды:
Если эти команды невозможно выполнить, то для получения доступа к корневому разделу необходимо вначале выполнить команду:
После окончания установки и обновления параметров, необходимо нажать и перезагрузить ПК.
- Соответствие версий Astra Linux Смоленск и Debian, таблица версий библиотек
- Как понять, к какой версии Astra Linux относятся файлы документации
- Восстановление пользователя root в Astra Linux 1.6 Смоленск
- Отключение блокировки экрана паролем в Astra Linux 1.6
- Как отменить гашение экрана в Astra Linux 1.6 через конфиги
- Как в Astra Linux 1.3 установить разрешение экрана через конфиги?
- Какие пакеты ПО устанавливаются при выборе пунктов «Средства работы в сети» и «Сетевые сервисы» в инсталляторе?
- Как прописать команды, которые должны выполниться перед появлением окна логина FLY DM
- Как прописать команды, которые выполнятся перед стартом X-сессии
- Как в Astra Linux 1.3 ограничить возможности рабочего стола
- Проблема запуска скрипта на сервере ALD домена при логине пользователя с нулевой мандатной меткой
- Как войти в домен ALD Astra Linux на рабочей станции, если вход не работает
- Как настроить видеодрайвер в Astra Linux 1.6 для Орион ПК 103 (ПК-Э-103-02)
- Как пользоваться мандатным флагом ccnr, чтобы не менялась мандатная метка в Astra Linux 1.6
- Управление безопасностью ОССН с использованием мандатного управления доступом в Astra Linux
- Мандатный контроль целостности в Astra Linux
- Структура мандатной метки в Astra Linux 1.6 (инфографика)
- Как предоставить доступ пользователю к COM-порту /dev/ttyS0 в ALD
- Понижение классификационной мандатной метки в Astra Linux 1.6
- Какие секции репозитария есть в Astra Linux
- Как в Astra отключить монитор печати при отключении области уведомлений
- Известные проблемные пакеты Astra Linux, которые блокируют установку обновлений и не только
- Почему не виден ярлык на рабочем столе Astra Linux 1.6 Update 10?
- Как включить NumLock при старте рабочего стола в Astra Linux 1.6
- Что не работает в Astra Linux 1.6
- Восстановление загрузчика Grub после применения обновлений в Astra Linux 1.6
- Как выйти/разлогиниться из FLY WM — опции команды fly-wmfunc в Astra Linux 1.6
- Как запустить SSH-сервер в Astra Linux 1.6
- Установка обновленного ejabberd в Astra Linux 1.6 Update 10. Как выкачивать ПО из репозитариев
- Загрузка X-сервера в Debian и Astra Linux 1.6. Какие скрипты в какие моменты времени срабатывают?
- Как загрузить и подключить диск со средствами разработки для Astra Linux SE 1.7
- Что означает аббревиатура МРОСЛ ДП
- Как обозначаются версии релизов Astra Linux в файлах etc-директории