Pertanyaan Menyiapkan VHD Boot untuk Windows 8.1 32-bit OS pada UEFI 64-bit


Saya memiliki Surface Pro 3 yang menjalankan Windows 8.1 64-bit secara native. Dengan ekstensi, UEFI pada perangkat memiliki boot loader 64-bit.

Saya mencoba untuk mengatur perangkat untuk memungkinkan boot VHD ke OS Windows 8.1 32-bit. Ketika saya akhirnya boot ke gambar VHD, saya berakhir dengan pesan kesalahan yang menyatakan gambar itu rusak.

Langkah-langkah yang saya ambil adalah sebagai berikut. Pertama saya membuat file 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

Lalu saya memasang Windows 8.1 gambar 32-bit ke saya E:\ drive dan menerapkan gambar ke file .vhdx:

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

Setelah melakukannya, saya menggunakan bcdboot untuk menghasilkan entri boot loader:

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

Setelah itu, saya melihat entri boot loader dan menambahkan jenis peluncuran hypervisor dan deskripsi yang sesuai:

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

Lalu saya reboot perangkat sehingga saya bisa memilih gambar boot VHD:

shutdown /r /o /t 0

Ketika saya akhirnya boot ke gambar saya mendapat kesalahan berikut:

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.

Apa yang saya lakukan salah di sini?


2
2018-04-30 14:15


asal


Saya menggunakan skrip ini untuk membuat VHD: gallery.technet.microsoft.com/scriptcenter/… Ini memungkinkan Anda untuk membuat file GPT VHDX. - magicandre1981
@ magicandre1981: Saya mencoba menggunakan ini juga tapi saya masih mendapatkan kode kesalahan. Dalam hal ini, ia kembali 0x0000225. - Mike Bailey
coba jalur penuh, bukan relatif: bcdedit / set {guid} path C: \ Windows \ system32 \ winload.efi - magicandre1981
@ magicandre1981: Ini adalah VHD boot. Path seharusnya menjadi path relatif ketika bootloader me-mount VHD sebelum mencari winload. - Mike Bailey
@MikeBailey - Menambahkan beberapa info lagi, saya ingin tahu apakah Anda pernah menemukan jalan? - Alex S


Jawaban:


Informasi tambahan yang diperbarui tentang UEFI Windows Cross-Platform Booting.

Dukungan Windows untuk UEFI 

Microsoft mulai dengan dukungan untuk EFI 1.10 pada server dan kemudian ditambahkan   dukungan untuk UEFI pada klien dan server.

Dengan UEFI 2.3.1, ada UEFI versi x86 dan x64. Windows   10 mendukung keduanya. Namun, UEFI tidak mendukung boot lintas platform.   Ini berarti bahwa komputer yang memiliki UEFI x64 hanya dapat menjalankan 64-bit   sistem operasi, dan komputer yang memiliki UEFI x86 dapat berjalan hanya a   Sistem operasi 32-bit.


Penambahan beberapa info tentang Boot dari Windows 10, Windows To Go untuk UEFI vs Legacy | 32 vs 64 bit.

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

Memeriksa kompatibilitas arsitektur antara PC host dan   Windows To Go drive

Selain dukungan boot USB di BIOS, gambar Windows 10   pada drive Windows To Go Anda harus kompatibel dengan prosesor   arsitektur dan firmware dari PC host seperti ditunjukkan pada tabel   di bawah.


Saya juga memiliki Surface Pro 3 dan telah menemukan dan mengalami beberapa kekhasan.

Surface Pro 3 memiliki fitur / masalah berikut:

  • Itu a Perangkat UEFI "hanya"
  • Tidak ada Dukungan Legacy BIOS / CSM (Mode Kompatibilitas) (Sebagian besar mesin akan memiliki pengaturan di firmware yang memungkinkan Anda untuk mengaktifkannya, tetapi tidak di mesin ini)
  • Karenanya, booting sistem operasi yang lebih lama pada mesin-mesin baru seperti itu tidak didukung.
  • Sepertinya tidak didukung dan kemungkinan besar tidak bisa dilakukan; kecuali seseorang menemukan peretasan atau solusi (tidak didukung secara resmi oleh Microsoft).
    • Selain itu, Surface Pro 3 adalah pabrik yang dikirim dengan Secure Boot, TPM dan hard drive & partisi secara default dalam status Bit lockered.
    • 3 hal ini menyebabkan pengiriman masalah yang berbeda dengan boot OS.
    • Untuk Booting Asli VHD saya harus menonaktifkannya

Mengapa ini menjadi masalah dan mengapa ini terjadi?

Contoh pada catatan serupa:

Ringkasan Penting: Pada mesin yang lebih baru (seperti Surface Pro 3 dan laptop Toshiba) OEM telah mulai merobek beberapa hal tertentu (contoh yang tercantum di atas) yang akan digunakan untuk membantu dengan kompatibilitas ke belakang untuk menjalankan dan menjalankan Sistem Operasi yang lebih lama. 

Mengutip dengan yang serupa benang dan balasan oleh "JHoff80" di Forum Microsoft:

Maaf, tapi saya pikir kamu SOL. Pemahaman saya tentang itu adalah UEFI   harus memiliki arsitektur yang sama dengan OS yang Anda coba jalankan. Itu   Surface Pro UEFI adalah 64-bit, sehingga Anda hanya dapat menjalankan OS 64-bit   sana.

Sayangnya, Surface juga tidak memiliki "Legacy   Boot "opsi untuk meniru BIOS seperti banyak PC lain miliki.

Artikel & informasi tambahan tentang boot UEFI 32-bit:

Tampaknya ada masalah & keterbatasan sekitar booting UEFI 32 bit, terutama dengan berbagai kombinasi Hardware + Firmware + Partition + OS.

Saya menemukan hal-hal berikut dan mungkin ada beberapa relevansi di sini untuk membantu orang men-debug & menyelesaikan masalah mereka.

Situs Ubuntu dikutip di bawah ini. https://help.ubuntu.com/community/UEFI

Untuk menginstal Ubuntu dalam mode UEFI:

  1. Gunakan disk 64bit Ubuntu. (Ubuntu32bit tidak dapat dengan mudah diinstal dalam mode UEFI. Ini adalah masalah jika UEFI 32-bit adalah   hanya cara komputer Anda bisa boot, mis. jika Anda memiliki Intel Atom modern   laptop berbasis. Dalam hal ini, Anda akan membutuhkannya rumit   bekerja-sekitar.)

32-bit UEFI booting menggunakan E2B:
http://rmprepusb.blogspot.com/2014/09/32-bit-uefi-booting-using-e2b.html

Beberapa Tablet Berbasis Atom Intel hanya UEFI 32-bit (meskipun CPU Atom itu sendiri adalah CPU 64-bit).
Masalahnya adalah bahwa jika Tablet pengguna adalah sistem UEFI 32-bit (yang tidak mendukung mode CSM \ MBR), maka mereka perlu mencari OS yang bootable UEFI 32-bit - dan tidak ada banyak di sekitar ini!
Catatan: Jika mereka UEFI bootable 32-bit, maka mereka akan berisi file \ EFI \ boot \ bootia32.efi (di antara yang lain). Jika mereka tidak berisi file itu maka mereka tidak akan boot dari drive USB E2B pada sistem UEFI 32-bit.
Instruksi (ditemukan oleh Karan) untuk mem-boot Ubuntu dari Asus T100 adalah [di sini] [5]. Karan menemukan bahwa ia dapat menyalin file bootia32.efi dari [di sini] [6] ke file Ubuntu 14.04 64-bit .imgPTN (\ EFI \ boot \ bootia32.efi) dan sistem Intel Atom-nya di-boot. Saya menduga ini hanya akan bekerja jika firmware Anda adalah UEFI 32-bit tetapi CPU Anda 64-bit, seperti Karan's [Notion Ink CN89553G] [7].

Serupa: https://superuser.com/a/889802/183467 

Beberapa sistem tidak mendukung booting Legacy \ CSM \ MBR. Lihat pengaturan firmware untuk opsi ini dan juga nonaktifkan Fast Boot. Sistem tanpa opsi Legacy \ CSM \ MBR hanya dapat UEFI-boot. LinuxLive dan E2B adalah untuk sistem booting Legacy \ CSM \ MBR.

2
2017-08-07 13:02



@Mokubai - Tolong jelaskan kepada saya dan uraikan solusi seperti apa yang Anda inginkan? Saya mencobanya juga dan Surface Pro 3 tidak mengizinkan saya (& orang lain yang dapat saya temukan di web) untuk mem-boot Sistem Operasi 32 bit - Sejauh ini. Mengingat pengalaman saya dan orang lain, itu tidak mungkin. Apakah itu tidak cukup baik? Itu bukan pertanyaan lagi. Ini adalah jawaban yang menjawab pertanyaan OP, bahwa ini tidak mungkin dan wawasan tambahan tentang mengapa firmware UEFI yang lebih baru seperti SPro3 memberi masalah dalam boot OS yang lebih lama. Jika Anda atau seseorang telah menemukan cara, silakan lakukan berbagi. Tapi, ini adalah jawaban untuk saat ini. - Alex S
Saya suka sekali untuk penelitian Anda, tetapi saya percaya apa yang "JHoff80" katakan salah. Jelas seseorang dapat menjalankan OS UEFI 32-bit dalam mesin UEFI 64-bit (misalnya, instal dalam partisi fisik), masalahnya adalah, OS 32-bit harus dimuat dari loader UEFI 32-bit, dan ketika Anda menggunakan bcdedit di OS Anda saat ini, Anda bekerja dengan loader 64bit sehingga tidak akan berfungsi. - Chris.C
Chris C - Dari riset dan upaya saya pada 2 mesin, saya telah menghadapi banyak masalah seputar UEFI dan GPT booting. Untuk saat ini, ini adalah jawaban. Pada penelitian lebih lanjut, jika Anda (atau saya sendiri di masa depan) dapat menemukan cara untuk melewati jawaban dan keterbatasan ini, maka itu akan menjadi jawaban / solusi yang akan menggantikan ini. Jadi, sampai terbukti secara praktis, teoritis mungkin yang bisa dilakukan sejauh ini tidak berlaku untuk Surface Pro 3. - Alex S
Saya telah menjalankan beberapa 64 bit OS VHD boot asli yang bekerja pada Surface Pro 3 dan saya tidak dapat berkomentar mengenai pertanyaan OP untuk bertanya kepadanya, apakah dia mencoba apa pun dengan 64 bit sebelum pergi untuk 32 bit? - Alex S
@ Chris.C - Apa yang Anda katakan adalah skenario yang berbeda, yang bukan pertanyaan OP. Ini sangat spesifik Boot Booting VHD yang cukup banyak yang telah saya lakukan untuk sementara waktu. Sekali lagi, kami gagal dan kami tidak dapat melakukannya dan kami menemukan bahwa forum dukungan Microsoft mengatakan bahwa itu tidak mungkin. Jika Anda dapat melakukannya pada Surface Pro 3 (yang merupakan hewan yang sangat unik), maka aturan yang berlaku untuk mesin lain mungkin tidak berlaku untuk itu) maka tolong posting jawaban / solusi yang berhasil. - Alex S