Как восстановить mbr linux

Как восстановить загрузчик Windows в главной загрузочной записи (MBR) из Ubuntu

Оригинал: How to Fix Windows MBR from Ubuntu
Автор: Matthew Muller
Дата публикации: 21 августа 2018 года
Перевод: А. Кривошей
Дата перевода: март 2019 г.

Если вы пытались настроить двойную загрузку Windows с Linux, то вы, вероятно, столкнулись с некоторыми изменениями, которые могут вами не приветствоваться. При установке Linux в такой среде загрузчик GRUB перезаписывает загрузчик Windows в основной загрузочной записи (MBR).

Это также верно в обратном направлении: если вы сначала установили Linux, а затем решили установить Windows, загрузчик Windows перезапишет GRUB, и вы обнаружите, что невозможно загрузить вашу систему Linux. Или, возможно, вы решили, что Linux не для вас, и хотите полностью удалить его, оставив только Windows.

Любой из этих сценариев может быть проблематичным для нового пользователя, но, к счастью есть способы восстановить загрузчик и MBR.

Примечание. В качестве дополнительной информации, который затронет многих пользователей, похоже, что Windows 10 Anniversary Update перезаписывает загрузчик как само собой разумеющееся.

Требования

Первым шагом будет скачивание и создание вашего Linux live CD или USB. Ubuntu — безусловно, самый простой и доступный дистрибутив, хотя для наших целей могут использоваться большинство дистрибутивов Linux. Используя другой компьютер, перейдите на веб-сайт Ubuntu и загрузите версию, подходящую для вашей архитектуры. Если вы сомневаетесь, возьмите 32-битную версию, так как она будет загружаться на любой машине.

Следуйте этому руководству , чтобы создать Linux live USB в Windows.

Загрузка в Ubuntu live USB

Создав свой live-носитель, необходимо загрузить компьютер с вашего носителя с Ubuntu и выбрать в загрузочном меню пункт «Try Ubuntu without installing». Если это не удается, убедитесь, что в BIOS отключена secure boot, иначе ваша система никогда не загрузится с диска Linux.

После запуска рабочего стола вам нужно будет открыть терминал, который можно найти в меню «Приложения».

Примечание: на этом этапе имейте в виду, что вы имеете дело напрямую с жестким диском, и полностью прочитайте руководство, прежде чем вносить какие-либо изменения, в противном случае вся ваша система может стать нестабильной или неработоспособной.

Безусловно, самый простой способ восстановить MBR — использовать небольшую утилиту под названием «boot-repair», а не работать непосредственно в терминале.

Способ первый: утилита Boot Repair

Во-первых, вам нужно добавить репозиторий. Введите:

После установки найдите приложение в меню «Приложения» и кликните, чтобы запустить.

После запуска утилиты выберите тип восстановления. Для большинства случаев это будет рекомендуемое восстановление.

Когда утилита завершит работу, вы сможете загрузить свою систему и выбрать либо Windows, либо Linux из меню GRUB. Запуск утилиты также позволит вам изменить или изучить некоторые другие опции, если вам требуется более сложное восстановление загрузки. Кликнув «Restore MBR», вы сможете использовать вкладку MBR.

Если вы застряли, у Ubuntu есть руководство на их сайте.

Читайте также:  Анализатор спектра гаджет для windows

Метод второй: Syslinux

Это немного сложнее и требует от вас работы с терминалом. Если вы не уверены, то, пожалуйста, придерживайтесь первого метода.

Откройте терминал, как и раньше, и введите:

По завершении установки введите следующую команду, не забывая изменить имя диска «sda» на свое:

Кроме того, вы можете восстановить MBR, введя:

Метод третий: LILO

Загрузитесь с live CD или USB, и в терминале введите:

где «/dev/sda» — это имя вашего диска. Это должно исправить вашу MBR.

Заключение

Если вы используете двойную загрузку Windows и Linux, очень легко перезаписать MBR. Описанные выше действия должны помочь вам восстановить MBR.

Источник

Блог начинающего сисадмина

Здесь уже не будет ничего интересного, лучше загляните сюда: https://medium.com/@Amet13

среда, 27 февраля 2013 г.

Восстановление grub и MBR

Как удалить Ubuntu и восстановить загрузчик для Windows?
Как заменить grub на загрузчик Windows?
Установка Ubuntu рядом с Windows 8?
Ubuntu рядом с Win 8, загрузчик Windows не видит Ubuntu.

1 способ. У нас есть live-cd/usb с дистрибутивом Linux.

1. Записываем live-cd, live-usb практически любого дистрибутива linux, будь то ubuntu, mint или еще что-то там.

Помимо fdisk, еще существует много различных утилит для просмотра и редактирования таблицы разделов: gparted, cfdisk например.

По таблице видно, что linux установлен на разделе /dev/sda1 , напротив него стоит звездочка, это признак того, что раздел загрузочный.

3. Теперь этот раздел нужно смонтировать:
$ sudo mount /dev/sda1 /mnt

4. Раздел смонтирован, следовательно мы имеем доступ к нему.

1. В консоли пишем:
$ sudo update-grub —output=/mnt/boot/grub/grub.cfg
где update-grub — обновляет конфиг загрузчика, параметр —output указывает на файл конфигурации grub’а.

2. После проделанных операций, можно перезагрузиться и загрузиться с жесткого диска (естественно заходим в BIOS).
Ну и все собственно.
Вот например как выглядит мое меню grub’а, установлен только Debian:

1. Опять же, загружаемся с live-cd/usb, смотрим разделы:
$ sudo fdisk -l

2. Монтируем раздел, на котором установлен linux и еще некоторые важные для работы разделы:
$ sudo mount /dev/sda1 /mnt
$ sudo mount —bind /dev /mnt/dev
$ sudo mount —bind /proc /mnt/proc
$ sudo mount —bind /sys /mnt/sys

. Если раздел /boot на отдельном разделе диска, то его тоже нужно примонтировать, например:
$ sudo mount —bind /boot /mnt/boot

3. Скопируем дефолтный файл grub’а (этот шаг можно пропустить):
$ sudo cp /etc/resolv.conf /mnt/etc/resolv.conf

4. Теперь нужно перейти в среду chroot:
$ sudo chroot /mnt

5. Устанавливаем grub:
# grub-install /dev/sda

Если возникла ошибка, поможет команда:
# grub-install —recheck /dev/sda

6. Выходим из chroot, отмонтируем разделы и перезагружаемся:
# exit
$ sudo umount /mnt /dev
$ sudo umount /mnt/proc
$ sudo umount /mnt
$ sudo umount /mnt/boot #если требуется
$ sudo reboot

у вас нет второго компьютера чтобы записать live-cd/usb, соотвественно нужно как-то выкручивать (у самого была такая ситуация после экспериментальной установки windows 8).

Передо мной лишь черный экран и :
grub>

Это восстановление наиболее сложное (Rescue Mode), но если делать по инструкции, все должно пройти нормально.
В rescue mode доступно всего четыре команды:
ls
set
unset
insmod

1. Нам нужно посмотреть, какие разделы видит наш grub:
> ls
появится что-то типа:
(hd0) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos2) (hd1,msdos1)

2. Кое-как криво Rescue Grub нам вывел разделы диска, якобы с файловой системой msdos.
Но это не важно.
Счет дисков у grub начинается с нуля, а разделов — с единицы.
По нашему выводу можно определить, что на первом диске у нас два раздела и на втором тоже два.
Экспериментальным путем угадывания будем определять, где же находится наш установленный linux.

Читайте также:  Visconte quad 3gk драйвер windows 10

3. Допустим раздел (hd0,1) — это именно то что нам нужно (приставку msdos можно опустить).
Пишем:
> set prefix=(hd0,1) /boot/grub
> set root=(hd0,1)
Таким образом мы получаем доступ к диску.

4. Пишем команду:
> ls /boot/grub
если будет какой-то вывод файлов, то все получилось, если же ничего нет, то мы промахнулись разделом, нужно смотреть другие, например (hd1,0) .

5. Теперь пишем:
> insmod ext2
> insmod normal
> normal

6. После этого загружается grub, определяет операционные системы и практически восстановление завершено.

7. Загружаем linux, в терминале пишем:
$ sudo grub install /dev/sda

Все. grub прописывается в MBR и дальнейших проблем возникать не должно.

С огромной радостью перезагружаемся, да не тут-то было, linux мы удалили, а grub — нет (ведь он установлен на сам диск, а не на его раздел). Что делать?

1. Записываем установочный диск/флешку (например с Windows XP).

2. Загружаемся с диска/флешки:
Если увидели это:

не надо нажимать F2, это не то, это автоматическое восстановление, а нам нужно ручное.

3. Немного подождав появляется такое:

Нажимаем R, попадаем консоль восстановления.

4. Нам предлагают выбрать копию Windows, которую нужно восстановить:

7. Вводим команду:
fixmbr
соглашаемся со всем что он от нас хочет, эта команда восстанавливает MBR.

8. Пишем:
fixboot
эта команда, записывает новый загрузочный сектор.

9. Выходим из консоли восстановления:
exit

Источник

Восстановление убитых MBR и таблицы разделов

0. Intro.

Ситуация следующая. Есть винт на 160Гб. На нем 2 раздела — 40Гб и 120Гб. С целью установки убунты как второй системы была произведена разбивка 120Гб -> 100+10+2+8.

Далее, с целью отката изменений, были объединены диски (10, 2 и 8) обратно в один 20Гб и отформатирован в NTFS. В нагрузку к этому, были проведены операции с MBR, результатом которой явилась ее смерть.

Итоги

1. При загрузке системы выводится сообщение MBR helper not found;
2. fdisk показывает один большой 160Гб диск.

Дураку понятно, что это начало веселой ночи.
Далее, под катом, решения вопроса.

1. Восстановление таблицы разделов

1.1. Parted magic

Данный LiveCD\USB дистрибутив, размером в 100Мб несет в себе огромную кучу софта, для работы с дисками. От разбивки, до восстановления.
Из них всех, нам нужны будут gpart, testdisk, fdisk и ms-sys.

1.2. Gpart

gpart — это утилита, сканирующая по-секторно диск на наличие разделов, которые присутствуют на носителе, но отсутствуют в таблице. В своей работе, она игнорирует уже существующую таблицу (если присутствует). Программа разаботана немецким программистом Michail Brzitwa и больше им не поддерживается. Вялотекущая разработка ведется командами Fedora и Debian. Текущая версия — 0.1h.

Утилита позволяет наиболее быстро и легко восстановить таблицу разделов, но она несет в себе несколько недостатков. Во-первых, разработка была давно заброшена, во-вторых, она иногда не совсем корректно определяет разделы.

gpart может работать в 2-х режимах. Это быстрый анализ и подробное сканирование. В некоторых случаях, первого режима достаточно. Мы же будем смотреть на второй.

Читайте также:  Устанавливаем mac os mavericks

gpart -if /dev/sda

-i — интерактивный режим. На каждую найденную партицию будет задан вопрос, сохранять ее, либо пропустить.
-f — полный скан диска.

После, довольно продолжительного времени, будет создан отчет с возможными разделами. Его-то и нужно обязательно максимально внимательно просмотреть перед записью.
Пример отчета (не мой):

Begin scan.
Possible partition(DOS FAT), size(1907mb), offset(0mb)
Possible partition(SGI XFS filesystem), size(5730mb), offset(1907mb)
End scan.
Checking partitions.
Partition(DOS or Windows 95 with 32 bit FAT, LBA): primary
Partition(Linux ext2 filesystem): primary
Ok.
Guessed primary partition table:
Primary partition(1)
type: 012(0x0C)(DOS or Windows 95 with 32 bit FAT, LBA)
size: 1907mb #s(3906544) s(16-3906559)
chs: (0/1/1)-(1023/19/16)d (0/1/1)-(12207/19/16)r
Primary partition(2)
type: 131(0x83)(Linux ext2 filesystem)
size: 5730mb #s(11736000) s(3906560-15642559)
chs: (1023/19/16)-(1023/19/16)d (12208/0/1)-(48882/19/16)r
Primary partition(3)
type: 000(0x00)(unused)
size: 0mb #s(0) s(0-0)
chs: (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r
Primary partition(4)
type: 000(0x00)(unused)
size: 0mb #s(0) s(0-0)
chs: (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r

Если все ОК, то соглашаемся на запись в таблицу разделов, скрещиваем пальцы и перезагружаемся.
В моем случае, программа определила разделы, которые были до разбивки (40 и 120), что не подходило и заставило искать альтернативные способы восстановления.

1.3. testdisk

Note: подробнее эта утилита описана в этом посте, здесь не буду повторяться.

Эта утилита аналогична предыдущей, но имеет ряд плюсов:
1. более свежая и активно поддерживается;
2. субъективно, работает намного быстрее;
3. функциональнее;
4. есть простой консольный интерфейс на базе ncurses.

Поехали!
1. в первом окне выбираем Create a new log file;
2. выбираем нужный диск (/dev/sda) -> Proceed;
3. отмечаем тип разделов как Intel;
4. выбираем Analyse current partition structure and search for lost partitions;
5. если найденные разделы верны, жмем Backup и переходим к пункту 6, есть возможность быстро пересканировать диск, если где-то ошибка (Quick search);
6. здесь уже виден зеленый список с разделами. Если ок, то записываем, иначе запускаем Deep search.;

В моем случае, результат был аналогичен результату gpart, что есть некорректен.
Запустив Deep search, выждав около 40 минут я получил ответ, от которого на душе так нехило отлегло.
Было найдено несколько партиций, которые накладывались одна на другую (это были изначальная (до манипуляций) 120Гб и новая, на 100Гб). Отметив ненужную, как удаленную, я записал таблицу на диск и перезагрузился. К счастью, все обошлось и компьютер вернулся к состоянию, который был изначально, а я мог с чистой совестью лечь спать.

3. Восстановление MBR

Для этой задачи, у нас в арсенале есть тулза ms-sys.
Сперва узнаем, что с нашей MBR.

ms-sys /dev/sda
/dev/sda has an x86 boot sector
it is unknown boot sector

Теперь видно, что на данном диске нет загрузочного сектора.
Утилита может работать с MBR различных операционных систем. Список можно получить, запустив программу без агрументов. В моем случае, необходим был от Windows 7.
Записываем MBR на диск:

ms-sys -7 /dev/sda
Windows 7 master boot record successfully written to /dev/sda

Проверяем:

ms-sys /dev/sda
it is Microsof 7 master boot record, like the one this
program creates with the switch -7 on a hard disk device.

Вот и все, нужная MBR установлена и можно перезагружаться.

Источник

Оцените статью