Настройка загрузки VHD для 32-битной ОС Windows 8.1 на 64-битной UEFI

Настройка загрузки VHD для 32-битной ОС Windows 8.1 на 64-битной UEFI

У меня Surface Pro 3, на котором изначально установлена ​​Windows 8.1 64-bit. По сути, UEFI на устройстве имеет 64-битный загрузчик.

Я пытаюсь настроить устройство так, чтобы разрешить загрузку VHD в 32-битной ОС Windows 8.1. Когда я наконец загружаюсь в образ VHD, я получаю сообщение об ошибке, в котором говорится, что образ поврежден.

Я сделал следующие шаги. Сначала я создал файл vhdx:

diskpart
create vdisk file=D:\windows8.vhdx maximum=40960 type=expandable
select vdisk file=D:\windows8.vhdx
attach vdisk
create partition primary
assign letter=F
format quick label=VHDX
exit

Затем я смонтировал образ Windows 8.1 32-бит на свой E:\диск и применил образ к файлу .vhdx:

dism /Apply-Imaeg /ImageFile:E:\Sources\install.wim /index:1 /ApplyDir:F:\

После этого я использовал bcdboot для генерации записей загрузчика:

F:\Windows\system32\bcdboot.exe F:\Windows /s F: /f ALL /d /addlast

После этого я нашел запись загрузчика и добавил тип запуска гипервизора и соответствующее описание:

bcdedit /v
bcdedit /set {GUID-FROM-ABOVE} hypervisorlaunchtype auto
bcdedit /set {GUID-FROM-ABOVE} description Windows 8.1 32-bit (VHDX)

Затем я перезагрузил устройство, чтобы иметь возможность выбрать загрузочный образ VHD:

shutdown /r /o /t 0

Когда я наконец загрузил образ, я получил следующую ошибку:

Your PC needs to be repaired
File: \windows\system32\winload.efi
Error code: 0xc0000359  
The application or operating system couldn't be loaded because a required file is missing or contains errors.

Что я здесь делаю не так?

решение1

Дополнительная обновленная информация оКроссплатформенная загрузка UEFI Windows.

Поддержка Windows для UEFI

Microsoft начала с поддержки EFI 1.10 на серверах, а затем добавила поддержку UEFI как на клиентах, так и на серверах.

С UEFI 2.3.1 существуют версии UEFI x86 и x64. Windows 10 поддерживает обе. Однако UEFI не поддерживает кроссплатформенную загрузку. Это означает, что компьютер с UEFI x64 может работать только с 64-разрядной операционной системой, а компьютер с UEFI x86 может работать только с 32-разрядной операционной системой.


Добавлена ​​некоторая информация о загрузке из Windows 10, Windows To Go для UEFI и Legacy | 32 против 64 бит.

https://technet.microsoft.com/en-us/library/mt185782(v=vs.85).aspx

Проверка архитектурной совместимости между хост-компьютером и диском Windows To Go

Помимо поддержки загрузки с USB в BIOS, образ Windows 10 на вашем диске Windows To Go должен быть совместим с архитектурой процессора и прошивкой хост-компьютера, как показано в таблице ниже.


У меня также есть Surface Pro 3, и я обнаружил и ощутил некоторые особенности.

Surface Pro 3 имеет следующие особенности/проблемы:

  • ЭтоУстройство «только» UEFI
  • Нет поддержки устаревшего BIOS/CSM (режим совместимости)(В большинстве машин есть настройка в прошивке, позволяющая включить эту функцию, но в этой машине ее нет)
  • Следовательно,загрузка старых операционных системна таких новых машинах не поддерживается.
  • Похоже, это не поддерживается и, скорее всего, не может быть сделано, если только кто-то не найдет способ взлома или обходного пути (официально не поддерживаемый Microsoft).
    • Кроме того, Surface Pro 3 поставляется с завода с безопасной загрузкой, TPM, а его жесткий диск и разделы по умолчанию находятся в состоянии Bit Locked.
    • Эти три вещи вызывают совершенно разные виды проблем с загрузкой ОС.
    • Для собственной загрузки VHD мне пришлось их отключить

Почему это проблема и почему это происходит?

Пример на похожую тему:

  • В прошлом году у меня возникли большие проблемы при попытке загрузить Windows 7 x64 SP1 на ноутбуке Toshiba, несмотря на то, что на нем был устаревший режим CSM.
  • Это было что-тоПрошивка/драйвер GOPпроблемы, указанные здесь, на MSFN. http://www.msfn.org/board/topic/172462-migrating-windows-7-or-8-install-from-bios-machine-to-native-boot-vhd/
  • Я не совсем понимаю, в чем заключалась проблема Республиканской партии, и не могу объяснить ее подробнее.

Краткое содержание: В новых машинах (например, Surface Pro 3 и ноутбуке Toshiba) производители оригинального оборудования начали удалять определенные вещи (примеры перечислены выше), которые раньше помогали обеспечивать обратную совместимость для загрузки и работы старых операционных систем.

Цитата с похожимнитьиотвечатьот "JHoff80" на форумах Microsoft:

Извините, но я думаю, что вы SOL. Я понимаю это так, что UEFI должен иметь ту же архитектуру, что и ОС, которую вы пытаетесь запустить. Surface Pro UEFI — 64-битный, и поэтому вы можете запустить на нем только 64-битную ОС.

К сожалению, у Surface также нет опции «Legacy Boot» для эмуляции BIOS, как у многих других ПК.

Дополнительные статьи и информация о 32-битной загрузке UEFI:

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

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

Сайт Ubuntu цитируется ниже. https://help.ubuntu.com/community/UEFI

Чтобы установить Ubuntu в режиме UEFI:

  1. Используйте 64-битный диск Ubuntu. (Ubuntu32bit не может быть легко установлен в режиме UEFI. Это проблема, если 32-битный UEFI — единственный способ загрузки вашего компьютера, например, если у вас современный ноутбук на базе Intel Atom. В этом случае вам понадобитсясложный обходной путь.)

Загрузка 32-битной UEFI с использованием E2B:
http://rmprepusb.blogspot.com/2014/09/32-bit-uefi-booting-using-e2b.html

Некоторые планшеты на базе Intel Atom поддерживают только 32-разрядную версию UEFI (даже если сам процессор Atom является 64-разрядным).
Проблема в том, что если планшет пользователя представляет собой 32-разрядную систему UEFI (не поддерживающую режим CSM\MBR), то ему нужно найти ОС, которая загружается в 32-разрядном режиме UEFI, а таких не так уж много!
Примечание: Если они загружаются с помощью 32-битного UEFI, то они будут содержать файл \EFI\boot\bootia32.efi (среди прочих). Если они не содержат этот файл, то они не будут загружаться с USB-накопителя E2B на 32-битной системе UEFI.
Инструкции (найденные Караном) по загрузке Ubuntu с Asus T100 [здесь][5]. Каран обнаружил, что он может скопировать файл bootia32.efi из [здесь][6] в файл .imgPTN Ubuntu 14.04 64-бит (\EFI\boot\bootia32.efi), и его система Intel Atom загрузилась. Я подозреваю, что это сработает только если ваша прошивка UEFI 32-бит, но ваш процессор 64-бит, как у Карана [Notion Ink CN89553G][7].

Похожий:https://superuser.com/a/889802/183467

Некоторые системы не поддерживают загрузку Legacy\CSM\MBR. Найдите эти параметры в настройках прошивки, а также отключите Fast Boot. Системы без параметра Legacy\CSM\MBR могут загружаться только в режиме UEFI. LinuxLive и E2B предназначены для систем загрузки Legacy\CSM\MBR.

Связанный контент