2

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

Я пытаюсь настроить устройство, чтобы разрешить загрузку виртуального жесткого диска в 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

Затем я подключил 32-разрядный образ Windows 8.1 к своему диску 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 ответ1

2

Дополнительная обновленная информация о кроссплатформенной загрузке 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 vs 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, и я нашел и испытал некоторые особенности.

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

  • Это UEFI "единственное" устройство
  • Отсутствует устаревшая поддержка BIOS / CSM (режим совместимости) (на большинстве компьютеров в микропрограмме есть параметр, позволяющий включить его, но не на этом компьютере)
  • Следовательно, загрузка старых операционных систем на таких новых машинах не поддерживается.
  • Это не поддерживается и, скорее всего, не может быть сделано; если кто-то не найдет взлом или обходной путь (официально не поддерживается Microsoft).
    • Кроме того, Surface Pro 3 поставляется с заводской защитной загрузкой, TPM, а его жесткий диск и разделы по умолчанию находятся в состоянии Bit BitLocked.
    • Эти 3 вещи вызывают совершенно разные проблемы с загрузкой ОС.
    • Для Native Boot 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) OEM-производители начали извлекать определенные вещи (примеры, перечисленные выше), которые могли бы помочь с обратной совместимостью для загрузки и запуска старых операционных систем.

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

Извините, но я думаю, что вы SOL. Насколько я понимаю, UEFI должен иметь ту же архитектуру, что и ОС, которую вы пытаетесь запустить. Поверхностный 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] в 64-битный файл .imgPTN Ubuntu 14.04 (\EFI\boot\bootia32.efi), и его система Intel Atom загрузилась. Я подозреваю, что это будет работать, только если ваша прошивка имеет 32-битный UEFI, но ваш процессор 64-битный, как у Karan [Notion Ink CN89553G] [7].

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

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

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