Uefi win 7: Установка Windows 7 на UEFI

Диспетчер загрузки Windows 7 не локализован в системах UEFI

Первоначально я опубликовал это в SuperUser, потому что обнаружил такое поведение на своем домашнем компьютере, но, похоже, это общая проблема в системах UEFI, поэтому я также публикую здесь; Я также надеюсь, что кто-то здесь может пролить свет на то, что происходит.

Итальянская версия Windows 7 x64 SP1, один и тот же установочный носитель используется в обоих случаях.

При работе в системах с BIOS диспетчер загрузки полностью локализован как для экрана загрузки, так и для меню загрузки F8. При работе в системах UEFI диспетчер загрузки всегда работает на английском языке, даже если он правильно настроен для использования языкового стандарта it-IT, как BCDEDIT ясно показывает:

 Диспетчер загрузки Windows
--------------------
идентификатор {bootmgr}
раздел устройства =\Device\HarddiskVolume1
путь \EFI\Microsoft\Boot\bootmgfw.efi
описание Диспетчер загрузки Windows
локаль it-IT
наследовать {глобальные настройки}
по умолчанию {текущий}
объект резюме {9ef36aa6-4188-11e3-909d-d32f0c3871c8}
порядок отображения {текущий}
инструменты displayorder {memdiag}
тайм-аут 30
Caricatore di Avvio di Windows
--------------------
идентификатор {текущий}
раздел устройства = C:
путь \Windows\system32\winload. efi
описание виндовс 7
локаль it-IT
наследовать {настройки загрузчика}
последовательность восстановления {9ef36aa8-4188-11e3-909d-d32f0c3871c8}
восстановление включено Да
раздел устройства = C:
системный корень \виндовс
объект резюме {9ef36aa6-4188-11e3-909d-d32f0c3871c8}
nx согласие
 

Я тоже заметил здесь кое-что странное; в настройках материнской платы в качестве основного варианта загрузки отображается «Диспетчер загрузки Windows», а фактический загрузочный диск указан как второй . Похоже, что диспетчер загрузки Windows на самом деле загружается откуда-то еще, а не из первого раздела первого диска… что здесь происходит?


Я также проверил диспетчер загрузки EFI, используя bcdedit /enum FIRMWARE . Этот тоже выглядит правильно локализованным:

 Boot Manager для каждой прошивки
---------------------
идентификатор {fwbootmgr}
порядок отображения {bootmgr}
                        {9ef36aa4-4188-11e3-909d-d32f0c3871c8}
                        {a30e8550-47e4-11e3-9ad1-806e6f6e6963}
тайм-аут 1
Менеджер загрузки для Windows
--------------------
идентификатор {bootmgr}
раздел устройства =\Device\HarddiskVolume1
путь \EFI\Microsoft\Boot\bootmgfw. efi
описание Диспетчер загрузки Windows
локаль it-IT
наследовать {глобальные настройки}
по умолчанию {текущий}
возобновить объект {9ef36aa6-4188-11e3-909d-d32f0c3871c8}
порядок отображения {текущий}
инструменты displayorder {memdiag}
тайм-аут 30
Прикладная прошивка (101ffffff)
-------------------------------
идентификатор {9ef36aa4-4188-11e3-909d-d32f0c3871c8}
описание CD/DVD-привод
Прикладная прошивка (101ffffff)
-------------------------------
идентификатор {a30e8550-47e4-11e3-9ad1-806e6f6e6963}
описание Жесткий диск
 

Я могу подтвердить такое же поведение на виртуальной машине VMware (Workstation 10); используя тот же ISO для установки, когда прошивка виртуальной машины настроена для BIOS, диспетчер загрузки полностью локализован, а когда он настроен для EFI, он настроен для локализации (все локали установлены на it-IT ), но на самом деле он работает на английском языке.

Установка системы

. Что нужно сделать перед двойной загрузкой Windows 7 и Debian на EFI?

РЕДАКТИРОВАТЬ: Когда я писал этот ответ, очень мало дистрибутивов поставлялось с настроенным ядром EFI_STUB, поэтому приходилось создавать собственное ядро. В настоящее время большинство дистрибутивов поставляются с соответствующим образом сконфигурированным ядром, и пользовательская сборка больше не требуется. В этом случае разделы «Настройка разделов» и «Настройка вещей» самые интересные, «Требования» и «Сборка ядра» можно пропустить.

Я не знаю, как Windows обрабатывает UEFI, но со стороны Debian это довольно
простой.

Настройте разделы

Используйте схему разделов GPT, а не MBR.

Для загрузки с раздела GPT с UEFI требуется выделенный загрузочный раздел,
называется СИСТЕМНЫЙ РАЗДЕЛ EFI (ESP). Это не обязательно, но наиболее
совместимый способ — использовать раздел FAT32. Размер 200 МБ должен быть в порядке
для большинства случаев.

Чтобы зарегистрировать раздел как ESP, он должен быть помечен флагом загрузки .
В отличие от схем MBR, флаг загрузки используется только для обозначения ESP,
а не разделы, с которых можно загрузиться.

UEFI использует структуру каталогов \EFI\\. efi для хранения
UEFI-приложения. Разделитель каталогов обозначается обратной косой чертой , даже на
Линукс. может быть именем дистрибутива, фактическое значение не имеет значения
к УЕФИ.

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

Требования

Ядро Linux версии >=3.3 можно загрузить напрямую через UEFI. Ядро может действовать как собственный загрузчик. Это называется EFISTUB . Необходимы следующие конфигурации ядра.

CONFIG_EFI=у
CONFIG_EFI_PARTITION=y
CONFIG_EFI_STUB=y
CONFIG_RELOCATABLE=y
CONFIG_FB_EFI=у
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_EFI_VARS=м
 

Ядро с этой конфигурацией в настоящее время еще не находится в стабильной версии Debian. Вы также можете
запеките свое собственное ядро ​​или используйте ядро ​​из экспериментального дерева, в этом случае вы можете пропустить следующий абзац.

Компиляция ядра

(вероятно, больше не нужно, см. правку)

Если вы решите скомпилировать ядро, вот краткие инструкции, как это сделать. Если у вас возникнут проблемы, есть много доступной информации о том, как скомпилировать ядро.

Получение источника

git-клон git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
 

Проверить конкретную версию

Git-касса v3.6
 

Настройка ядра

сделать менюконфигурации
 

Сделайте настройки, которые необходимы в вашей системе, или оставьте как есть
если вам нечего настраивать. Это пишет ядро
конфигурации в файл .config .

Убедитесь, что установлены настройки из предыдущего параграфа. Это также
имеет смысл выбрать CONFIG_INPUT_EVBUG=n . В противном случае ваши журналы
будет заполнен ГиБ хлама.

Сборка ядра

INSTALL_MOD_STRIP=1 make-kpkg --uc --us бинарный-архив
 

Пакеты создаются в родительском каталоге.

Установка ядра

dpkg -i linux-image-3.5.0_Custom.deb linux-headers-3.5.0_Custom.deb
 

Сборка initramfs

mkinitramfs -o /boot/initrd.img-3.6.0-amd64 3.6.0
 

3.6.0 — это версия ядра. По умолчанию это работающее ядро,
что не является хорошим выбором, так как вы все еще используете старую
ядро.

Настройка

Чтобы иметь возможность загрузить ядро ​​Linux, его необходимо вместе скопировать в ESP
с инитрамфс. Учитывая, что ESP смонтирован по адресу /boot/efi

/загрузка/efi/EFI/дебиан/vmlinuz-3.6.0.efi
/boot/efi/EFI/debian/initrd.img-3.6.0
 

ПРИМЕЧАНИЕ. Для обеспечения совместимости с большинством систем расширение efi должно
добавить в ядро.

Теперь ядро ​​можно зарегистрировать в UEFI. Мы используем инструмент efibootmgr для
что.

 echo "root=UUID=3a4287b6-b3a7-4721-da38-acc38a928278 ro rootfstype=ext4 add_efi_memmap initrd=\\EFI\\debian\\initrd.

Читайте также: