LINUX.ORG.RU

Как установить grub рядом с загрузчиком виндовс?

 , , ,


0

1

Всегда когда я устанавливал линукс grub что-то делал с загрузчиком винды и приходилось его восстанавливать . Можно ли как-то сделать чтобы в бут меню был загрузчик виндовс и grub ?

Перемещено hobbit из general

Можно. Но конкретная реализация зависит от режима загрузки BIOS / UEFI. И обе системы (загрузчика) должны быть установлены в одном режиме, чтобы из одного можно было вызывать другой.

Почитай вот это:

Ну и по ссылкам там походи.

Здесь все ответы, что тебе нужны, если что-то не понятно - изучай хотя бы wikipedia.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)

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

masa ★★★
()

В Legacy на разных физических дисках можно, выбирая диск, но так себе, на любителя извращений. На одном физическом диске можно в PBR, который потом сохранить в файл и в загрузчике Windows добавить загрузку этого файла как mbr, потом нянчится с ним, так как каждое обновление grub2 переписывает PBR и нужно обновлять файл. В какой-то момент после очередного обновления grub2 он не грузится, понимаешь что обновился grub2, запускаешь LiveCD (хотя можно и в Windows), выполняешь команду sudo dd if=/dev/sda3 of=/media/windows/boot.pbr bs=512 count=1. Но пару тройку таких извращений и выбор падёт на grub2 как основной загрузчик, а загрузчик винды лесом.

Можно ещё через Grub4Dos, указав загрузку grldr.mbr, который грузит grldr и в menu.lst прописать загрузку линуксов. Но Windows при выборе пункта перезагружается, увеличивая время загрузки. Прописка в BCD батником:

@echo off
color 3b

:: Для изменения BCD в загруженной системе /store и путь не указываются
REM set bcd=/store "C:\Boot\BCD"
set bcd=
echo  -set-bcd
pause
for /f "tokens=2" %%a in ('Bcdedit %bcd% -create /d "Grub4dos" -application bootsector') do set guid=%%a
echo  guid %guid%
pause

BCDEDIT.EXE %bcd% /set %guid% device boot
echo  device
pause
BCDEDIT.EXE %bcd% /set %guid% path \grldr.mbr
echo  path
pause
BCDEDIT.EXE %bcd% /displayorder %guid% /addlast
echo  addlast
pause
bcdedit %bcd% -set {bootmgr} timeout 3
echo  timeout
pause

REM tokens=2 или 3... на семёрке - 2

Всегда когда я устанавливал линукс grub что-то делал с загрузчиком винды и приходилось его восстанавливать

Переписывал MBR прописывая себя взамен Windows. Можешь сохранить MBR в файл и посмотреть разницу между до и после.

AZJIO
()
Последнее исправление: AZJIO (всего исправлений: 3)
Ответ на: комментарий от AZJIO

пару тройку таких извращений и выбор падёт на grub2 как основной загрузчик, а загрузчик винды лесом.

Винда всегда загружается только своим загрузчиком. Пока есть винда, без виндовс-загрузчика не обойдёшься. Будь то ‘chainloader +1’, ‘ntldr…’, ‘grldr…’ или ещё как, все они запускают ‘bootmgr…’

andytux ★★★★★
()
Ответ на: комментарий от andytux

Пока есть винда, без виндовс-загрузчика не обойдёшься.

В принципе так можно сказать и про линукс, пока есть линукс без его загрузчика не обойдёшься, виндовый не загрузит ядро линукс напрямую, только через прокладку Grub2/Grub4Dos. У нас же цепочки bootmgr(BCD)->Grub2/Grub4Dos, либо Grub2/Grub4Dos->bootmgr(BCD) в Legacy.

AZJIO
()
Ответ на: комментарий от AZJIO

В какой-то степени, да.

Но виндовс абсолютно привязан к своему загрузчику. Там даже понятия нет, установить без загрузчика.

Линукс, впринципе, может быть без загрузчика. Может быть совершенно другой загрузчик (systemd-boot, rEFInd). Загрузчик может быть абсолютно посторонним, о котором система даже не знает. ЕФИ может запустить ядро линукс без промежуточных загрузчиков.

andytux ★★★★★
()