
У меня 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:
- Используйте 64-битный диск Ubuntu. (Ubuntu32bit не может быть легко установлен в режиме UEFI. Это проблема, если 32-битный UEFI — единственный способ загрузки вашего компьютера, например, если у вас современный ноутбук на базе Intel Atom. В этом случае вам понадобитсясложный обходной путь.)
Загрузка 32-битной UEFI с использованием E2B:
http://rmprepusb.blogspot.com/2014/09/32-bit-uefi-booting-using-e2b.html
- Easy2Boot и RMprepUSB отСтивявляются инструментами для мультизагрузки огромного количества систем: http://www.easy2boot.com|http://rmprepusb.com
Некоторые планшеты на базе 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.