Я пытаюсь реализовать какую-то необычную идею на моем ПК.
Всего у меня 6 разделов:
- Первый для Windows 7 (моя основная ОС)
- 2-й для Ubuntu
- 3-й и 5-й - разделы хранения Windows
- 4-й дом для Ubuntu
- и 6-й - раздел восстановления с некоторыми инструментами крайнего случая.
Моя идея выглядит так:
- Windows - это вариант загрузки по умолчанию
- Ubuntu является загрузочным как внутри, так и внутри виртуальной машины под управлением Windows
- GRUB2 может запустить некоторые инструменты из последнего раздела
Пока это работает просто отлично. Мой MBR и первая BS - нетронутые сектора Windows по умолчанию. На втором BS установлена GRUB2, которая используется для запуска Ubuntu. На последнем разделе также находятся GRUB4DOS и memdisk, загруженные из Grub2win. Виртуальная машина имеет виртуальный диск, связанный с GRUB, поэтому раздел Ubuntu является загрузочным.
Итак, загрузка выглядит так:
- Windows: MS BootMgr -> Windows 7 (по умолчанию)
- Ubuntu: MS BootMgr -> Grub2win -> GRUB2 -> Ubuntu
- Инструменты: MS BootMgr -> Grub2win -> GRUB4DOS -> (некоторые другие инструменты)
Чего я хочу добиться, так это сделать (некоторые) GRUB2 практически первым загрузочным менеджером, предпочтительно текущим Grub2win. Идеальный сценарий будет:
- Windows: статическая GRUB2 -> MS BootMgr -> Windows 7 (по умолчанию)
- Ubuntu: статический GRUB2 -> Ubuntu's GRUB2 -> Ubuntu
- Инструменты: статические GRUB2 -> GRUB4DOS -> (инструменты)
Проблема в том, что я понятия не имею, как установить другой независимый GRUB2 или как сделать Grub2win моим менеджером загрузки по умолчанию (если я правильно понял, это даже невозможно).
Установка времени ожидания BootMgr на 0 и установка Grub2win в качестве опции загрузки по умолчанию сделает Grub2win практически первым, но тогда будет невозможно запустить Windows. Решением было бы запустить Windows напрямую (без BootMgr), но, насколько я знаю, это невозможно.
Тем не менее, Ubuntu, похоже, делает это с GRUB2 - он просто пропускает BootMgr и загружает Windows. Я попытался скопировать эту запись из /boot/grub/grub.cfg
в конфигурацию Grub2win, но тогда это не сработало - просто запустил BootMgr.
Причина, по которой я не хочу использовать GRUB в Ubuntu, заключается в том, что каждый раз, когда update-grub
запускается внутри виртуальной машины, Windows исчезает из списка. Это происходит потому, что виртуальная машина имеет доступ только к двум разделам Linux, поэтому для виртуализированной Ubuntu нет видимого раздела Windows.
Итак, сейчас моя цель - запустить Windows напрямую из Grub2win, как это делает Ubuntu GRUB2. Ребята, вы можете мне помочь?
Изменить: еще несколько вещей, чтобы рассмотреть:
- GRUB4DOS является неотъемлемой частью некоторого набора инструментов, поэтому он в принципе неприкосновенен. Я не хочу делать никакой дополнительной работы над каждым обновлением набора инструментов.
- Мне нужен какой-то способ загрузки с ISO-образов - в настоящее время я использую Grub2win + memdisk.
- Меню Ubuntu GRUB точно такое же, как при загрузке по цепочке, так и на виртуальной машине. Поскольку к виртуальной машине подключено только 2 раздела Ubuntu, в этом меню мне нужны только параметры, связанные с Ubuntu.