Windows-Android-Linux-Visual Basic-PC - nic (NB) блог

 

Дата публикации: 03.08.2019
Автор: nic binary

Linux.Восстановление кода Grub2 в MBR

Столкнулся с проблемой,после установки Windows на диск в разделе которого установлена Linux OpenSuse Leap 15 x64.После установки,Windows,"затёрла" раздел с загрузочным кодом в MBR который содержал загрузчик linux grub2.Grub4dos отказался монтировать раздел с EXT4(или там была более новая FS).После просмотра "инетов" посвящённых данному вопросу был найден рабочий способ восстановления кода загрузчика grub2 в MBR.Плюс после проведения всех действий по восстановлению загрузчика,он сам находит все разделы Windows и записывет в свой config файл.Т.е. винду загрузить возможно.Желательно,что бы были подключены все диски на которых стоит Windows.Так же,желательно,что бы первым диском в системе был именно тот,на который требуется записать код загрузчика grub2.
И так делаем следующее.
На рабочей системе или в Windows PE (livecd)скачиваем установочный дистрибутив Linux.Я использовал OpenSuse Leap 15 версия для сетевой установки.И прожигаем образ на CD диск.Далее в БИОС выбираем загрузку с CD.Загружаемся.В загрузчике grub2 выбираем "More -> Rescue system".(скриншот от OpenSuse 13.2)

Далее загружается ядро...

И модули (пакеты) ядра...

(Скриншот уже загруженного командного терминала не удалось сделать в VirtualBox).Заходим "как root",пароль пустой.Далее вводим su и 'enter' и выполняем указанные ниже команды.Команды необходимо вводить именно так как написано.После ввода каждой команды жмём 'enter' и следим за отсутствием ошибок при выполнении каждой команды.Далее приведу список команд.
fdisk -l
после выполнения команды,звёздочкой будет отмечен активный раздел
mount /dev/sda1 /mnt
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-install /dev/sda
exit
umount /mnt/dev
umount /mnt/proc
umount /mnt/sys
umount /mnt
reboot
Строки /dev/sda и /dev/sda1 - это имена накопителей.sda-физический жесткий диск (необязательно первый в системе как выставлено в BIOS),sda1-это первый раздел (логический диск)накопителя sda.Могут быть варианты sdb,sdc и т.д.Команда fdisk -l выводит информацию по накопителям.Здесь следует быть внимательным,чтобы не ошибится диском для установки кода grub2.Если неправильно выбран раздел монтирования то ничего страшного не произойдёт.Команда mount выдаст ошибку,значит надо пробовать другие варианты.(sda2,sdb2 и т.д.).Linix имеет файловую систему ext2,3,4 RaiseFS и др.Я думаю в информации выводимой в команде fdisk разобратся будет не сложно.
На этом пока всё.Как мог так и описал.Вопросы в комментах.Удачи!
P.S.
Тренироваться желательно на виртуальной машине.Например VirtualBox.

Комментарии к странице

Ваш комментарий




Наверх