LINUX.ORG.RU

Grub2 EFI поддерживает загрузку Windows с MBR диска?

 , ,


0

1

Есть два диска:

sda = GPT >> Fedora
sdb = MBR >> Ubuntu, Windows 10

Прошивка загружается в режиме Legacy + UEFI. Собственно, Grub (а конкретнее os-prober) из Fedora детектирует только Ubuntu, причем даже если диск не смонтирован. Оффтопик видеть не хочет, никак. Можно это как-то настроить или это такое ограничение Grub? В упор не понимаю почему он бунту видит, а винду - нет.


если венда на другом физическом диске, груб вообще нафиг не нужен, в uefi будет два пункта автоматически

anonymous ()

Все должно быть в одном режиме: УЕФИ, загрузчики, системы.

MBR >> Ubuntu, Windows 10

На MBR виндовс устанавливается только в режиме легаси, это ее бзик.

Grub (а конкретнее os-prober) из Fedora детектирует только Ubuntu

Вероятно Федора установлена в режиме ЕФИ, а соответственно установлен грубЕФИ.

Можно это как-то настроить

Как уже сказал, установить все в одном режиме. Без этого не поможет никакая магия.

andytux ★★★ ()

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

menuentry "Windows 7-10 BIOS MBR" {
     insmod part_msdos
     insmod ntldr
     insmod ntfs
     find --set-root /bootmgr
     ntldr /bootmgr
}
menuentry "Windows 2000-XP BIOS MBR" {
     insmod part_msdos
     insmod ntldr
     insmod ntfs
     find --set-root /ntldr
     ntldr /ntldr
}

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

Но только если в ручную соорудишь запись

Запись - это в смысле просто конфиг Grub ручками поправить? Не распарсил строку find --set-root /bootmgr, что она делает?

Вот тут (https://wiki.gentoo.org/wiki/GRUB2/Chainloading), например, еще так советуют:

menuentry "Windows 7 BIOS MBR" {
     insmod part_msdos
     insmod chain
     parttool hd1,msdos1 hidden+ boot-
     parttool hd1,msdos2 hidden- boot+
     chainloader (hd1,msdos2)+1
}

Кстати, нашел еще, что можно сгенерить EFI загрузчик для винды (https://askubuntu.com/a/447687/523470). Правда не упоминается переживет ли эту операцию легаси загрузчик.

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

find --set-root /bootmgr

Ищет на всех разделах файл bootmgr и если находит, то делает раздел корневым(основным для загрузки).
В этом случае grub сам найдет операционку. Но это только если есть один винчестер с виндой. Иначе будет путаница.

chainloader (hd1,msdos2)+1

Это если ты знаешь какой номер у диска и номер раздела с операционкой.
Про «parttool» сейчас точно не помню. Надо вспоминать. Но это что то типа временного скрытия раздела и установки флага загрузки на конкретный раздел. Это вроде нужно, если несколько операционок винды. Но это не точно - не помню уже.

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

Disable driver check integrity на сколько я помню ставил после сотни переустановок до не знания этого подхода и дальше без проблем , что до линукса все ему конец он превращается в адовое уеб..ще из за всяких контор придётся скоро на винду возвращаться хотя та коза пример шрифтов успела стащить щас там всё красиво выглядит в плане картинки и шрифтов , все стартапы чисто гон своя секта пиз..т наработки глазом не моргнёшь самая удачная только вышла возвращаюсь смотрю ядро config-5.4.0-21-generic config-5.4.0-1002-oem уже нету дикари работают машины налету супер конфигурируют проблема в дикарях

anonymous ()
Ответ на: комментарий от Atlant
can't find command: find
can't find command: ntldr

Похоже камрады таки правы. Затык в Grub, по непонятной причине, он реально не умеет грузить винду в легаси из UEFI (https://wiki.archlinux.org/index.php/Dual_boot_with_Windows_(Русский)#Поддержка_режимов_UEFI_и_BIOS_загрузчиками).

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

can’t find command: ntldr

И не найдет, потому, что в грубЕФИ такой команды нет.

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

И ссылку приводишь верную, трактуешь неправильно.

Затык не в груб. Причина проста и понятна. БИОС умеет грузить только загрузчик из MBR. Ни о каких ЕФИ-загрузчиках он понятия не мог иметь в принципе. Так-же действует его наследник - легаси/CSM. А УЕФИ создана так, чтобы грузить только ЕФИ-загрузчики. Плюс прибавить к этому всякие рогатки, придуманные мелкомягкими.

andytux ★★★ ()

Оставлю решение для гугла. :) Проблема полечилась конвертацией MBR диска в GPT из под установочного диска винды:

> mbr2gpt /convert /disk:1

Оно автоматом конвертирует таблицу разделов, создает ESP и кладет туда EFI загрузчик винды.

Всем спасибо за помощь.

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

соорудил на старом компе загрузку в UEFI режиме (винчестер 4Тб был).

у меня 4TB диск работает как MBR, видны все 4TB

Egor_ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.