Все чаще и чаще на форумах возникают вопросы:
1 способ. У нас есть live-cd/usb с дистрибутивом Linux.
1. Записываем live-cd, live-usb практически любого дистрибутива linux, будь то ubuntu, mint или еще что-то там.
Как удалить Ubuntu и восстановить загрузчик для Windows?В связи с этим, решил написать заметку, о восстановлении загрузчика grub, о том, как нужно правильно удалять linux, восстанавливать загрузчик Windows и MBR.
Как заменить grub на загрузчик Windows?
Установка Ubuntu рядом с Windows 8?
Ubuntu рядом с Win 8, загрузчик Windows не видит Ubuntu.
1 способ. У нас есть live-cd/usb с дистрибутивом Linux.
1. Записываем live-cd, live-usb практически любого дистрибутива linux, будь то ubuntu, mint или еще что-то там.
2. Загружаемся с live-cd/usb, открываем терминал (Ctrl+T) и смотрим таблицу разделов диска:
$ sudo fdisk -l
Помимо 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
Передо мной лишь черный экран и :
grub>
Это восстановление наиболее сложное (Rescue Mode), но если делать по инструкции, все должно пройти нормально.
В rescue mode доступно всего четыре команды:
ls
set
unset
insmod
7. Вводим команду:
fixmbr
соглашаемся со всем что он от нас хочет, эта команда восстанавливает MBR.
8. Пишем:
fixboot
эта команда, записывает новый загрузочный сектор.
9. Выходим из консоли восстановления:
exit
10. Перезагружаемся.
$ sudo fdisk -l
По таблице видно, что linux установлен на разделе /dev/sda1, напротив него стоит звездочка, это признак того, что раздел загрузочный.
3. Теперь этот раздел нужно смонтировать:
$ sudo mount /dev/sda1 /mnt
4. Раздел смонтирован, следовательно мы имеем доступ к нему.
Сейчас нам нужно восстановить MBR.
Для этого нужно установить grub на жесткий диск (НО НЕ НА РАЗДЕЛ ЖЕСТКОГО ДИСКА!), так как мы восстанавливаем MBR:
$ sudo grub-install --root-directory=/mnt /dev/sda
где /mnt — это рутовый каталог, который мы смонтировали, /dev/sda — имя жесткого диска.
После этого MBR восстановлен, grub установлен.
Windows вам надоела, вы ее снесли и по каким-либо причинам, в списке grub'а остались разделы Windows.
$ sudo grub-install --root-directory=/mnt /dev/sda
где /mnt — это рутовый каталог, который мы смонтировали, /dev/sda — имя жесткого диска.
После этого MBR восстановлен, grub установлен.
Ситуация:
у вас на машине стоит три системы например: Windows 7 Ultimate, Windows XP Professional и Linux Mint 14. Windows вам надоела, вы ее снесли и по каким-либо причинам, в списке grub'а остались разделы Windows.
Если случилась такая ситуация, то необходимо сгенерировать новый конфигурационный файл загрузчика. Он заново просканирует систему, определит установленные операционные системы на компьютере и сгенерирует конфиг с новыми параметрами меню загрузчика.
1. В консоли пишем:
$ sudo update-grub --output=/mnt/boot/grub/grub.cfg
где update-grub — обновляет конфиг загрузчика, параметр --output указывает на файл конфигурации grub'а.
2. После проделанных операций, можно перезагрузиться и загрузиться с жесткого диска (естественно заходим в BIOS).
Ну и все собственно.
Вот например как выглядит мое меню grub'а, установлен только Debian:
Второй способ, в этом случаем используем окружение chroot.
$ 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.
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 и дальнейших проблем возникать не должно.
> ls
появится что-то типа:
(hd0) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos2) (hd1,msdos1)
2. Кое-как криво Rescue Grub нам вывел разделы диска, якобы с файловой системой msdos.
Но это не важно.
Счет дисков у grub начинается с нуля, а разделов - с единицы.
По нашему выводу можно определить, что на первом диске у нас два раздела и на втором тоже два.
Экспериментальным путем угадывания будем определять, где же находится наш установленный linux.
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 и мы решили вернуться на Windows.
Windows предварительно у нас установлена, мы с нее загружаемся, и с помощью Acronis Disk Director или еще какой-нибудь программы сносим разделы Linux.
С огромной радостью перезагружаемся, да не тут-то было, linux мы удалили, а grub — нет (ведь он установлен на сам диск, а не на его раздел). Что делать?
1. Записываем установочный диск/флешку (например с Windows XP).
2. Загружаемся с диска/флешки:
Если увидели это:
1. Записываем установочный диск/флешку (например с Windows XP).
2. Загружаемся с диска/флешки:
Если увидели это:
не надо нажимать F2, это не то, это автоматическое восстановление, а нам нужно ручное.
3. Немного подождав появляется такое:
Нажимаем R, попадаем консоль восстановления.
4. Нам предлагают выбрать копию Windows, которую нужно восстановить:
3. Немного подождав появляется такое:
4. Нам предлагают выбрать копию Windows, которую нужно восстановить:
6. Вот собственно консоль восстановления:
fixmbr
соглашаемся со всем что он от нас хочет, эта команда восстанавливает MBR.
8. Пишем:
fixboot
эта команда, записывает новый загрузочный сектор.
9. Выходим из консоли восстановления:
exit
10. Перезагружаемся.
Ситуация.
если же под рукой не XP, а Windows 7, то делаем то же самое, но вводить не
fixmbr
и
fixboot,
а
bootrec /fixmbr
и
bootrec /fixboot
соответственно, ибо на семерке нет утилит fixmbr и fixboot.
За скриншоты Windows спасибо http://www.ubuntologia.ru/grub-mbr-windows.
За скриншоты Windows спасибо http://www.ubuntologia.ru/grub-mbr-windows.
Спасибо, завтра буду пробовать. У меня последняя ситуация - удалил раздел с андроидом и теперь винда 8.1 не грузится.
ОтветитьУдалитьХотел сделать загрузочную флешку прямо с планшета, но не смог т.к. нету root, а drivedroid его требует.
Это мне нужно делать флешку с виндовс 8 или можно хр?
Ещё есть вариант загрузить по lan PXE убунту, у провайдера есть такое.
Блин, спасибо огромное!!!! Весь день потратил на поиски, а оказалось всё очень просто! Восстановился по первому способу. Теперь у меня есть и убунту и семёрка!
ОтветитьУдалитьРад был помочь!
ОтветитьУдалитьГосподи как я ненавижу этот Linux этот поганый загрузчик grub!
ОтветитьУдалитьполное говнище этот линукс
УдалитьНа самом деле там все логично и очень кастомизировано, в отличии от того же виндового загрузчика.
ОтветитьУдалитьНе помогло. По-прежнему ошибка загрузки Grub
ОтветитьУдалить