пятница, 12 июня 2015 г.

Восстанавливаем загрузчик Linux.

В предыдущей статье Восстанавливаем загрузчик Windows если система стоит на VHD
был рассмотрен вариант восстановления загрузчика для Windows.

В этой статье рассмотрим способ восстановления загрузчика для Linux.
Нам потребуется флешка с LiveCD Linux. У меня это ArchLinux.

Загружаемся с флешки.
Для разметки диска, будем использовать утилиту parted
parted /dev/sdx
Далее нужно создать UEFI раздел
mkpart ESP fat32 1M 513M
set 1 boot on
Выходим из parted и форматируем раздел в файловую систему vfat
mkfs.vfat -F32 /dev/sdxY
Дальше нужно смонтировать корневую файловую систему и boot раздел в каталог /mnt
mount /dev/sdxZ /mnt
mount /dev/sdxY /mnt/boot
Теперь старая система cмонтирована относительно каталога /mnt.
Выполним chroot в нее
arch-chroot /mnt /bin/zsh
Первым делом восстановим ядро, путем переустановки пакетов linux и linux-headers
pacman -S linux linux-headers
Эти действия восстановят файл ядра и initfs в каталоге /boot.
Теперь восстановим grub
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck
grub-mkconfig -o /boot/grub/grub.cfg
На этом этапе grub восстановлен, но система все равно еще не готова к самостоятельному запуску, нужно внести изменения в /etc/fstab.
При помощи команды lsblk -f, выясним uuid нового раздела /boot
lsblk -f
NAME   FSTYPE LABEL      UUID                                 MOUNTPOINT
sdb                                                           
├─sdb1 vfat              4B0E-C616                            /boot
И заменим старый uuid в файле /etc/fstab
UUID=4B0E-C616 /boot vfat rw,relatime,discard,fmask=0022,dmask=0022,codepage=437...

Все. Выходим из окружения chroot и перезагружаем систему в обычном режиме. 

Комментариев нет :

Отправить комментарий