[РЕШЕНО] GPT, EFI и 32-разрядные системы

Вводная.
Я затеял апгрейд, вылившийся в сборку нового компьютера. Соответственно, есть мамка с поддержкой UEFI, винт на 3Т и SSD на 128Г. И остаётся старый комп, с мамкой без UEFI, винтом на 1.5Т и SSD на 60Г. На старом компе использовался grub4dos с меню на два экрана. В том числе, ДОС (да, настоящий ДОС) и несколько 32-разрядных Линуксов. Сейчас в новом компе времнно подключены оба винта. Старый - как есть, и его я трогать не хочу, а новый винт (он останется) помаленьку осваиваю.
На большом винте разбивка GPT неизбежна, так что поневоле поглядел и в сторону EFI. Сделал таблицу разделов GPT, создал системный раздел, в качестве загрузчика - то, что идёт c systemd (/usr/lib/systemd/boot/efi/systemd-bootx64.efi). Сделал меню для загрузки нынешнего Арч (с SSD). Работает.

А теперь проблемы.
1. Не грузится ни один 32-разрядный линукс. Говорит Unsupported. Вытащил из 32-разрядной ubuntu 16.04 загрузчик systemd-bootia32.efi, положил на ESP рядом с 64-разрядным - не помогает. Если без ДОС я ещё как-то могу обойтись, то 32-разрядный линукс нужен обязательно. Как-то это можно решить? Может, есть какой-то другой EFI-менеджер загрузки, который умеет гузить и 64- и 32- разрядные системы?
2. Сейчас (с двумя винтами) у меня есть возможность загрузить через grub4dos что угодно со старого винта, запустившись в режиме BIOS. Я мог бы водрузить grub4dos на SSD, но когда останется один новый винт с GPT, grub4dos уже не прокатит даже в режиме BIOS, поскольку он не понимает GPT. Есть какой-то BIOS-менеджер загрузки, понимающий GPT? (BIOS-режим не обязателен, но желателен, так как в EFI ДОС не может работать в принципе)

UPD: моё решение ниже
Устанавливай grub2 он решает все твои проблемы.
Потом по нему конкретные вопросы и задашь.
Lupus pilum mutat, non mentem.
jim945
Устанавливай grub2 он решает все твои проблемы.
Потом по нему конкретные вопросы и задашь.
Примерно так я предполагал... Два вопроса видны сразу: как отвязать его от конкретной ОС и как отучить его убивать конфиг ручной работы при каждом обновлении ядра? Впрочем, второе, наверно, автоматом отпадёт, если будет решено первое.
Хотелось бы, чтобы все его файлы сидели где-то в тихом месте (хоть и на отдельном разделе, специально для этого созданном), не слетали при сносе любой системы и чтобы ни в одной системе он не был установлен, не обновлялся, и чтоб никаких автоматических update-grub.
akorop
как отучить его убивать конфиг ручной работы при каждом обновлении ядра?
В арче при обновлении ядра конфиг автоматически не изменяется. Только вручную запускать команду.
akorop
Хотелось бы, чтобы все его файлы сидели где-то в тихом месте (хоть и на отдельном разделе, специально для этого созданном), не слетали при сносе любой системы и чтобы ни в одной системе он не был установлен, не обновлялся, и чтоб никаких автоматических update-grub.
Понял. Сам так пользуюсь.
Вики по грабу почитай. Именно русскую версию. Её Natrio писал. Всё очень грамотно и в подробностях.
Lupus pilum mutat, non mentem.
akorop
Хотелось бы, чтобы все его файлы сидели где-то в тихом месте (хоть и на отдельном разделе, специально для этого созданном), не слетали при сносе любой системы и чтобы ни в одной системе он не был установлен, не обновлялся, и чтоб никаких автоматических update-grub.
в грубе есть возможность импортировать конфиги других грубов.
menuentry "Kubuntu" {
    configfile /@kubuntu_boot/grub/grub.cfg
}
а установить отдельный независимый груб не проблема.
как это работает:
биос/эфи передает работу на этот независимый груб, который читает свой (изменяемый только вручную) конфиг.
потом в зависимости от выбранного меню загружает уже нужный, притом этот нужный конфиг может и автообновляться.
у меня так живут несколько систем и со своими конфигами груба они делают что хотят, а стартовый конфиг независимого груба остается не изменым.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
После экспериментов и осмысления я пришёл к следующему:
  • Поскольку я (пере)устанавливаю винду на большой винт с GPT, винду придётся грузить в режиме UEFI, она только так умеет.
  • Поскольку ДОСу требуется API BIOS, ДОС придётся грузить в режиме BIOS.
  • Поскольку 32-разрядные Линуксы не грузятся 64-разрядным UEFI, их придётся грузить в режиме BIOS.
  • Поскольку Windows я загружаю несравненно реже, чем 32-разрядные линуксы, режимом загрузки по умолчанию для материнки будет BIOS.
В связи с этим, и в связи с ранее озвученными пожеланием о независимости grub от всех ОС, я установил для материнки по умолчанию загрузку с SSD с MBR-разметкой, на него поставил grub2, а его файлы поместил в ESP на большом винте с GPT. В меню grub я руками вписал всё, что мне нужно, кроме винды. А если нужно загрузить винду, то надо вовремя потыкать клавишу вызова меню загрузки материнки (F11 у меня), и затем нажать Enter, поскольку так удачно получилось, что UEFI-загрузка Windows стоит там первым пунктом.
UEFI-менеджер загрузки из systemd оказался без функций, так что все фокусы с размещение /boot на ESP я убрал, и /boot - это обычный каталог в корне раздела (на SSD), как и раньше.
akorop
Поскольку 32-разрядные Линуксы не грузятся 64-разрядным UEFI, их придётся грузить в режиме BIOS.
Так из граба грузятся без проблем.
akorop
Поскольку ДОСу требуется API BIOS, ДОС придётся грузить в режиме BIOS.
Тут проблема, да.
Если в итоге планируется использовать только один диск "большой винт с GPT", то есть возможность создать гибридную таблицу разделов.
Установить оба загрузчика UEFI+Legacy. Для ДОСа в выделить раздел в MBR.
Все решаемо.
Lupus pilum mutat, non mentem.
jim945
Установить оба загрузчика UEFI+Legacy. Для ДОСа в выделить раздел в MBR.
Все решаемо.
Всё уже решено, я ж осписал.
Загрузчик UEFI мне не нужен, поскольку в режиме UEFI грузится только одна ОС - Win 10, её прекрасно грузит сам UEFI. Кому нужно меню из одного пункта?
Гибридная разметка мне не нужна, поскольку в системе два накопителя: HDD с GPT и SSD с MBR. "Зародыш" grub сидит в MBR на SSD, а тело - в ESP на HDD, конфиг grub чисто ручной. То есть можно снести или переустановить любую ОС, и это никак не отразится на загружаемости всех остальных.
Мне кажется, моя конфигурация достаточно типична, а моё решение - достаточно простое и усттойчивое. Зачем городить лишнее?
 
Зарегистрироваться или войдите чтобы оставить сообщение.