VM1でWindows 8.1を起動する
r164で、VM1でWindows 8.1の起動を試みましたが、画面は真っ黒のままでした。
NumlkキーやShift+Caps Lockキーを押してもキーボードのLEDが点灯しないので、ストールしたと考えられます。
Starting a virtual machine. StCahratnignign gs hseelrli.a l> settings was 0/0 now 3/0 Start bios (version 1.7.3-tinyvisor-20140104_235250) Unable to unlock ram - bridge not found Ram Size=0xbf000000 (0x0000000096040000 high) Relocating init from 0x000e6b79 to 0xbefe3f30 (size 49159) CPU Mhz=3729 Found 8 PCI devices (max PCI bus is 06) pcimem e0000000-f7910000 pcimem64 00000000-00000000 Found 2 cpu(s) max supported 2 cpu(s) MP table addr=0x000f2a90 MPC table addr=0x000f2aa0 size=212 SMBIOS ptr=0x000f2a70 table=0x000f2910 size=346 ACPI PM base 0x1000 pcimem 0xe0000000-0xf7910000 0x0-0x0 ACPI DSDT=0xbeffe3b0 ACPI tables: RSDP=0x000f28e0 RSDT=0xbeffe370 Scan for VGA option rom WARNING - Timeout at i8042_flush:68! Found 0 lpt ports Found 1 serial ports AHCI controller at c0.0, iobase f7800000, irq 255 Searching bootorder for: /pci@i0cf8/pci-bridge@1c,7/*@0/drive@1/disk@0 AHCI/1: registering: "AHCI/1: Hitachi HDS721032CLA362 ATA-8 Hard-Disk (298 GiBytes)" Scan for option roms Searching bootorder for: HALT drive 0x000f2870: PCHS=16383/16/63 translation=lba LCHS=1024/255/63 s=625142448 Space available for UMB: c0000-ee000, f0000-f2870 Returned 57344 bytes of ZoneHigh e820 map has 7 items: 0: 0000000000000000 - 000000000009fc00 = 1 RAM 1: 000000000009fc00 - 00000000000a0000 = 2 RESERVED 2: 00000000000f0000 - 0000000000100000 = 2 RESERVED 3: 0000000000100000 - 00000000beffe000 = 1 RAM 4: 00000000beffe000 - 00000000bf000000 = 2 RESERVED 5: 00000000fffc0000 - 0000000100000000 = 2 RESERVED 6: 0000000100000000 - 0000000196040000 = 1 RAM Unable to lock ram - bridge not found enter handle_19: NULL Booting from Hard Disk... Booting from 0000:7c00
r175でも同様に、VM1ではWindows 8.1が起動しませんでした。 CPU4もCPU6もリアルモードのままです。
CPU4 panic: NMI recieved while executing guest software. VMM state of CPU4 ------------------------------ RAX 00000031 RCX 4078FAF0 RDX 40781400 RBX 00000000 RSP 4078FCE0 RBP 4078FE20 RSI 000F4240 RDI 00000000 R8 00000000 R9 4078FBA1 R10 00000004 R11 00000000 R12 401527C0 R13 4078FE38 R14 00000000 R15 00000000 CR0 80000039 CR2 00000000 CR3 B4D64000 CR4 00002668 RFLAGS 00000002 GDTR 40781400+0000FFFF IDTR 401BE0C0+0000FFFF backtrace: 0x4078fcd8: 0x4011a33b 0x4078fe28: 0x4011a111 0x4078fe88: 0x4012c065 0x4078fec8: 0x4012c3fc 0x4078ffc8: 0x401150fd 0x4078fff8: 0x0 ------------------------------------------------ Guest state of CPU4 ---------------------------- RAX 000024AD RCX 00000000 RDX 00000000 RBX 00061EFC RSP 00001470 RBP 00001474 RSI 00061F14 RDI 0000147C R8 00000000 R9 00000000 R10 00000000 R11 00000000 R12 00000000 R13 00000000 R14 00000000 R15 00000000 CR0 00000010 CR2 00000000 CR3 00000000 CR4 00000200 ACR ES 000000F3 CS 000000F3 SS 000000F3 DS 000000F3 FS 000000F3 GS 000000F3 LIMIT ES 0000FFFF CS 0000FFFF SS 0000FFFF DS 0000FFFF FS 0000FFFF GS 0000FFFF BASE ES 00024AD0 CS 00020000 SS 00024AD0 DS 00024AD0 FS 00024AD0 GS 00024AD0 SEL ES 000024AD CS 00002000 SS 000024AD DS 000024AD FS 00000060 GS 00000060 RIP 0000092B RFLAGS 00000202 GDTR 0001F000+0000007F IDTR 00000000+0000FFFF EFER 00000000 Exit reason: 0x0 (Exception or NMI) Exit qualification 00000000 Exit intr info 80000202 Exit intr errcode 000159ec VMCS IDTR 00000000+00000000 VMCS RFLAGS 00020202 pe=0 pg=0 sw:en=0x30 es=0x60 cs=0x50 ss=0x60 ds=0x60 fs=0x60 gs=0x60 Sending NMI to other CPUs CPU6 panic: NMI recieved while executing guest software. VMM state of CPU6 ------------------------------ RAX 00000031 RCX 4077FAF0 RDX 40764C00 RBX 00000000 RSP 4077FCE0 RBP 4077FE20 RSI 000F4240 RDI 00000000 R8 00000000 R9 4077FBA1 R10 00000006 R11 00000000 R12 401527C0 R13 4077FE38 R14 00000802 R15 00000800 CR0 80000039 CR2 00000000 CR3 B4D64000 CR4 00002668 RFLAGS 00000002 GDTR 40764C00+0000FFFF IDTR 401BE0C0+0000FFFF backtrace: 0x4077fcd8: 0x4011a33b 0x4077fe28: 0x4011a111 0x4077fe88: 0x4012c065 0x4077fec8: 0x4012c633 0x4077ffc8: 0x401150fd 0x4077fff8: 0x0 ------------------------------------------------ Guest state of CPU6 ---------------------------- RAX 000306A9 RCX 77BAE3DF RDX BFEBFBFF RBX 00000006 RSP 00000000 RBP 00000000 RSI 00006A14 RDI 00000000 R8 00000000 R9 00000000 R10 00000000 R11 00000000 R12 00000000 R13 00000000 R14 00000000 R15 00000000 CR0 00000010 CR2 00000000 CR3 00000000 CR4 00000000 ACR ES 000000F3 CS 000000F3 SS 000000F3 DS 000000F3 FS 000000F3 GS 000000F3 LIMIT ES 0000FFFF CS 0000FFFF SS 0000FFFF DS 0000FFFF FS 0000FFFF GS 0000FFFF BASE ES 00000000 CS 000F0000 SS 00000000 DS 000F0000 FS 00000000 GS 00000000 SEL ES 00000000 CS 0000F000 SS 00000000 DS 0000F000 FS 00000000 GS 00000000 RIP 000072A7 RFLAGS 00010002 GDTR 00000000+0000FFFF IDTR 00000000+000003FF EFER 00000000 Exit reason: 0x0 (Exception or NMI) Exit qualification 00000000 Exit intr info 80000202 Exit intr errcode 00000000 VMCS IDTR 00000000+00000000 VMCS RFLAGS 00030002 pe=0 pg=0 sw:en=0x0 es=0x0 cs=0xf000 ss=0x0 ds=0x0 fs=0x0 gs=0x0 ------------------------------------------------
r190 でも再現しました。
CPU4 panic: NMI recieved while executing guest software. VMM state of CPU4 ------------------------------ RAX 00000031 RCX 4078FAF0 RDX 4077A400 RBX 00000000 RSP 4078FCE0 RBP 4078FE20 RSI 000F4240 RDI 00000000 R8 00000000 R9 4078FBA1 R10 00000004 R11 00000000 R12 40152C20 R13 4078FE38 R14 00000000 R15 00000000 CR0 80000039 CR2 00000000 CR3 B4D65000 CR4 00002668 RFLAGS 00000002 GDTR 4077A400+0000FFFF IDTR 401BF120+0000FFFF backtrace: 0x4078fcd8: 0x4011a64b 0x4078fe28: 0x4011a421 0x4078fe88: 0x4012c255 0x4078fec8: 0x4012c5ec 0x4078ffc8: 0x4011537d 0x4078fff8: 0x0 ------------------------------------------------ Guest state of CPU4 ---------------------------- RAX 000024AD RCX 00000000 RDX 00000000 RBX 00061EFC RSP 00001470 RBP 00001474 RSI 00061F14 RDI 0000147C R8 00000000 R9 00000000 R10 00000000 R11 00000000 R12 00000000 R13 00000000 R14 00000000 R15 00000000 CR0 00000010 CR2 00000000 CR3 00000000 CR4 00000200 ACR ES 000000F3 CS 000000F3 SS 000000F3 DS 000000F3 FS 000000F3 GS 000000F3 LIMIT ES 0000FFFF CS 0000FFFF SS 0000FFFF DS 0000FFFF FS 0000FFFF GS 0000FFFF BASE ES 00024AD0 CS 00020000 SS 00024AD0 DS 00024AD0 FS 00024AD0 GS 00024AD0 SEL ES 000024AD CS 00002000 SS 000024AD DS 000024AD FS 00000060 GS 00000060 RIP 000008D8 RFLAGS 00000202 GDTR 0001F000+0000007F IDTR 00000000+0000FFFF EFER 00000000 Exit reason: 0x0 (Exception or NMI) Exit qualification 00000000 Exit intr info 80000202 Exit intr errcode 000159ec VMCS IDTR 00000000+00000000 VMCS RFLAGS 00020202 pe=0 pg=0 sw:en=0x30 es=0x60 cs=0x50 ss=0x60 ds=0x60 fs=0x60 gs=0x60 ------------------------------------------------ CPU6 panic: NMI recieved while executing guest software. VMM state of CPU6 ------------------------------ RAX 00000031 RCX 40787AF0 RDX 40765C00 RBX 00000000 RSP 40787CE0 RBP 40787E20 RSI 000F4240 RDI 00000000 R8 00000000 R9 40787BA1 R10 00000006 R11 00000000 R12 40152C20 R13 40787E38 R14 00000802 R15 00000800 CR0 80000039 CR2 00000000 CR3 B4D65000 CR4 00002668 RFLAGS 00000002 GDTR 40765C00+0000FFFF IDTR 401BF120+0000FFFF backtrace: 0x40787cd8: 0x4011a64b 0x40787e28: 0x4011a421 0x40787e88: 0x4012c255 0x40787ec8: 0x4012c823 0x40787fc8: 0x4011537d 0x40787ff8: 0x0 ------------------------------------------------ Guest state of CPU6 ---------------------------- RAX 000306A9 RCX 77BAE3DF RDX BFEBFBFF RBX 00000006 RSP 00000000 RBP 00000000 RSI 00006A44 RDI 00000000 R8 00000000 R9 00000000 R10 00000000 R11 00000000 R12 00000000 R13 00000000 R14 00000000 R15 00000000 CR0 00000010 CR2 00000000 CR3 00000000 CR4 00000000 ACR ES 000000F3 CS 000000F3 SS 000000F3 DS 000000F3 FS 000000F3 GS 000000F3 LIMIT ES 0000FFFF CS 0000FFFF SS 0000FFFF DS 0000FFFF FS 0000FFFF GS 0000FFFF BASE ES 00000000 CS 000F0000 SS 00000000 DS 000F0000 FS 00000000 GS 00000000 SEL ES 00000000 CS 0000F000 SS 00000000 DS 0000F000 FS 00000000 GS 00000000 RIP 000072D7 RFLAGS 00010002 GDTR 00000000+0000FFFF IDTR 00000000+000003FF EFER 00000000 Exit reason: 0x0 (Exception or NMI) Exit qualification 00000000 Exit intr info 80000202 Exit intr errcode 00000000 VMCS IDTR 00000000+00000000 VMCS RFLAGS 00030002 pe=0 pg=0 sw:en=0x0 es=0x0 cs=0xf000 ss=0x0 ds=0x0 fs=0x0 gs=0x0 ------------------------------------------------
BIOSのCONFIG_DEBUG_LEVEL=10にしてみたところ、以下のメッセージが出力され続けました。
以下のページによると、Int 1A/AH=00hはGET SYSTEM TIMEです。 http://www.ctyme.com/intr/rb-2271.htm
BIOSから返却される時刻が進まないため、待ち続けている可能性があります。
enter handle_1a: a=00000000 b=00000000 c=00000000 d=00000000 ds=0000 es=0000 ss=e000 si=00000000 di=00000000 bp=00000000 sp=0000f930 cs=2000 ip=0a39 f=0246 enter handle_1a: a=00000000 b=00000000 c=00000000 d=00000000 ds=0000 es=0000 ss=e000 si=00000000 di=00000000 bp=00000000 sp=0000f930 cs=2000 ip=0a39 f=0246 enter handle_1a: a=00000000 b=00000000 c=00000000 d=00000000 ds=0000 es=0000 ss=e000 si=00000000 di=00000000 bp=00000000 sp=0000f930 cs=2000 ip=0a39 f=0246
yuichi_xy への返信
BIOSのCONFIG_DEBUG_LEVEL=10にしてみたところ、以下のメッセージが出力され続けました。 以下のページによると、Int 1A/AH=00hはGET SYSTEM TIMEです。 http://www.ctyme.com/intr/rb-2271.htm BIOSから返却される時刻が進まないため、待ち続けている可能性があります。
BIOSからの返却値を出力するようにしてみたところ、時刻が進んでいませんでした。
enter handle_1a: a=00000000 b=00000000 c=00000000 d=00000000 ds=0000 es=0000 ss=e000 si=00000000 di=00000000 bp=00000000 sp=0000f8d0 cs=2000 ip=0a39 f=0246 stub handle_1a00:369: a=00000000 b=00000000 c=00000013 d=00007818 ds=0000 es=0000 ss=e000 si=00000000 di=00000000 bp=00000000 sp=0000f8d0 cs=2000 ip=0a39 f=0246 enter handle_1a: a=00000000 b=00000000 c=00000000 d=00000000 ds=0000 es=0000 ss=e000 si=00000000 di=00000000 bp=00000000 sp=0000f8d0 cs=2000 ip=0a39 f=0246 stub handle_1a00:369: a=00000000 b=00000000 c=00000013 d=00007818 ds=0000 es=0000 ss=e000 si=00000000 di=00000000 bp=00000000 sp=0000f8d0 cs=2000 ip=0a39 f=0246 enter handle_1a: a=00000000 b=00000000 c=00000000 d=00000000 ds=0000 es=0000 ss=e000 si=00000000 di=00000000 bp=00000000 sp=0000f8d0 cs=2000 ip=0a39 f=0246 stub handle_1a00:369: a=00000000 b=00000000 c=00000013 d=00007818 ds=0000 es=0000 ss=e000 si=00000000 di=00000000 bp=00000000 sp=0000f8d0 cs=2000 ip=0a39 f=0246
yuichi_xy への返信
yuichi_xy への返信
BIOSのCONFIG_DEBUG_LEVEL=10にしてみたところ、以下のメッセージが出力され続けました。 以下のページによると、Int 1A/AH=00hはGET SYSTEM TIMEです。 http://www.ctyme.com/intr/rb-2271.htm BIOSから返却される時刻が進まないため、待ち続けている可能性があります。
BIOSからの返却値を出力するようにしてみたところ、時刻が進んでいませんでした。
PICエミューレータとPITエミュレータによるPIT割り込みエミュレーションのバグでした。 r191で修正しました。
OSが、論理プロセッサ(仮想プロセッサ)をプロテクトモードへ移行し、PITを無効化するところまで進みました。 しかし、pingには応答せず、キーボードのnum lockキーも反応しません。
enter handle_16: a=00001100 b=00000000 c=00000000 d=00000000 ds=0000 es=0000 ss=e000 si=00000000 di=00000000 bp=00000000 sp=0000f8d0 cs=2000 ip=0a29 f=0246 enter handle_16: a=00001000 b=00000000 c=00000000 d=00000000 ds=0000 es=0000 ss=e000 si=00000000 di=00000000 bp=00000000 sp=0000f8d0 cs=2000 ip=0a29 f=0246 PICEMU: PIC0 Non-Specific EOI enter handle_16: a=00001100 b=00000000 c=00000000 d=00000000 ds=0000 es=0000 ss=e000 si=00000000 di=00000000 bp=00000000 sp=0000f8d0 cs=2000 ip=0a29 f=0246 PICEMU: PIC0 ICW1 PICEMU: Disable int emu PICEMU: PIC0 ICW2 vector_base 0x30 PICEMU: PIC0 ICW3 PICEMU: PIC0 ICW4 Non-Auto EOI PICEMU: PIC0 OCW1 IMR 0xff PICEMU: Disable int emu PICEMU: PIC1 ICW1 PICEMU: PIC1 ICW2 vector_base 0x38 PICEMU: PIC1 ICW3 PICEMU: PIC1 ICW4 Non-Auto EOI PICEMU: PIC1 OCW1 IMR 0xff ... CPU4 panic: NMI recieved while executing guest software. VMM state of CPU4 ------------------------------ RAX 00000031 RCX 4078FAF0 RDX 4077A400 RBX 00000000 RSP 4078FCE0 RBP 4078FE20 RSI 000F4240 RDI 00000000 R8 00000000 R9 4078FBA1 R10 00000004 R11 00000000 R12 40152F90 R13 4078FE38 R14 00000000 R15 00000000 CR0 80000039 CR2 00000000 CR3 B4D65000 CR4 00002668 RFLAGS 00000002 GDTR 4077A400+0000FFFF IDTR 401BF120+0000FFFF backtrace: 0x4078fcd8: 0x4011a64b 0x4078fe28: 0x4011a421 0x4078fe88: 0x4012c255 0x4078fec8: 0x4012c5ec 0x4078ffc8: 0x4011537d 0x4078fff8: 0x0 ------------------------------------------------ Guest state of CPU4 ---------------------------- RAX 00000000 RCX 0000005F RDX 00001008 RBX FFFFFFFF00000001 RSP FFFFF80211B96240 RBP FFFFFFFF RSI 00000000 RDI FFFFFFFFFFD08B68 R8 00000000 R9 FFFFFFFFFFD0D700 R10 00000009 R11 FFFFF80211B962C8 R12 01000000 R13 FFFFF8020F55D300 R14 00000000 R15 0006D3D5 CR0 80050031 CR2 00000000 CR3 001A7000 CR4 000006B8 ACR ES 0000C0F3 CS 0000209B SS 0001C000 DS 0000C0F3 FS 000040F3 GS 0000C0F3 LIMIT ES FFFFFFFFFFFFFFFF CS FFFFFFFFFFFFFFFF SS FFFFFFFFFFFFFFFF DS FFFFFFFFFFFFFFFF FS FFFFFFFFFFFFFFFF GS FFFFFFFFFFFFFFFF BASE ES 00000000 CS 00000000 SS 00000000 DS 00000000 FS 00000000 GS FFFFF8020F505000 SEL ES 0000002B CS 00000010 SS 00000000 DS 0000002B FS 00000053 GS 0000002B RIP FFFFF8020F9B19A9 RFLAGS 00000283 GDTR FFFFF80211B8E000+0000007F IDTR FFFFF80211B8E080+00000FFF EFER 00000D01 Exit reason: 0x0 (Exception or NMI) Exit qualification 00000000 Exit intr info 80000202 Exit intr errcode 00000000 VMCS IDTR fffff80211b8e080+00000fff VMCS RFLAGS 00000283 pe=1 pg=1 sw:en=0x0 es=0x24ad cs=0x2000 ss=0x24ad ds=0x24ad fs=0x0 gs=0x0 ------------------------------------------------ ... CPU6 panic: NMI recieved while executing guest software. VMM state of CPU6 ------------------------------ RAX 00000031 RCX 40787AF0 RDX 40765C00 RBX 00000000 RSP 40787CE0 RBP 40787E20 RSI 000F4240 RDI 00000000 R8 00000000 R9 40787BA1 R10 00000006 R11 00000000 R12 40152F90 R13 40787E38 R14 00000802 R15 00000800 CR0 80000039 CR2 00000000 CR3 B4D65000 CR4 00002668 RFLAGS 00000002 GDTR 40765C00+0000FFFF IDTR 401BF120+0000FFFF backtrace: 0x40787cd8: 0x4011a64b 0x40787e28: 0x4011a421 0x40787e88: 0x4012c255 0x40787ec8: 0x4012c823 0x40787fc8: 0x4011537d 0x40787ff8: 0x0 ------------------------------------------------ Guest state of CPU6 ---------------------------- RAX 000306A9 RCX 77BAE3DF RDX BFEBFBFF RBX 00000006 RSP 00000000 RBP 00000000 RSI 00004E74 RDI 00000000 R8 00000000 R9 00000000 R10 00000000 R11 00000000 R12 00000000 R13 00000000 R14 00000000 R15 00000000 CR0 00000010 CR2 00000000 CR3 00000000 CR4 00000000 ACR ES 000000F3 CS 000000F3 SS 000000F3 DS 000000F3 FS 000000F3 GS 000000F3 LIMIT ES 0000FFFF CS 0000FFFF SS 0000FFFF DS 0000FFFF FS 0000FFFF GS 0000FFFF BASE ES 00000000 CS 000F0000 SS 00000000 DS 000F0000 FS 00000000 GS 00000000 SEL ES 00000000 CS 0000F000 SS 00000000 DS 0000F000 FS 00000000 GS 00000000 RIP 00005CF7 RFLAGS 00010002 GDTR 00000000+0000FFFF IDTR 00000000+000003FF EFER 00000000 Exit reason: 0x0 (Exception or NMI) Exit qualification 00000000 Exit intr info 80000202 Exit intr errcode 00000000 VMCS IDTR 00000000+00000000 VMCS RFLAGS 00030002 pe=0 pg=0 sw:en=0x0 es=0x0 cs=0xf000 ss=0x0 ds=0x0 fs=0x0 gs=0x0 ------------------------------------------------
VM1に割り当てているビデオカードをプライマリにしてみたところ、ビデオカードのOption ROMが実行され、画面にWindowsのマークが表示されました。 しかし、グルグル点が回るアニメーションは表示されない状態でストールしました。
Scan for VGA option rom Running option rom at c000:0003 Turning on vga text mode console WARNING - Timeout at i8042_flush:68! Found 0 lpt ports Found 1 serial ports AHCI controller at 40.0, iobase f7910000, irq 255 Searching bootorder for: /pci@i0cf8/pci-bridge@1c/*@0/drive@0/disk@0 AHCI/0: registering: "AHCI/0: Hitachi HDS721032CLA362 ATA-8 Hard-Disk (298 GiBytes)" Scan for option roms Searching bootorder for: HALT drive 0x000f28a0: PCHS=16383/16/63 translation=lba LCHS=1024/255/63 s=625142448 Space available for UMB: ce800-ee000, f0000-f28a0 Returned 57344 bytes of ZoneHigh e820 map has 7 items: 0: 0000000000000000 - 000000000009fc00 = 1 RAM 1: 000000000009fc00 - 00000000000a0000 = 2 RESERVED 2: 00000000000f0000 - 0000000000100000 = 2 RESERVED 3: 0000000000100000 - 00000000caffe000 = 1 RAM 4: 00000000caffe000 - 00000000cb000000 = 2 RESERVED 5: 00000000fffc0000 - 0000000100000000 = 2 RESERVED 6: 0000000100000000 - 0000000196040000 = 1 RAM Unable to lock ram - bridge not found enter handle_19: NULL Booting from 0000:7c00
設計上、VM1には以下の制約があります。どれかに引っかかっているのかもしれません。
VMMのデバッグメッセージから調査すると、ストールする直前のWindowsの動作は次のようになっていました。
a,b,dから、OSはPIC割り込みやI/O APICの割り込みを期待していないので、1,3,4の影響はないと考えられます。
消去法的には、2と5が残ります。
MCFGテーブルを作成することで、VM1からMemory Mapped Configuration Access可能にするパッチを作成してみました。 ベースアドレスや、バス番号の範囲などは固定値です。
しかし、Windowsのマークが表示が表示されたところでストールする事象が発生しました。
VM1でWindows 8.1を起動する
参考チケット: #32913 VM0でWindows 8.1を起動できるようにする