Configurando a Inicialização de VHD para o SO Windows 8.1 de 32 bits em UEFI de 64 bits

2

Eu tenho um Surface Pro 3 que executa nativamente o Windows 8.1 de 64 bits. Por extensão, a UEFI no dispositivo possui um carregador de inicialização de 64 bits.

Estou tentando configurar o dispositivo para permitir uma inicialização VHD em um sistema operacional Windows 8.1 de 32 bits. Quando eu finalmente inicializo na imagem VHD, acabo com uma mensagem de erro dizendo que a imagem está corrompida.

Os passos que dei foram os seguintes. Primeiro eu criei o arquivo 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

Em seguida, montei a imagem do Windows 8.1 de 32 bits na unidade E:\ e apliquei a imagem ao arquivo .vhdx:

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

Depois disso, usei o bcdboot para gerar as entradas do carregador de boot:

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

Depois, eu procurei a entrada do carregador de boot e adicionei o tipo de inicialização do hipervisor e uma descrição apropriada:

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

Depois, reiniciei o dispositivo para poder selecionar a imagem de inicialização do VHD:

shutdown /r /o /t 0

Quando finalmente iniciei a imagem, recebi o seguinte erro:

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.

O que estou fazendo de errado aqui?

    
por Mike Bailey 30.04.2015 / 16:15

1 resposta

2

Informações adicionais atualizadas sobre Inicialização de várias plataformas do Windows UEFI .

Windows support for UEFI

Microsoft started with support for EFI 1.10 on servers and then added support for UEFI on both clients and servers.

With UEFI 2.3.1, there are both x86 and x64 versions of UEFI. Windows 10 supports both. However, UEFI does not support cross-platform boot. This means that a computer that has UEFI x64 can run only a 64-bit operating system, and a computer that has UEFI x86 can run only a 32-bit operating system.

Adição de algumas informações sobre inicialização do Windows 10, Windows To Go para UEFI vs Legacy | 32 vs 64 bits.

link

Checking for architectural compatibility between the host PC and the Windows To Go drive

In addition to the USB boot support in the BIOS, the Windows 10 image on your Windows To Go drive must be compatible with the processor architecture and the firmware of the host PC as shown in the table below.

Eu também tenho um Surface Pro 3 e encontrei e experimentei algumas peculiaridades.

O Surface Pro 3 tem os seguintes recursos / problemas:

  • É um dispositivo "somente" UEFI "
  • Sem suporte BIOS / CSM legado (modo de compatibilidade) (a maioria das máquinas terá uma configuração no firmware que permite habilitar isso, mas não nesta máquina)
  • Portanto, inicializar sistemas operacionais mais antigos nessas novas máquinas não é suportado.
  • Não parece ser suportado e provavelmente não pode ser feito; a menos que alguém encontre um hack ou solução alternativa (não suportado oficialmente pela Microsoft).
    • Além disso, o Surface Pro 3 vem de fábrica com inicialização segura, TPM e seu disco rígido & partições são, por padrão, no estado Bit Lockered.
    • Essas 3 coisas causam um total diferente de problemas com os sistemas operacionais de inicialização.
    • Para inicialização nativa de VHDs, tive que desativá-los

Por que isso é um problema e por que isso está acontecendo?

Um exemplo em uma nota semelhante:

  • Eu tive muitos problemas para inicializar o Windows 7 x64 SP1 em um laptop Toshiba no ano passado, apesar de ter o modo CSM legado
  • Ele teve alguns problemas de driver de firmware / GOP , como apontado aqui no MSFN. link
  • Eu não entendo completamente o que a questão do Partido Republicano foi e não posso explicar mais

Resumo essencial: Em máquinas mais recentes (como o Surface Pro 3 e o laptop Toshiba), os OEMs começaram a extrair alguns itens (exemplos listados acima) que ajudariam na compatibilidade com versões anteriores para inicializar e executar Sistemas Operacionais mais antigos.

As citações com um thread e resposta por" JHoff80 "em fóruns da Microsoft:

Sorry, but I think you're SOL. My understanding of it is that UEFI has to have the same architecture as the OS you're trying to run. The Surface Pro UEFI is 64-bit, and so you can only run a 64-bit OS on there.

Unfortunately, the Surface also does not have the "Legacy Boot" option to emulate a BIOS like many other PCs have.

Artigos adicionais & informações sobre inicialização de UEFI de 32 bits:

Parece que existem problemas & limitações em torno da inicialização via UEFI de 32 bits, especialmente com várias combinações de Hardware + Firmware + Partição + SO.

Me deparei com o seguinte e pode ter alguma relevância aqui para ajudar as pessoas a depurar & resolver seus problemas.

site do Ubuntu citado abaixo. link

To install Ubuntu in UEFI mode:

  1. Use a 64bit disk of Ubuntu. (Ubuntu32bit cannot be easily installed in UEFI mode. This is a problem if 32-bit UEFI is the only way your computer can boot, e.g. if you have a modern Intel Atom based laptop. In this case, you will need a complicated work-around.)

Inicialização de UEFI de 32 bits usando E2B:
link

  • Easy2Boot & RMprepUSB por Steve são ferramentas para multi-inicialização de grande variedade de sistemas: link | link
Some Intel Atom-based Tablets are 32-bit UEFI only (even if the Atom CPU itself is a 64-bit CPU).
The problem is that if the user's Tablet is a 32-bit UEFI system (that does not support CSM\MBR mode) then they need to find an OS that is 32-bit UEFI bootable - and there are not many of these around!
Note: If they are 32-bit UEFI bootable, then they will contain the \EFI\boot\bootia32.efi file (amongst others). If they don't contain that file then they won't boot from an E2B USB drive on a 32-bit UEFI system.
Instructions (found by Karan) for booting Ubuntu from the Asus T100 are [here][5]. Karan found that he could copy the bootia32.efi file from [here][6] to a Ubuntu 14.04 64-bit .imgPTN file (\EFI\boot\bootia32.efi) and his Intel Atom system booted. I suspect this will only work if your firmware is 32-bit UEFI but your CPU is 64-bit though, like Karan's [Notion Ink CN89553G][7].

Semelhante: link

Some systems do not support Legacy\CSM\MBR booting. Look in the firmware settings for these options and also disable Fast Boot. Systems with no Legacy\CSM\MBR option can only UEFI-boot. LinuxLive and E2B are for Legacy\CSM\MBR booting systems.
    
por 07.08.2015 / 15:02