[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Booting from a Bootcamp partition
From: |
Programmingkid |
Subject: |
Re: [Qemu-devel] Booting from a Bootcamp partition |
Date: |
Thu, 25 Apr 2019 21:36:16 -0400 |
> On Apr 15, 2019, at 2:35 PM, John Snow <address@hidden> wrote:
>
>
>
> On 4/15/19 6:23 AM, Programmingkid wrote:
>>
>>> On Apr 15, 2019, at 5:54 AM, Stefan Hajnoczi <address@hidden> wrote:
>>>
>>> On Sun, Apr 14, 2019 at 07:33:17PM -0400, Programmingkid wrote:
>>>> Hi I was wondering if anyone has been able to boot from a bootcamp
>>>> partition inside of QEMU. I know this partition can be used in QEMU but my
>>>> own attempts at booting Windows 7 on my bootcamp partition did not work. I
>>>> always see "A disk read error occurred". Has anyone else been successful
>>>> at this?
>>>
>>> Hi,
>>> It's difficult to help without more information:
>>> 1. What is your QEMU command-line?
>>
>> sudo qemu-system-x86_64 -name "Windows 7" -hda "/dev/disk0s4" -boot "c" -m
>> 3000
>>
>>> 2. What is the partition table on the disk?
>>
>> The bootcamp partition is this: /dev/disk0s4
>>
>
> (Are you trying to boot a partition as an entire block device ...?)
I am trying to boot a partition.
>
>>> General problems with booting Windows are usually caused by a guest
>>> configuration that doesn't match the hardware configuration that Windows
>>> was installed under. Can you check that the AHCI bus address of the
>>> disk and partition numbering matches what Windows expected?
>>
>> How would someone do this?
>>
>>> It may also be useful to enable tracing (see docs/devel/tracing.txt) to
>>> see what the ahci_* trace event log says. I have CCed John Snow, one of
>>> the few people who can read this log :).
>>
>> I'm guessing you believe the problem is the partition can't be read in QEMU.
>> I know for sure it can. I attached this partition to another QEMU VM and was
>> able to see it on the Desktop.
>>
>
> Well, we don't know what the problem is. From the command line above it
> looks like it'd be using the legacy IDE emulation instead of the newer
> SATA emulation, though. I'd wager that the Windows boot loader here is
> not expecting to use IDE.
>
> "disk read error" could mean a lot of things from the POV of a guest,
> but having disk emulation tracing would show us what the guest is trying
> to do, at least.
How do I enable this tracing?
>
>> My guess is the computer is using an EFI firmware and QEMU uses the
>> traditional BIOS firmware (SeaBIOS). So I think trying UEFI in QEMU might
>> work.
>>
>
> Try using -M q35 which will engage SATA and AHCI emulation, and try
> using UEFI, yes.
I tried using a OVMF firmware file I found online. It will not work when I use
"-M accel=hvf --cpu host". The screen just stays small and black instead of a
screen with the firmware info. This test was done with git revision
3284aa128153750f14a61e8a96fd085e6f2999b6 of QEMU.
The only way to make the OVMF work is to not use the accelerator:
sudo qemu-system-x86_64 -name "Windows 7" -boot "c" -m 4000 -pflash OVMF.fd
I did have success with booting a Windows 7 HD image file and was able to view
the bootcamp partition as another drive. I used seaBIOS instead of OVMF.
Windows 7 did crash a lot. The error was always DRIVER_IRQL_NOT_LESS_OR_EQUAL.
I also saw this error printed by QEMU: Unimplemented handler (fffff80002705050)
for 0 (f c3)
This is the command-line I was using:
sudo qemu-system-x86_64 -name "Windows 7" -hda "Windows 7 HD.qcow2" -hdb
"/dev/disk0s4" -boot "c" -netdev user,id=mynet0 -device rtl8139,netdev=mynet0
-m 4000 -usb -device usb-audio -M accel=hvf --cpu host
I just realized that the Bootcamp partition is formatted as NTFS. This is
probably why it does not work with SeaBIOS. Thank you everyone who tried to
help.