3

У меня была рабочая мультизагрузочная установка с загрузчиком Windows, содержащая пункты меню для двух систем Windows 7 и один для GRUB. GRUB, в свою очередь, содержит несколько пунктов меню, но я думаю, что здесь это не актуально. Я обновил одну систему до Windows 8. Когда я теперь устанавливаю другую систему по умолчанию, я теряю меню загрузки и теряю возможность загрузки других систем. Я установил Windows 7 по умолчанию, перезагрузил компьютер и получил Windows 7, но я не могу выбрать, в какую систему загружаться. Я могу запустить свой собственный BCDedit, чтобы изменить значение по умолчанию обратно на Windows 8, и еще одна перезагрузка снова показывает меню загрузки, но как мне избежать использования по умолчанию Windows 8?

Вот мои текущие настройки загрузки. Есть что-нибудь неправильно настроенное?

C:\WINDOWS\system32>bcdedit

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=F:
description             Windows Boot Manager
locale                  nl-NL
inherit                 {globalsettings}
integrityservices       Enable
default                 {current}
resumeobject            {2f8b77f0-a30b-11e1-a9c6-a4bd8d37f662}
displayorder            {current}
                        {2f8b77e3-a30b-11e1-a9c6-a4bd8d37f662}
                        {2f8b77ee-a30b-11e1-a9c6-a4bd8d37f662}
toolsdisplayorder       {memdiag}
timeout                 30

Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \WINDOWS\system32\winload.exe
description             Windows 8
locale                  nl-NL
inherit                 {bootloadersettings}
integrityservices       Enable
recoveryenabled         No
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \WINDOWS
resumeobject            {2f8b77f0-a30b-11e1-a9c6-a4bd8d37f662}
nx                      OptIn
bootmenupolicy          Standard

Windows Boot Loader
-------------------
identifier              {2f8b77e3-a30b-11e1-a9c6-a4bd8d37f662}
device                  partition=D:
path                    \Windows\system32\winload.exe
description             Windows 7
locale                  nl-NL
osdevice                partition=D:
systemroot              \Windows
resumeobject            {59616f59-a2ba-11e1-b73a-806e6f6e6963}
nx                      OptIn
pae                     Default
bootmenupolicy          Standard
hypervisorlaunchtype    Auto
detecthal               Yes
sos                     No
debug                   No

Real-mode Boot Sector
---------------------
identifier              {2f8b77ee-a30b-11e1-a9c6-a4bd8d37f662}
device                  partition=C:
path                    \grub\winloader\grub.boot
description             Grub 2

3 ответа3

1

Ответ billc.cn случайно указал мне верное направление. Когда я изменил загрузочный элемент по умолчанию на GRUB, ничего не делая, я получил старый загрузочный интерфейс, и загрузка будет ждать 30 секунд перед загрузкой GRUB. Это поведение, которое я также хотел бы для Windows 7. Глядя на различия, почему это работает с одним, а не с другим, я обнаружил:

Windows Boot Loader
-------------------
identifier              {2f8b77e3-a30b-11e1-a9c6-a4bd8d37f662}
device                  partition=D:
path                    \Windows\system32\winload.exe
description             Windows 7
...
bootmenupolicy          Standard

Это подделка. bootmenupolicy Standard - новое графическое меню загрузки Windows 8. Поскольку этот пункт меню предназначен для Windows 7, в которой его нет, он должен быть установлен на bootmenupolicy Legacy:

bcdedit /set {2f8b77e3-a30b-11e1-a9c6-a4bd8d37f662} bootmenupolicy Legacy

Что также работает, так это полное удаление значения:

bcdedit /deletevalue {2f8b77e3-a30b-11e1-a9c6-a4bd8d37f662} bootmenupolicy

Похоже, что-то пошло не так при обновлении до Windows 8. Он изменил оба пункта меню загрузки на новое графическое меню, но это должно было быть сделано только для обновления Windows.

0

Ах, я вижу твою проблему сейчас. Возможно, загрузчик Windows 8 слишком быстро передал управление своей счетной части Windows 7 (возможно, если вы удерживаете нажатой клавишу F8, вы можете ее увидеть).

Я полагаю, вы можете изменить свой основной загрузчик на Grub и использовать его функцию загрузки по цепочке. Вам нужно будет иметь две копии хранилища BCD (то есть папки \boot ) в отдельных системных разделах и создать две записи цепной загрузки в файле конфигурации grub. Это использует тот факт, что Windows полагается на первые несколько секторов NTFS-раздела для загрузки (вместо MBR).

Вы должны использовать инструменты (например, EasyBCD) для создания второго хранилища BCD, потому что вышеупомянутые загрузочные сектора также могут нуждаться в обновлении. Я бы посоветовал вам создать второй BCD в разделе Win7 и использовать его для загрузки Win7.

0

Попробуйте EasyBCD. Вы можете выбрать ОС по умолчанию и многое другое, а также опции резервного копирования и восстановления!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .