Live grub from windows

Howto Boot Grub from windows

How do I chainload GRUB from Windows boot.ini

Contents

Other titles for this same problem.

  • GRUB is a great but I prefer not to install it on my mbr.
  • How do I chainload GRUB from Windows Vista
  • I have Linux in my second hard disk and I follow other howto instructions but I cannot get it to be chainloaded from Windows.
  • Is there a safe way to access Linux on the external drive and have xp on the internal drive while being able to disconnect the external drive from pc at any time? ([b]You should run Fix Boot of Windows[/b] for your internal hard disk before these steps.)

Advice

adrian15 advice for this kind of task is #Classical solution

Neogrub lazy solution

TODO: Talk about Neogrub that it is included with EasyBCD I think.

Classical solution

  • Super Grub Disk (WITH HELP) :-)))
  • English Super Grub Disk
  • Windows
  • Windows (Advanced)
  • Windows chainloads Grub!
  • Select the partition where GRUB it is found (i.e. stage1 is found).

Please continue reading at: Common Final Solution

Advanced solution

SITUATION WHEN GRUB FILES AND BOOT SECTOR ARE NOT THE SAME PARTITION

Problematic solution

GRUB solution (on its own)

This method is only valid when you want to boot a Linux partition that it is found in the same hard disk as the windows one (i.e. the first hard disk).

This installs Stage1 of Grub to the first sector of partition containing the Grub folder. To get started we need to identify the partition containing the Grub folder. (Usually the same as the Linux partition) Say it is (hd0,3) (Usually, but not always, identified in Linux as: /dev/sda4).

Boot with your grub disk or with your already installed grub.

At the grub> prompt type:

  • root (hd0,3)
  • setup (hd0,3)
  • quit #(With Linux working)
  • reboot #(From grub disk)

Please continue reading at: Common Final Solution

GRUB solution (Linux shell)

This installs Stage1 of Grub to the first sector of partition containing the Grub folder. We will use the «device» function of the grub-shell to ensure that Grub uses the correct map between the bios drives and linux devices, and also to ensure that Grub uses the hard drive numbers.

To get started we need to identify the partition containing the Grub folder. (Usually the same as the Linux partition) Say it is (hd2,3) and /dev/sdb4. (The (hd2,3) must be how grub sees the partition during boot-up)

Open a terminal in Linux and type

and at the «grub>»prompt

  • device (hd2) /dev/sdb
  • device (hd0) /dev/sdb
  • root (hd2,3)
  • setup (hd0,3)
  • quit

Please continue reading at: Common Final Solution

GRUB2 solution (on its own)

As long as I know GRUB2 cannot install itself on its own.

GRUB2 solution (Linux shell)

This installs first part of Grub2 to the first sector of partition containing the Grub folder.

Let’s suppose that you know that your Linux partition is /dev/sda3

What you need to to is run:

Open a terminal in Linux and type

  • su #(use sudo -i in Ubuntu)
  • grub-install —force /dev/sda3

Please continue reading at: Common Final Solution

Common Final Solution

As a final solution we need somehow Windows to chainload our Linux partition. If we use easybcd we can avoid having to copy a file from a live cd to our Windows partition and setting up the boot. If we are geeks and classical we will have to edit boot.ini or the new Vista file manually in order to make things work.

Windows Vista (with easybcd help)

  1. Download and run EasyBCD 1.7.2(or any version i think)
  2. If program ask for boot drive just select your windows partion
  3. Choose Add/remove Entries
  4. At «Add an Entry» select «Linux»
  5. Change Type to «Linux»
  6. Enter Name box with any name u want
  7. At Drive Select Your Ubuntu Partion
  8. Click «Add Entry»
  9. Click «Save»
  10. Restart, you have done ^ ^
Читайте также:  Драйвер usb модема android для windows

Classical Final Solution

Once grub has been installed to a partition we need to get its boot sector to a file in order to boot it from Windows.

Let’s boot with a live cd and open a terminal.

In this example the identified grub partition is sda3.

In this example: Pendrive mount point is: /media/disk

From a terminal (Aplications -> System -> Terminal) please run:

(When prompted enter your current user password or your root password in non-sudo systems such as Debian. If you do not know how to type | symbol please only type sudo -i)

  • dd if=/dev/sda3 of=/media/disk/linux.bin count=1 bs=512
  • sync
  • Right Click on your pendrive icon in your desktop and click on umount or extract.

Now let’s boot into Windows.

Plug in your pendrive and copy the linux.bin file into c:\ folder.

Windows XP/Windows 2000/NT/Windows

Now let’s edit boot.ini and add this line at its bottom:

Windows Vista (manually)

Now when rebooting if you boot windows you will get a Windows menu with two options: Windows and the new Linux option which will chainload GRUB.

Finally there is an optional step that it is removing grub so that it chainloads Windows menu in the first place automatically at boot.

Rescatux

This feature is not yet available at the Rescapp program. It is available at the Super Grub Disk included with Rescatux. If you want to have this feature at the Rescapp program please complain at the super grub disk mailing list.

Tecnical explanation

One thing you should know

  • These methods only restore GRUB successfully if a stage1,stage2 (and optionally a stage1_5 file) is found. If you have deleted these files the GRUB solution (Linux shell) might help although it might be better to reinstall GRUB from a chroot environment got from a live cd.

If your Linux filesystem has errors GRUB might not be able to find its files even if they are there. So sometimes is advised to try to run the:

command as root where DEV is your linux partition device.

will fix the third partition from an scsi or sata first disk (Although it might not actually be the first one).

  • OpenSolaris GRUB cannot be restored to a partition which this method. You need to boot Linux and then use the install-grub command. See man install-grub for more info.

If you cannot get to restore grub this way you can always try to boot Linux and then use the Grub Solution (on its own) method or the Grub Solution (Linux shell) method.

Восстановление GRUB

Содержание

GRUB — это основной загрузчик Ubuntu начиная с версии 9.10. Ранее он был известен как GRUB2 и пришёл он на смену старой версии GRUB, известной теперь как GRUB Legacy. Если вам необходимо восстановить GRUB Legacy, например поскольку у Вас стоит версия Ubuntu старше 9.10, то вам необходимо прочитать соответствующую статью.

На любом загрузочном винчестере есть так называемая Главная загрузочная запись (англ. master boot record, MBR), к которой обращается BIOS при загрузке компьютера. В эту область загрузчик системы и должен записать информацию об основных файлах, которые хранятся уже на разделах винчестера.

Восстановление с помощью LiveCD/USB

Первый способ

Запустите систему с LiveCD/USB и откройте терминал. Для этого можно нажать Alt + F2 и ввести команду:

Далее необходимо узнать Вашу таблицу разделов. Используйте команду:

На экран должна быть выведена примерно такая таблица:

Из таблицы видим, что Linux (загрузочный /-корень отмечен звёздочкой) стоит, в нашем случае, на разделе /dev/sdc1.

Теперь подключим этот раздел в /mnt следующей командой (следим за пропусками между кодами и порядковыми номерами разделов):

Затем, для записи grub в MBR, вводите следующую команду:

В случае, если нужно только восстановить MBR диска (например, после переустановки Windows), то этого достаточно, закрываем терминал и перезагружаем.

Если нужно обновить и меню grub (например, после установки Windows), то нужно сделать:

Восстановление используя chroot

Запустите систему с LiveCD/USB и откройте терминал. Для этого можно нажать Alt + F2 и ввести команду:

Далее необходимо узнать Вашу таблицу разделов. Используйте команду:

На экран должна быть выведена примерно такая таблица:

Теперь нужно примонтировать Ваш Linux раздел (здесь это sda1) и еще несколько важных директорий:

Теперь перейдем в окружающую среду chroot:

Читайте также:  Windows 10 2004 состояние

Теперь необходимо установить GRUB, используя команду:

Также в некоторых случаях может помочь вариант:

Если все прошло успешно, выходим из chroot командой:

Теперь необходимо отмонтировать разделы:

Если Вы монтировали раздел /boot воспользуйтесь командой:

Затем перезагрузим Ваш компьютер командой:

При необходимости Вы можете обновить меню загрузчика командой:

Восстановление в rescue mode

При отсутствии загрузочного диска, можно восстановить Grub из его консоли. Восстановление происходит следующим образом: сначала нужно подгрузить все модули, чтобы стала доступна вся функциональность Grub, а затем уже запуститься с нужного раздела. Как известно, Grub состоит из двух частей. Первая часть записана в MBR диска. Она содержит базовую функциональность, то есть в ней есть консоль в rescue mode и ничего больше. Вначале нужно определить, на каком разделе находится вторая часть груба (она лежит в каталоге /boot/grub), подгрузить недостающие модули. И только потом можно будет дать команду запуска с нужного раздела. В rescue mode доступно всего четыре команды:

Вначале следует дать команду:

В ответ она выведет, например, следующее:

Иногда Grub может неправильно опеределить, какие файловые системы находятся на разделах дисков. В данном случае определяет их как msdos. Нам нужно постараться угадать, какие диски мы видим. В данном случае видно два диска. Диск с индексом 0 содержит три раздела, диск с индексом 1 содержит два раздела. Зная структуру своих дисков несложно определить нужный диск.

Grub называет разделы в обратном порядке. И становится непонятно, что имеется в виду под (hd0,msdos3) — первый раздел или третий? Тут можно выкрутиться, использовав синтаксис (hd0,1). Нужно помнить, что в Grub счет дисков начинается с 0, а счет разделов — с 1. Предположим, что Линукс установлен на первый диск в первый раздел, то есть (hd0,1). Даем команду:

Этими командами мы указываем использовать диск (hd0,1) для дальнейших команд. После чего нужно проверить, действительно ли на этом разделе есть то, что нам нужно. Даем команду:

если в ответ получаем список всех файлов в этой директории, то диск и раздел выбраны правильно. Подгружаем модули:

После чего Grub перейдёт в полнофункциональный режим. Он автоматически найдет все операционки, которые можно подгружать, и покажет своё Grub-меню.

Дальнейшее восстановление сводится к тому, чтобы загрузить нужный нам Linux, и в нем от рута дать команду:

Где sdX, диск, на который нужно установить Grub.

установить GRUB с livecd

есть ноут с умершим загрузчиком винды и желание вкорячить туда граб. есть ли способ с лайвцд убунты установить только граб и всё? если есть, то подскажите как.

в принципе можно (и скорее всего в итоге так и будет) накатить сусю рядом с офтопиком, но ноутбуком пользуется узбекско/таджикский табор и не знаю чем оно закончится.

то есть этот способ вполне подойдёт не для восстановления, а для установки? я просто слабо в этом разбираюсь.

Там восстановление в общем-то и заключается в установке grub заново.

спасибо. вечерком попробую.

Там восстановление в общем-то и заключается в установке grub заново.

Не надо чрутаться, а просто указать раздел.

Не надо чрутаться, а просто указать раздел.

спасибо. попробую вечерком.

Да и зачем GRUB, если там одна винда?
Грузись с её диска и ставь, «\fixmbr» с режима восстановления, ЕМНИП,если загрузчик сам (NTLDR) на месте.

Так он тебе раздел с виндой запорет наверное.

лучше поставлю сусю рядышком и винду в грабе первой выставлю. так будет надежней. если там она осталась вообще, а то анамнез прост- «сегодня с утра включили, а там это, а выключали вчера выдёргиванием шнура из розетки (батареи нет)»

grub-install —root-directory=/media/disk /dev/sda

Вместо /media/disk указываешь примонтированный раздел где будут находиться файлы grub

Вместо /dev/sda указываешь свой жёсткий диск

как ламер компьютер починял. продолжение

чо они челали с компом непонятно, но при включении при активном uefi- broken blocks и что-то про секурность

при отключенном uefi (режим legacy bios)- press any key boot device not found

при попытках установки граба- все без ошибок, вроде ставится, но при загрузке всё по-прежнему

при установке openSUSE такая же фигня- всё ставится, но не грузится (я так понимаю из-за недружбы граба с gpt, а gpt не дружит с биосом). в итоге был высмотрен раздел /dev/sda1 в 400 Мб (судя по всему там должен быть рекавери винды, но нетута- пустые 400М)- туда я вкорячил граб и суся взлетела, но винду граб не видит. вот. openSUSE 12.3 свежайшая.

так вот вопрос- как показать грабу винду? (файлы виндовые вроде на месте).

amorpher

я бы там сусю и оставил, но по некоторым причинам не могу- узбеки используют 3Гэ модем от билайна, а он в линуксе только с бубном и то не факт

Читайте также:  Linux снять защиту с флешки

С лайвсиди убунты восстанавливай (он умеет ефи, в отличии от арча, например, другое не пробовал).
Граб отлично дружит с гпт, только там проде как ему нужно указывать что раздел гпт, типа hd(0,gpt2).
Оффтоп: винда 8 научилась на gpt вставать дада?

теперь то вопрос вот какой- при установленной сусе восстановить граб с лайва убунты (12.04 есьт в наличии)- винду то он увидит? или покажет только практика?

UEFI
при отключенном uefi (режим legacy bios)- press any key boot device not found

Странно, не встречался. Посмотри ещё в настройках BIOS повнимательнее что ли.

Руками прописать или ещё раз обновить?

У винды битый зангрузчик? Если да — восстанавливай загрузчик винды, заходи на лайв сиди убунты в ефи моде, заходи в терминал, ставь граб и настраивай конфиги. Граб 2 точно умеет gpt на efi.
Собственно я настаиваю на убунте только из-за того что у меня там завелось на ефи. Попробуй, вдруг суся тоже может.
Если честно, когда у меня у самого были проблемы с грабом я юзал очень грязный хак. Я ставил арч, потом ставил убунту, она подхватывала арч, и уже затем я просто выпиливал убунту. 🙂

Это нормально, если загрузчик был на ефи и потом ты его вырубаешь то комп не будет видеть старый загрузчик. Так можно от нубов прятать системы, например 🙂

Посмотри ещё в настройках BIOS повнимательнее что ли

а что там смотреть? всё вроде хорошо.

а тут вообще петрушка

command not found

в сусе какой-то ненормальный граб?

завтра попробую. но это, по-моему, порнография настоящая. уефи этот сраный.

попробую на убунте. ибо с сусей как-то не пошло.

Почитай маны, там оказалось совсем не сложно. в арче это выглядело как правка файлов в /etc/grub.d/ Причем там совсем просто было. указываешь раздел с initrc и потом рутовый раздел. Если честно, я эту магию сам позавчера освоил (вроде как)

Надо просто быть уверенным, что лайвсиди загружается на ефи а не в старом моде. Иначе там какието переменные не подхватываются и все плохо.
Щяс я тебе напишу мини ман по конфигам

спасибо. попробую. просто там где происходит секс с этим ноутом нет интернета. поэтому все тяжко.

Надо просто быть уверенным, что лайвсиди загружается на ефи а не в старом моде

а. вот оно. я-от грузился с выключенным уефи. но с включенным же нет возможности выбора boot-device. или есть? ладно. завтра посмотрю.

Щяс я тебе напишу мини ман по конфигам

буду очень благодарен.

]$ cat /etc/grub.d/40_custom
#!/bin/sh
exec tail -n +3 $0
menuentry «Gentoo Linux» <
insmod ext2
set root=’hd0,gpt2′
echo ‘Загружается Linux core repo kernel …’
linux /kernel-genkernel-x86_64-3.7.10-gentoo root=UUID=49e08753-2aec-423a-b031-6a277cada9b6 ro
echo ‘Загружается начальный виртуальный диск …’
initrd /initramfs-genkernel-x86_64-3.7.10-gentoo
>

Короче вот, как я понял.

Название загрузочной записи

путь до раздела с /boot. 0 — номер диска (начиная с 0). gpt2 — номер раздела на нем (начиная с 1). Если /boot не на отдельном разделе, тогда вроде как нужно указывать раздел для /

linux /kernel-genkernel-x86_64-3.7.10-gentoo root=UUID=49e08753-2aec-423a-b031-6a277cada9b6 ro

Путь относительно текущего рута до ядра. Обычно он леждит в /boot. Если у нас /boot в отдельном разделе то видать из-за set root граб будет считать что у нас корень в данном разделе и путь до ядра нужно указывать так. Если бут в корне, то видать нужно будет писать /boot/vmlinuz-linux как-то так. Здесь мы указываем параметры загрузки ядра. Говорим ему что корень системы на разделе с таким-то UUID (можно просто написать что-то в стиле /dev/sda3). ro — только для чтения. Вот тут у меня есть вопрос. А если я упоролся и у меня /etc на отдельном разделе, как у меня потом найдется fstab?
Написал это потому что до позавчера для меня конфиги граба были магией. Это все есть в манах, просто вдруг я что-то нетак понял и меня поправят 🙂

Задавай вопросы и отвечай поподробней об ошибках. У меня одно время с грабом были очень серьезные проблемы я тоже хочу разобраться.
Кстати, ты же GRUB2 ставишь, да?

Без ефи могут быть проблемы с системой, вроде как.

Хотя знаешь, я зря старался, не читай 🙂 На русском арчвики вро grub2 отлично расписано. Читай раздел grub.cfg

спасибо. завтра отпишусь.

установил убунту. Граб не видит винду никак. Update-grub находит только линукс.

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