jdm*_*jdm 7 arm emulation windows-8 windows-rt
为了开发目的,如何在模拟器中运行Windows RT(Windows 8的受限ARM版本)?这个问题包含两部分:
我知道这个问题是 7 年前提出的,但现在可以在最新的 QEMU 4.2.0 中模拟 ARM 上的 Windows。
qemu-system-arm.exe:替换此十六进制补丁序列,您可以NOPs 4531C931D24C8D05BE515C004889F1E87AD82E00=> 9090909090909090909090909090909090909090- 它取代了这部分:

9600.17053.winblue_refresh.141120-0031_woafre_client_CoreARM_O15_en-us-IR5_CCSA_WOAFRER_EN-US_ESD_2F1E1C773E39C4672F52B1F3A0AE7844FD837B23.esdesd-decrypter-wimlib-8.7z:https : //www.tenforums.com/software-apps/27180-windows-10-recovery-tools-bootable-rescue-disk-2.htmlviostor.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-Wimdism /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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
PCI MMIO 区域存在已知问题,因此 USB 输入将无法工作。您可以通过替换为此选项来解决此问题-M virt,-M virt,highmem=false但 Windows 8.1 RT 会抛出带有代码的 BSOD SYSTEM_THREAD_EXCEPTION_NOT_HANDLED。
众所周知,Windows 10 for ARM 不会抛出此 BSOD 代码,并且在 QEMU 中使用-M virt,highmem=false. 你可以使用谷歌来获取它10.0.15035.0.rs2_release.170209-1535_armfre_client-enterprise_volume_en-us::

另请注意,即使在 Intel Core i7-8700 @ 3.2 GHz 上完全模拟 32 位 ARM 也非常慢,因此最好使用一些现代 ARM 板,例如具有硬件加速 KVM 管理程序的 Raspberry Pi 4。
用于 32 位 ARM 的 Windows 已经被认为是传统的,更好地切换到 AArch64 aka Windows for ARM64,请参阅https://withinrafael.com/2018/02/12/boot-arm64-builds-of-windows-10-in-qemu /
小智 3
无法在 ARM 上真正模拟 Windows RT 环境。你有两个选择...
1) 去挑选一台 Surface 平板电脑。
2) 联系您当地的 Microsoft 技术推广人员,了解他们是否有可用的借用硬件。
此外,您当地的 Microsoft Evangelist 团队很可能正在举办 Windows 8 开发人员活动,他们可能会准备好测试硬件供您尝试。如果您在美国,可以在http://msdnevents.com上找到这些事件的列表。