- Grub 2 не грузит Windows 7
- загрузчик виндовый не прибил?
- Восстановление GRUB 2 после установки Windows
- Восстановление GRUB 2
- Не загружается Linux, чиним загрузчик GRUB
- Что такое Grub
- От чего могут возникнуть проблемы
- Восстановление Grub с помощью LiveCD/USB
- Как создать LiveCD/USB
- С помощью Rufus:
- С помощью Etcher:
- Восстановление с помощью chroot
- Восстановление Grub в rescue mode
Grub 2 не грузит Windows 7
Клонировал 500 гб HDD с виндовс 7 на терабайтный. Потом на остаток поставил убунту 12.10. Если в grub выбрать загрузку виндовс, загрузчик сбрасывается на мгновение и ничего не происходит. До установки линукса семерка грузилась.
Разметка диска на текущий момент:
Устр-во Загр Начало Конец Блоки Id Система
/dev/sda1 * 2048 206847 102400 7 HPFS/NTFS/exFAT
/dev/sda2 206848 1258498047 629145600 7 HPFS/NTFS/exFAT
/dev/sda3 1258498048 1317308415 29405184 83 Linux
/dev/sda4 1317310462 1953523711 318106625 5 Расширенный
Partition 4 does not start on physical sector boundary.
/dev/sda5 1324380160 1953523711 314571776 7 HPFS/NTFS/exFAT
/dev/sda6 1317310464 1324378111 3533824 82 Linux своп / Solaris
sda1 — 100 стомегабайтный не видимый из виндовс раздел, видимо связанный с загрузкой
сама win7 установлена на sda2
местом установки загрузчика при установке убунту выбирал sda3
Строчки из конфига GRUB про виндовс:
menuentry \’Windows 7 (loader) (на /dev/sda1)\’ —class windows —class os \’osprober-chain-F5CD8C195EB99989\’ <
if [ x$feature_platform_search_hint = xy ]; then
search —no-floppy —fs-uuid —set=root —hint-bios=hd0,msdos1 —hint-efi=hd0,msdos1 —hint-baremetal=ahci0,msdos1 F5CD8C195EB99989
search —no-floppy —fs-uuid —set=root F5CD8C195EB99989
И правильно делает. Надо таких идиотов сразу сплавлять на винфак.
на MBR (insmod part_msdos) не может быть столько разделов как у вас, так что у вас GPT. Думайте.
я не идиот, а новичек. линукс сам сгенерировал загрузчик, так что я не виноват :р
погуглил.. пишут вроде что grub2 с gpt нормально работать не будет. И что можно придумать, может быть установить grub легаси который?
У меня ваше set root=’hd0,msdos1′ выглядит как set root='(hd0,msdos1)’. И здесь search —no-floppy —fs-uuid —set=root F5CD8C195EB99989 после —set= нет root, так search —no-floppy —fs-uuid —set= F5CD8C195EB99989
Но у меня дебиан.
Вот и оставайся на линуксе, не нужна тебе винда.
А ты загрузчик виндовый не прибил?
Я один не вижу проблемы?
на запустись с livecd любого и сделай пару команд аля mount и grub install нагуглить можно много про это. Не думаю что это проблема большая. гуглить по запросу «восстановление grub»
загрузчик виндовый не прибил?
Пока что самый вероятный вариант, т.к. после выбора вин7 сейчас не мигает и в меню возвращается, а появляется черный экран, подчеркивание мигает и все. Читал интернет и много пробовал вчера вечером, но что-то никаких подвижек, кроме описанной сверху.
а как его можно прибить? Если установить груб в /сда ? И да, заново установленный груб2.0, он продолжает находить вин7 и прописывать её.
anonymous (03.11.2012 14:51:06)
пробовал, ничего не меняется. Вообще менял груб.конф по-всякому в самых извращенных формах какие только нашел в www. Результат увы пока 0.
infiltr (03.11.2012 18:34:51)
А восстановление отличается от заново установленного?, ибо это я делал. Устанавливал груб легаси, в нем вин не находится, вот в нем можно будет попытаться добавить ос пробер (amorpher (03.11.2012 18:35:22)). Тем более что там восстанавливать если он свежесозданный. Убунта была поставлена после вин7.
upd Пробежал фак по груб2.0, интересного много но грузить как не крути не хочет, цобака. EFI, BCD, wubi — это может что-нибудь дать? Возможность клонировать заново есть, старый диск нетронут.
PS дорогие поцреоты от юникс-систем, фанатизм до добра не доводит 😛 Винфак я посмотрел, на вопросы о других ос там отвечают как бабочка какает, раз в полгода по спичечной головке, крайне нерегулярное обновление по сабжу. Да и трабл вызван всё же не вин, а загрузчиком убунты( уже кубунты, вчера обновил).
Восстановление GRUB 2 после установки Windows
Сегодня я хотел бы показать вам способ, как можно восстановить GRUB 2 после установки или переустановки Windows на компьютер с Linux. И еще один способ , как это можно сделать это из-под Debian описан в этой заметке.
Если вы на своем компьютере используете дуалбут из Windows и Linux, то вероятно уже знаете, что во время установки ОС для того, чтобы было меньше возни, лучше устанавливать сначала ОС от Microsoft а потом только Ububtu, Debian или что вы там желаете установить. Связано это с тем, что Windows не видит других операционных систем кроме своих и поверх загрузчика GRUB записывает в MBR свой загрузчик. Соответственно, если вы установите сначала Linux а потом Windows, то в итоге не сможете загрузить Linux, так как его просто не будет в списке загрузки. Но что же делать если вам все же необходимо переустановить Windows или просто установить ее на компьютер с Linux? Не переустанавливать же ради этого и Linux? Нет. Просто после всего, что вы сделаете нужно будет восстановить загрузчик GRUB.
Для демонстрации я приведу свой случай с виртуальными машинами, но данный способ ничем не отличается от восстановления GRUB на реальном железе.
У меня на один виртуальный жесткий диск были установлены Ubuntu 14.04 и Windows 7. И вот мне захотелось попробовать developer версию Windows 10. Я решил установить ее поверх семерки. Как и положено, после всех манипуляций Windows 10 заработала, а Ubuntu не запускалась. Так как Ubuntu мне нужна была для работы я решил восстановить затертый GRUB.
Восстановление GRUB 2
Сначала необходимо загрузится с LiveDVD. Когда система загрузится, открываем терминал (Ctr+Alt+T) и смотрим структуру разделов с помощью команды:
У меня, как видно по выводу команды, диск разделен на 6 разделов: два NTFS для Windows, Extended (расширенный) и три отмечены как Linux для Ubuntu. Чтобы установить GRUB необходимо примонтировать корневой раздел Ubuntu — мой sda5:
И чтобы записать GRUB в загрузочную запись, нужно выполнить в терминале команду:
После этого можно перезагрузить компьютер:
GRUB восстановлен. Но остался один момент. Сейчас на виртуальной машине была установлена Windows 10, но в меню загрузчика по прежнему она отображалась как семерка, из-за чего при попытке ее запуска выскакивала ошибка. Чтобы исправить это достаточно было просто загрузится в Ubuntu (не LiveDVD) и через терминал обновить загрузчик:
Вот так просто можно восстановить GRUB после установки Windows
Не загружается Linux, чиним загрузчик GRUB
Любите экспериментировать? Наверняка вы когда-либо пытались произвести какие-то действия со своей Linux-системой, причем не так важно какие были цели: изучение и познание новых возможностей или же какая-то более конкретная цель, в виде исправления той или иной ошибки. В любом случае, при работе с дистрибутивами Linux, для загрузки которых, в большинстве случаев, и используется Grub, с последним могут возникать неприятные проблемы, ввиду которых дальнейшая эксплуатация системы просто-напросто невозможна. В этой статье вы узнаете, что делать, если не загружается Linux. Как вести себя в подобной ситуации и какие действия производить, чтобы починить загрузчик Grub. Пожалуй, начнем.
Что такое Grub
Grub (или GRand Unified Bootloader) — загрузчик операционных систем с открытым исходным кодом. Распространяется он под лицензией GNU GPL, в полностью свободном виде. С помощью этого замечательного лоадера можно сделать много всего — основная же функция не ограничивается загрузкой лишь одной операционной системы. Вы можете иметь куда больше операционных систем на своем ПК, загружая любую из них с помощью Grub. На скриншоте выше вы можете видеть как примерно Grub выглядит. Кстати говоря, если вы захотите установить Ubuntu 18.04 рядом с Windows , вам определенно понадобится помощь Grub.
Grub используется в большинстве дистрибутивов Linux в качестве загрузчика по-умолчанию. Разумеется и с ним иногда возникают проблемы. Этим самые проблемы чреваты полным отказом операционной системы. Поэтому для починки Grub нам понадобятся дополнительные инструменты. Какие именно — узнаете далее.
От чего могут возникнуть проблемы
Одна из самых распространенных причин — это неправильный порядок установки двух операционных систем (Linux и Windows). Допустим, если вы захотите установить две этих операционных системы на свой ПК — вам непременно стоит знать правильную последовательность:
- Сначала устанавливаем Windows
- И только потом уже Linux
Если, например, сделать наоборот, то как раз-таки Grub будет поврежден; система будет грузиться напрямую в Windows, а дистрибутив Linux останется недоступным.
Grub может сломаться и по другим причинам. Например, из-за попыток ручного изменения параметров запуска (при недостатке опыта), в таком случае нужно будет либо вручную убирать лишнее, либо полностью переустанавливать Grub.
Восстановление Grub с помощью LiveCD/USB
Для этого способа нам понадобится флешка с дистрибутивом Linux на борту. Подойдет любой: от Ubuntu, Arch или даже Linux Mint. Здесь нужен только терминал, поэтому подойдет даже версия без графической оболочки.
Как создать LiveCD/USB
Само собой, нам понадобится носитель, на который мы временно (а может и нет) запишем систему. Сохраните все важные файлы, которые были на этом носителе, после чего (имеется ввиду на другом ПК, желательно под управлением Windows) запишите загруженный образ дистрибутива на носитель. В качестве примера мы будем использовать дистрибутив Ubuntu.
Идем на официальную страницу загрузки . Загружаем любую понравившуюся версию (лучше взять новейшую для десктопа), после чего записываем ее на USB/CD.
С помощью Rufus:
Последняя версия приложения доступна на официальном сайте . Сразу после загрузки и запуска/установки мы увидим такое окно:
Вставляем носитель, выбираем его в соответствующем меню. Далее выбираем нужную схему раздела и тип системного интерфейса, и после уже открываем файловый менеджер с помощью этой кнопки:
Находим загруженный образ через менеджер, после чего жмем «Старт».
С помощью Etcher:
Опять же, идем на официальный сайт , где скачиваем последнюю версию утилиты. Далее делаем все так, как показано на этой гифке:
Ну а теперь, собственно, можно переходить к восстановлению Grub. Вставляем флешку в наш ПК (где сломан загрузчик), после чего перезагружаем его с этой самой флешки. Как только мы войдем в лайв-систему, сразу открываем терминал, после чего проделываем следующие действия:
Открываем таблицу разделов с помощью команды:
Примерно такая таблица будет выведена на экран:
/dev/sda1 27 7683 66999082+ 83 Linux
/dev/sda2 * 8450 13995 45430855 7 HPFS/NTFS
/dev/sda3 11885 16574 6503497 5 Extended
По этой таблице мы видим, что Linux, в нашем случае, расположен на разделе /dev/sda1.
С помощью следующей команды мы смонтируем этот раздел в /mnt:
sudo mount /dev/sda1 /mnt
Теперь, для записи grub в MBR, нужно ввести следующую команду:
sudo grub-install —root-directory=/mnt /dev/sda
Если нужно только восстановить MBR диска (после переустановки Windows, к примеру), то этих действий будет вполне достаточно.
Если же необходимо обновить и меню grub (после установки Windows), то нужно выполнить еще и эту команду:
sudo update-grub —output=/mnt/boot/grub/grub.cfg
Вот и все, восстановление закончено!
Восстановление с помощью chroot
Помимо вышеописанного способа, при восстановлении Grub с помощью LiveCD можно использовать и этот. Тут мы будем использовать утилиту chroot.
Здесь нам, опять же, понадобится таблица разделов. Вводим уже известную команду:
В выводе снова будет эта таблица. Теперь нам надо присмотреться к ней еще внимательнее.
/dev/sda1 27 7683 66999082+ 83 Linux
/dev/sda2 * 8450 13995 45430855 7 HPFS/NTFS
/dev/sda3 11885 16574 6503497 5 Extended
В этом способе нам необходимо примонтировать системный, а также нескольких других важных разделов. Для этого вводим эти команды:
sudo mount /dev/sda1 /mnt
sudo mount —bind /dev /mnt/dev
sudo mount —bind /proc /mnt/proc
sudo mount —bind /sys /mnt/sys
Обратите внимание , что если если разделы /boot или /var находятся отдельно, то Вам нужно будет примонтировать их в /mnt/boot и /mnt/var.
Далее мы переходим в окружающую среду chroot с помощью команды:
sudo chroot /mnt
И теперь, наконец-таки переустанавливаем Grub с помощью следующей команды:
Если вы на этом этапе получаете какие-то сообщения об ошибках, то попробуйте использовать эти команды:
grub-install —recheck /dev/sda
grub-install —recheck —no-floppy /dev/sda
Если все прошло успешно, выходим из chroot, используя команду:
Далее нужно отмонтировать все разделы. Для этого вводим в терминал:
sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /mnt
В случае, если вы монтировали раздел /boot введите команду:
sudo umount /mnt/boot
Теперь перезагружаем систему с помощью:
Можно также обновить меню Grub, используя команду:
Восстановление Grub в rescue mode
Если по каким-то причинам у вас нет доступа к LiveCD/USB-носителю, а также к компьютеру, с помощью которого этот самый носитель можно было бы сделать, то этот способ для вас.
Само восстановление проходит таким образом: сначала мы подгружаем все модули, чтобы открыть доступ ко всей функциональной части Grub, после чего запуститься с нужного раздела. Надо понимать, что Grub состоит из двух частей:
Одна из этих частей (первая) записана в MBR диска. В ней присутствует базовый функционал и ничего больше (консоль в rescue mode).
Стало быть, нам нужно определить, в каком разделе находится вторая часть Grub (находится в каталоге /boot/grub), и после чего подгрузить все недостающие модули. А вот уже после этого мы сможем запустить загрузчик с нужного раздела. В rescue mode есть всего четыре команды:
Для начала вводим следующую команду:
В выводе будет что-то подобное:
(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos2) (hd1,msdos1)
В некоторых случаях Grub неправильно опеределяет файловые системы находящиеся на разделах дисков. В данном примере загрузчик показывает их как msdos. Мы должны попытаться угадать диски, которые видим. В примере доступно два диска. Диск с индексом 0 содержащий три раздела, и диск с индексом 1 содержащий два раздела. Если вы знаете структуру своих дисков, определить нужный труда не составит.
В загрузчике Grub разделы нумеруются в обратном исчислении. Не очень ясно какой именно из разделов назван, к примеру (hd0,msdos3). Чтобы было более понятно, можно использовать вид (hd0,1). Если в грабе отсчет дисков идет с 0, а разделов с 1, то можно определить, что операционная система установлена в первый раздел первого раздела — (hd0,1). Используем следующую команду:
set prefix=(hd0,1)/boot/grub
set root=(hd0,1)
С помощью этих команд мы приказываем системе использовать какой-то конкретный диск, для выполнения всех остальных операций (в нашем случае, это диск (hd0,1)). Чтобы проверить есть ли на данном диске загрузчик, введем эту команду:
Если в выводе будет список файлов и папок, значит мы все сделали правильно. Теперь можно загрузить все необходимые модули. Для этого выполним команды:
insmod ext2
insmod normal
normal
После выполнения команд Grub загрузится в полнофункциональном режиме. Будут найдены все операционные системы, которые установлены на компьютере, после чего будет показано стандартное меню загрузки.
Чтобы закрепить результат (и не проделывать все то же самое после перезапуска ПК), нужно зайти в терминал своего дистрибутива Linux, где с root правами выполнить следующую команду:
sdX — диск, на который должен быть установлен Grub.
Если операционная система расположена на разделе с файловой системой btrfs , то нам необходимо выполнить следующие команды:
set prefix=(hd0,1)/@/boot/grub
set root=(hd0,1)