1

У меня есть ноутбук HP (HP 240 G5 с процессором Intel Core i3-5005U) с предустановленной 64-битной Windows 10 Home Single Language.

Для тестирования моего программного обеспечения мне нужно дополнительно установить 32-битную Windows 10 на эту машину.

Я создал новый раздел "Win32", где я хочу установить 32-битную Windows 10:

Paritions

Существующие разделы являются GPT, поэтому мне нужно установить новый образ через UEFI. Устаревший режим BIOS бесполезен, так как требует MBR-разделов.

Я использовал инструмент загрузки Microsoft (MediaCreationTool.exe), чтобы загрузить последнюю 32-разрядную версию Windows 10:

Скачать Windows 10

Я получаю ISO-образ размером 2.836.660.224 байта в формате NTFS.

Я использую Rufus, чтобы скопировать его на флешку:

Руфус

Я выключил Secure Boot и изменил порядок загрузки:

Настройки UEFI

Но когда я пытаюсь загрузиться с флешки, она не появляется в меню:

Меню загрузки

Не имеет значения, копирую ли я ISO-образ на USB-накопитель или на DVD. Результат тот же.

Когда я выбираю "Диспетчер загрузки ОС", запускается Windows на жестком диске.

Когда я выбираю "Загрузка из файла EFI", я получаю это меню, в котором я выбрал USB-накопитель:

Загрузка из файла EFI

А затем отображается меню с 3 файлами. Странно то, что BIOS показывает мне файлы, которых нет на USB-накопителе. Единственный существующий файл в образе ISO - это \efi \boot \bootia32.efi

Загрузка из файла EFI

Независимо от того, какой вариант я выбираю в этом меню, я получаю одну и ту же ошибку:

Загрузка из файла EFI

Очевидно, потому что файл bootx64.efi на самом деле не существует. Но я также получаю эту ошибку после выбора файла bootia32.efi. Очень странно!

Тогда я подумал: «Хорошо, я просто скопирую этот отсутствующий файл с установочного DVD 64-разрядной версии Windows 10». И на деле вышеуказанная ошибка исчезает. Но через несколько секунд я получаю ошибку C0000359:

Ошибка C0000359

Затем я скачал образ ISO для установки как: 32, так и 64 бит.

MediaCreationTool

Файл ISO имеет размер 6,5 ГБ! (Я помню установку Windows 3.1 с 15 дискет). При загрузке в меню нет возможности выбрать загрузку с флешки. Я снова выбрал файл EFI вручную:

bootmgr.efi

И тогда на деле я получаю ожидаемое меню:

Установите Windows 10

но не повезло

Ошибка C0000359


Интересно, что у меня есть другой ISO-образ только с 64-битной версией Windows 10, и я получаю правильное меню загрузки:

Меню загрузки

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

Разве это не странно? Только 64-битный ISO работает правильно, в то время как 32+64-битный ISO дает сбой.

Так что здесь не так? Один из трех файлов ISO запускается, а два других не работают.

Я читал, что процессор Intel Core i3 должен поддерживать 32-разрядную или 64-разрядную операционную систему.

2 ответа2

4

Руфус (и UEFI:NTFS) автор здесь.

Несколько объяснений:

  1. Вы видите 3 файла (bootia32.efi , bootx64.efi и bootarm.efi) из UEFI:NTFS, а НЕ из вашего ISO. Они используются для загрузки драйвера UEFI NTFS, чтобы можно было продолжить загрузку с раздела NTFS, что обеспечит загрузку NTFS из UEFI.

  2. От второго до последнего скриншота, который вы опубликовали, является вывод UEFI:NTFS, который довольно четко указывает на то, что ваша прошивка UEFI является 64-битной. (x64) в *** UEFI:NTFS (x64) *** - это архитектура UEFI, которую вы используете.

  3. Поэтому для установки 32-битной Windows на вашу платформу вам потребуется загрузить 32-битный исполняемый файл UEFI с 64-битной платформы UEFI. Насколько я знаю, это невозможно в режиме UEFI, поскольку 64-разрядный UEFI считает исполняемый файл 32-разрядного UEFI таким же посторонним, как если бы он был для процессора ARM или MIPS, и поэтому откажется выполнять его. Пожалуйста, помните, что хотя 64-битные ОС, такие как Windows или Linux, имеют 32-битную эмуляцию по умолчанию для 32-битного программного обеспечения, то же самое не относится к UEFI. Так что, если вы не можете найти 32-битный уровень эмуляции для UEFI, который позволит вам запускать 32-битные исполняемые файлы на 64-битных (опять же, я не знаю об этом), ваш единственный вариант для запуска как 32, так и 64-битных Одновременно Windows в 64-разрядной системе должна устанавливать Windows не в режиме UEFI, а в режиме BIOS или эмуляции BIOS (также называемом "CSM" или «UEFI-CSM»), что, вероятно, означает, что вам потребуется переформатировать весь диск. переключить его со схемы разделов GPT на схему разделов MBR (поскольку GPT в основном несовместим с загрузкой BIOS).

Кроме того, для тех, кто может задаться вопросом, почему, тогда как совместимость с BIOS/BIOS позволяет 32-разрядной и 64-разрядной Windows загружаться практически без разбора, в то время как UEFI этого не делает, причина в значительной степени историческая. В отличии от UEFI, есть только один аромат BIOS, который является 32-разрядным 16-разрядным только. Так что получается, что с появлением 64-битных процессоров (которые внутренне могут работать в 16, 32 или 64-битном режиме), Microsoft создала загрузчик BIOS, который переключается из 32-битного 16-битного режима выполнения ( режим, в котором 64-разрядный ЦП находится после выхода из BIOS) в 64-разрядный режим выполнения, точно так же, как он имеет загрузчик, который переключается с 16 на 32-разрядный режим для 32-разрядной Windows. Однако для загрузки UEFI Microsoft не предоставляет нечто похожее на переключение из 64-разрядного режима выполнения (режим, в котором находится 64-разрядный процессор после выхода из 64-разрядной прошивки UEFI) в 32-разрядный режим выполнения, поэтому, к сожалению, если все, что у вас есть, это 64-битная прошивка UEFI и вы хотите загрузить Windows в режиме UEFI, вы в значительной степени придерживаетесь той же "разрядности", что и ваша прошивка UEFI.

РЕДАКТИРОВАТЬ: Я считаю, что вы должны пойти с ответом Рода, поскольку он предоставляет лучшие альтернативы.

3

Прошивка EFI предназначена для запуска ОС с той же битовой глубиной, что и она сама. То есть 64-разрядный EFI может запускать 64-разрядные ОС, но не 32-разрядные; и 32-разрядный EFI может запускать 32-разрядные ОС, но не 64-разрядные ОС. Поскольку на компьютере уже установлена 64-разрядная версия Windows в режиме EFI, кажется, что на вашем компьютере установлена 64-разрядная версия EFI, а это означает, что вы не сможете установить 32-разрядную версию Windows непосредственно на компьютер. - по крайней мере, не так, как сейчас. Я вижу несколько возможных обходных путей:

  • Виртуализация. Вы можете установить 32-разрядную версию Windows на виртуальной машине (VirtualBox, VMWare и т.д.). Это, вероятно, будет лучшим решением, если вам не нужен прямой доступ к оборудованию для тестирования программного обеспечения. Помимо прочего, вы сможете запускать обе версии Windows одновременно, что должно значительно ускорить тестирование.
  • Полностью переключитесь на загрузку BIOS/CSM/ устаревшего режима - вы можете переустановить как 64-, так и 32-разрядные версии Windows, используя модуль поддержки совместимости (CSM), который позволяет компьютеру загружаться в старом BIOS. Загрузка в режиме BIOS позволяет (на самом деле, требуется для 32- и 64-разрядных ОС) переключаться с одной глубины процессора на другую, так что вы можете смешивать и сопоставлять по своему усмотрению. Это потребует понимания того, как управлять CSM. Эта моя страница может быть полезной, хотя она написана для пользователей Linux, которые хотят выполнить двойную загрузку Windows и Linux и сталкиваются с проблемами с CSM, а не для людей, которые хотят выполнять двойную загрузку различных версий Windows, требующих использования CSM. Может быть возможно преобразовать текущую установку Windows для загрузки в режиме BIOS, используя противоположную процедуру, но я не могу дать никаких обещаний, и я не могу предложить большую помощь по адаптации процедуры, кроме как указать на этот метод делает преобразование таблицы разделов диска.
  • Загрузка 32-разрядной Windows в режиме BIOS с GPT-диска - загрузка таким способом возможна для большинства операционных систем, но Windows затрудняет это. Я бы сказал "невозможно" не так давно, но я наткнулся на эту процедуру, которая утверждает, что делает это возможным; но я никогда не пробовал это сам и поэтому не могу обещать, что это сработает. Кроме того, если вы сделаете это, вам нужно будет переключаться между режимом BIOS и загрузкой в режиме EFI, что может быть неудобно.
  • Используйте другой компьютер. Очевидно, что вы можете использовать второй компьютер для тестирования своих 32-битных сборок программного обеспечения, по крайней мере, теоретически. Вам понадобится второй компьютер, который может потребовать денег, места и т.д.
  • Найдите загрузчик, который поддерживает загрузку с 64-разрядной до 32-разрядной версии. Теоретически, правильно написанный загрузчик EFI может загружать 32-разрядное ядро в 64-разрядную версию EFI или наоборот. GRUB может сделать это для Linux и загрузчик macOS тоже. Я не знаю ни одного загрузчика, который мог бы сделать это для Windows, но это по крайней мере теоретически возможно. Если вы достаточно опытны, вы можете написать такой загрузчик самостоятельно. Может быть, старый загрузчик XOM может быть адаптирован к вашим потребностям, но это долгий путь.

Какое решение подходит вам лучше всего, зависит от ваших конкретных потребностей и возможностей.

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