
Eu tenho um Surface Pro 3 que executa nativamente o Windows 8.1 de 64 bits. Por extensão, o UEFI no dispositivo possui um carregador de boot 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 finalmente inicializo a imagem VHD, acabo recebendo uma mensagem de erro informando que a imagem está corrompida.
Os passos que tomei foram os seguintes. Primeiro 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 em minha E:\
unidade e apliquei a imagem ao arquivo .vhdx:
dism /Apply-Imaeg /ImageFile:E:\Sources\install.wim /index:1 /ApplyDir:F:\
Depois de fazer isso, usei bcdboot para gerar as entradas do carregador de boot:
F:\Windows\system32\bcdboot.exe F:\Windows /s F: /f ALL /d /addlast
Depois, 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)
Em seguida, reiniciei o dispositivo para poder selecionar a imagem de inicialização do VHD:
shutdown /r /o /t 0
Quando finalmente inicializei 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?
Responder1
Informações adicionais atualizadas sobreInicialização UEFI Windows entre plataformas.
Suporte do Windows para UEFI
A Microsoft começou com suporte para EFI 1.10 em servidores e depois adicionou suporte para UEFI em clientes e servidores.
Com o UEFI 2.3.1, existem versões x86 e x64 do UEFI. O Windows 10 oferece suporte a ambos. No entanto, UEFI não oferece suporte para inicialização entre plataformas. Isso significa que um computador com UEFI x64 pode executar apenas um sistema operacional de 64 bits, e um computador com UEFI x86 pode executar apenas um sistema operacional de 32 bits.
Adição de algumas informações sobre inicialização do Windows 10, Windows To Go para UEFI vs Legacy | 32 x 64 bits.
https://technet.microsoft.com/en-us/library/mt185782(v=vs.85).aspx
Verificando a compatibilidade arquitetônica entre o PC host e a unidade Windows To Go
Além do suporte para inicialização USB no BIOS, a imagem do Windows 10 na unidade do Windows To Go deve ser compatível com a arquitetura do processador e o firmware do PC host, conforme mostrado na tabela abaixo.
Também tenho um Surface Pro 3 e descobri e experimentei algumas peculiaridades.
O Surface Pro 3 tem os seguintes recursos/problemas:
- É umDispositivo "somente" UEFI
- Sem suporte para BIOS legado/CSM (modo de compatibilidade)(A maioria das máquinas terá uma configuração no firmware que permite ativar isso, mas não nesta máquina)
- Por isso,inicializando sistemas operacionais mais antigosnessas máquinas novas não é compatível.
- Parece não ter suporte e provavelmente não pode ser feito; a menos que alguém encontre um hack ou solução alternativa (não suportada oficialmente pela Microsoft).
- Além disso, o Surface Pro 3 é fornecido de fábrica com inicialização segura, TPM e seu disco rígido e partições estão, por padrão, no estado bloqueado por bits.
- Essas três coisas causam uma série de problemas totalmente diferentes na inicialização de sistemas operacionais.
- Para inicialização nativa de VHDs tive que desativá-los
Por que isso é um problema e por que isso está acontecendo?
Um exemplo com nota semelhante:
- Tive muitos problemas ao tentar inicializar o Windows 7 x64 SP1 em um laptop Toshiba no ano passado, apesar de ele ter o modo CSM legado
- Tinha algumFirmware/driver GOPquestões conforme apontado aqui no MSFN. http://www.msfn.org/board/topic/172462-migrating-windows-7-or-8-install-from-bios-machine-to-native-boot-vhd/
- Não entendo completamente qual era o problema do Partido Republicano e não posso explicá-lo melhor
Resumo essencial: Em máquinas mais recentes (como o Surface Pro 3 e o laptop Toshiba), os OEMs começaram a extrair certas coisas (exemplos listados acima) que seriam usadas para ajudar na compatibilidade com versões anteriores para inicializar e executar sistemas operacionais mais antigos.
Citando com um semelhantefioeresponderpor "JHoff80" nos Fóruns da Microsoft:
Desculpe, mas acho que você é SOL. Meu entendimento é que o UEFI deve ter a mesma arquitetura do sistema operacional que você está tentando executar. O Surface Pro UEFI é de 64 bits e, portanto, você só pode executar um sistema operacional de 64 bits nele.
Infelizmente, o Surface também não possui a opção “Legacy Boot” para emular um BIOS como muitos outros PCs possuem.
Artigos e informações adicionais sobre inicialização UEFI de 32 bits:
Parece que há problemas e limitações na inicialização UEFI de 32 bits, especialmente com uma variedade de combinações de hardware + firmware + partição + sistema operacional.
Me deparei com o seguinte e pode ter alguma relevância aqui para ajudar as pessoas a depurar e resolver seus problemas.
Site do Ubuntu citado abaixo. https://help.ubuntu.com/community/UEFI
Para instalar o Ubuntu no modo UEFI:
- Use um disco de 64 bits do Ubuntu. (Ubuntu32bit não pode ser facilmente instalado no modo UEFI. Isso é um problema se UEFI de 32 bits for a única maneira de seu computador inicializar, por exemplo, se você tiver um laptop moderno baseado em Intel Atom. Neste caso, você precisaráuma solução complicada.)
Inicialização UEFI de 32 bits usando E2B:
http://rmprepusb.blogspot.com/2014/09/32-bit-uefi-booting-using-e2b.html
- Easy2Boot e RMprepUSB porStevesão ferramentas para inicialização múltipla de uma grande variedade de sistemas: http://www.easy2boot.com|http://rmprepusb.com
Alguns tablets baseados em Intel Atom são apenas UEFI de 32 bits (mesmo que a própria CPU Atom seja uma CPU de 64 bits).
O problema é que se o tablet do usuário for um sistema UEFI de 32 bits (que não suporta o modo CSM\MBR), ele precisará encontrar um sistema operacional inicializável por UEFI de 32 bits - e não há muitos deles por aí!
Nota: Se eles forem inicializáveis por UEFI de 32 bits, eles conterão o arquivo \EFI\boot\bootia32.efi (entre outros). Se eles não contiverem esse arquivo, não inicializarão a partir de uma unidade USB E2B em um sistema UEFI de 32 bits.
As instruções (encontradas por Karan) para inicializar o Ubuntu a partir do Asus T100 estão [aqui][5]. Karan descobriu que poderia copiar o arquivo bootia32.efi de [aqui] [6] para um arquivo .imgPTN Ubuntu 14.04 de 64 bits (\EFI\boot\bootia32.efi) e seu sistema Intel Atom inicializado. Suspeito que isso só funcionará se o seu firmware for UEFI de 32 bits, mas sua CPU for de 64 bits, como o [Notion Ink CN89553G] de Karan [7].
Semelhante:https://superuser.com/a/889802/183467
Alguns sistemas não suportam inicialização Legacy\CSM\MBR. Procure essas opções nas configurações do firmware e desative também o Fast Boot. Sistemas sem opção Legacy\CSM\MBR só podem inicializar UEFI. LinuxLive e E2B são para sistemas de inicialização Legacy\CSM\MBR.