Как вернуть загрузочный раздел MBR системы Linux, который был удалён?
Ситуация следующая, имеется образ системы linux, но в образе отсутствует загрузочный раздел.
Вопрос заключается в том, как можно восстановить загрузку этой системы учитывая тот факт, что программа testdisk и похожие на неё не помогли решить эту задачу?
Ответы (1 шт):
Нашёл решение, прикрепляю по шагам, как мне это удалось.
Восстановление сломанной загрузки системы.
Инструменты (все инструменты есть в LiveCD Ubuntu):
mkfs.ext4
fdisk
Ubuntu Live CD
chroot
dd
Забрать образ системы через
rsync
илиscp
Создать виртуальную машину в
Virt-manager
, и добавить в неё виртуальный диск нужного размера (далее этот диск будет использоваться как конечный исправленный образ)Примонтировать образ системы, который ранее был загружен как отдельный диск
Загрузиться в Live CD Ubuntu для дальнейших операций
Отформатировать ранее созданный диск с помощью
mkfs.ext4
С помощью
fdisk
разметить диск, и создать на нём раздел или разделыС помощью
dd
записать ранее загруженный образ сломанной системы на подготовленный дискМонтировать записанный диск в
/mnt
:$ sudo mount /dev/sdX /mnt
Монтировать директории для работы
chroot
:$ sudo mount -o bind /dev /mnt/dev $ sudo mount -o bind /proc /mnt/proc $ sudo mount -o bind /run /mnt/run $ sudo mount -o bind /sys /mnt/sys
С помощью
chroot
починитьgrub
:$ sudo chroot /mnt $ sudo grub-mkconfig -o /boot/grub/grub.cfg $ sudo grub-install /dev/sda # заменить /dev/sda на то устройство, куда хочется установить GRUB
в случае ошибки:
$ sudo grub-install /dev/sda —force # (принудительно)
СТОИТ ОТМЕТИТЬ, ЧТО GRUB МОЖЕТ БЫТЬ ВЕРСИИ 2, Т.Е. GRUB2
Выключить виртуальную машину и попробовать загрузиться с диска, на котором проводились работы
Также важно отметить, что при монтировании диска к виртуальной машине следует учитывать выбор - SATA-диск или иной
Надеюсь кому-то это поможет, к сожалению мне стоило это большого количества времени