Rescue/FAQ: различия между версиями
Илья Н. (обсуждение | вклад) мНет описания правки |
Илья Н. (обсуждение | вклад) мНет описания правки |
||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
__NOTOC__ | __NOTOC__ | ||
Краткое руководство по восстановлению работоспособности, если не загружается система Альт Линукс из-за '''ошибки загрузки или файловой системы''' с помощью [[Rescue|ALT Linux Rescue]]. | |||
Краткое руководство по восстановлению работоспособности | |||
== Что нужно сделать для восстановления работоспособности системы? == | == Что нужно сделать для восстановления работоспособности системы? == |
Текущая версия от 11:38, 28 октября 2024
Краткое руководство по восстановлению работоспособности, если не загружается система Альт Линукс из-за ошибки загрузки или файловой системы с помощью ALT Linux Rescue.
Что нужно сделать для восстановления работоспособности системы?
- Загрузиться в режиме LiveCD;
- Войти в консоль суперпользователем root;
- Изучить список дисков и разделов, понять, на каких разделах располагается целевая система;
- Проверить файловые системы на наличие ошибок;
- Смонтировать целевые файловые системы во временный каталог;
- Поменять корневой каталог (chroot);
- Пересоздать образ initramfs (если необходимо);
- Исправить/переустановить загрузчик GRUB;
- Выйти из chroot, размонтировать файловые системы и перезагрузиться.
Где взять LiveCD для восстановления системы?
Загрузиться в режиме LiveCD из меню дистрибутива Альт, либо использовать спасательный дистрибутив ALT Linux Rescue.
Как загрузиться в режиме LiveCD?
При включении компьютера поменять порядок загрузки дисков так, чтобы первой происходила загрузка с установочного диска Альт. Затем в меню выбрать пункт:
LiveCD (жесткий диск не нужен)
Что такое ALT Linux Rescue?
ALT Linux Rescue — спасательный LiveCD-дистрибутив небольшого размера. Для начала работы в загрузочном меню нужно выбрать пункт:
Rescue LiveCD
См. Rescue.
Какой пароль у суперпользователя root в режиме LiveCD?
В режиме LiveCD у суперпользователя root пустой пароль.
Как понять, где мои диски?
Проверьте вывод команды:
lsblk -f
Команда выведет список блочных устройств (дисков) и разделов с указанием имени, файловой системы и точки монтирования. Также можно использовать команды:
fdisk -l cat /proc/partitions blkid
Как проверить файловые системы на наличие ошибок?
В режиме LiveCD, в зависимости от используемой файловой системы, выполните команду:
fsck -vf /dev/sda2
где опция -v включает подробный текстовый вывод, а опция -f запускает проверку даже в том случае, если файловая система помечена как чистая. Вместо /dev/sda2 необходимо указать имя нужного раздела на диске. Для файловой системы btrfs выполните команду:
btrfs check --repair /dev/sda2
Как смонтировать файловые системы для восстановления данных?
Если на жестком диске установлен Linux (целевая система), поможет команда:
mount-system
При этом происходит поиск и монтирование корневых файловых систем во временный каталог вида /mnt/system1 (согласно /etc/fstab целевой системы). Также можно выполнить монтирование вручную. См. Chroot
После завершения работ по восстановлению размонтировать файловые системы командой:
unmount-system
Как поменять корневой каталог (chroot)?
Сменить корневой каталог нужно для выполнения операций над целевой системой Linux с помощью команды:
chroot /mnt/system1
Где /mnt/system1 - точка монтирования корневых файловых систем из предыдущего шага. Теперь мы имеем работающую систему LiveCD, с корневым каталогом целевой системы. После завершения работы необходимо выйти из режима chroot командой:
exit
См. Chroot
Как пересоздать образ initramfs?
В случае получения ошибки загрузки rdshell-locked: the waiting time expired! и других, может понадобиться пересоздать initrd (initial ramdisk - компактная корневая файловая система для начальной загрузки). После смены корневого каталога на предыдущем шаге необходимо узнать версию ядра целевой системы:
ls -d /lib/modules/*
В результате будет получен список каталогов, содержащих модули установленных ядер с указанием версий, например:
/lib/modules/6.1.100-un-def-alt1 /lib/modules/6.1.99-un-def-alt1 /lib/modules/nvidia
Где 6.1.100-un-def-alt1 и есть искомая версия целевого ядра (в данном примере последняя актуальная, загружаемая по умолчанию). Затем необходимо выполнить сборку initrd с указанием этой версии:
make-initrd -k 6.1.100-un-def-alt1
(В Вашем случае номер версии может отличаться). См. Chroot#Переход_в_целевую_систему initrd, make-initrd
Как исправить загрузку и переустановить загрузчик GRUB?
В режиме chroot обновить конфигурационный файл загрузчика:
update-grub
Что является аналогом команды grub-mkconfig -o /boot/grub/grub.cfg
В режиме chroot установить загрузчик GRUB командой:
grub-install /dev/sda
Где /dev/sda - целевой носитель.
Либо попробовать другие способы установки загрузчика: Grub#Как_переустановить_GRUB?
Как исправить/переустановить GRUB2 в UEFI-режиме?
Загрузите rescue опять же в UEFI-режиме, далее:
- выполните поиск и монтирование целевой системы[1] (например, при помощи mount-system)
- перейдите в смонтированную систему (например, chroot /mnt/system1 bash)
- выполните grub-install; sync
- выйдите из чрута: exit
- отмонтируйте все ФС: umount -al
Что такое forensic mode?
Это режим для работы с повреждёнными, чувствительными или недоверенными носителями информации, который отличается тем, что не выполняет автоматический поиск и активацию программных RAID и LVM[2], а монтирование файловых систем выполняется с опциями ro,loop. Cм. эту статью с пояснением (вкратце — дабы избежать отката журнала «грязной» ФС). См. также mount-forensic, raid-forensic и lvm2-forensic.
Для входа в этот режим в загрузочном меню LiveCD выбрать пункт:
Forensic mode (leave disks alone)
Для монтирования любых файловых систем в этом режиме выполните команду:
mount-forensic
При этом произойдет монтирование разделов во временные каталоги вида /mnt/sda2.
Как завершить работу в режиме LiveCD?
После завершения работы с целевой системой необходимо выйти из режима chroot командой:
exit
Размонтировать файловые системы командой:
unmount-system
В режиме LiveCD под суперпользователем для перезагрузки ввести команду:
reboot