出于开发目的,如何在模拟器中运行 Windows RT(Windows 8 的受限 ARM 版本)?这个问题包含两部分:
最佳答案
我知道这个问题是 7 年前提出的,但现在可以在最新的 QEMU 4.2.0 中模拟 ARM 上的 Windows。
要遵循的步骤:
qemu-system-arm.exe
: 将此十六进制序列替换为 NOP 4531C931D24C8D05BE515C004889F1E87AD82E00
=> 9090909090909090909090909090909090909090
- 它取代了这部分:您可以在这里找到下载链接 https://tech.myonlylonely.com/wimboot-for-surface-2-en/
或者使用带有以下字符串的 Google:
9600.17053.winblue_refresh.141120-0031_woafre_client_CoreARM_O15_en-us-IR5_CCSA_WOAFRER_EN-US_ESD_2F1E1C773E39C4672F52B1F3A0AE7844FD837B23.esd
esd-decrypter-wimlib-8.7z
提取它:https://www.tenforums.com/software-apps/27180-windows-10-recovery-tools-bootable-rescue-disk-2.html viostor.sys
驱动程序在这里可用 https://www.betaarchive.com/forum/viewtopic.php?f=62&t=40522 - 如果您在 Visual Studio 中自己构建驱动程序,请确保使用 Inf2Cat /driver:C:\Drivers\ /os:8_ARM,6_3_ARM
创建目录文件并对它们进行测试签名(所有 .cat
和 .sys
文件);驱动程序准备就绪后,您可以将它们导入 boot.wim
和 install.wim
通过使用 dism /Mount-Wim
+ /Add-Driver
+ /Unmount-Wim
dism /Apply-Image
与 install.wim
将 Windows 文件安装到创建的磁盘,以及 bcdboot
安装 EFI 文件 set BCD=E:\EFI\Microsoft\Boot\BCD
bcdedit /store %BCD% /set {globalsettings} testsigning on
bcdedit /store %BCD% /set {globalsettings} nointegritychecks on
set HDD=windows-on-arm.vhd
set ISO=en_windows_8.1_ir4_ARM_dvd.iso
qemu-system-arm ^
-M virt ^
-cpu cortex-a15 ^
-smp 2 ^
--accel tcg,thread=multi ^
-m 2G ^
-bios QEMU_EFI_1512.fd ^
-device VGA ^
-device ich9-usb-ehci1 ^
-device usb-kbd ^
-device usb-tablet ^
-drive if=virtio,file=%HDD% ^
-device virtio-scsi-pci,id=scsi0 ^
-device scsi-cd,drive=install,bus=scsi0.0 ^
-drive if=none,format=raw,id=install,file=%ISO%,readonly=on ^
-rtc base="2013-07-15",clock=vm
笔记:
-M virt
来解决该问题。与 -M virt,highmem=false
但是,使用此选项,Windows 8.1 RT 将抛出带有代码 SYSTEM_THREAD_EXCEPTION_NOT_HANDLED
的蓝屏死机。 . -M virt,highmem=false
运行良好。 .可以使用谷歌获取:10.0.15035.0.rs2_release.170209-1535_armfre_client-enterprise_volume_en-us
:关于windows-8 - 如何模拟 Windows RT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13454841/