What steps will reproduce the problem? 1. Install Linux OS on guest 2. Install Windows 2008 R2 Server on guest for dual boot 3. Configure grub menu to boot windows as default
What is the expected output? What do you see instead?
Expect windows to boot but just get flashing cursor. Guest does not appear to be using CPU.
What version of the product are you using? On what operating system?
R211 on Windows Hyper-V
Please provide any additional information below.
Using a Linux build environment I have put debug statements in the source to see where the hang is. It appears that grub hands control to asm.S at ENTRY(HMA_start) but after that nothing happens.
Comment #1
Posted on Sep 6, 2011 by Massive BirdThe same hang also happens with 0.4.3 and 0.4.4
Comment #2
Posted on Sep 6, 2011 by Massive KangarooStill some details I want to know. If you bypass grub4dos and directly boot Windows(via the boot sectors of MS), how it will go then?
If you use grub legacy instead, how is it running?
Is the guest Linux booting normally?
How about another VM such as qemu, VirtualBox, VMWare, etc?
Suppress the support for intel-VT/amd-V/PAE, and problems still exist?
And your menu.lst and other related, please.
Comment #3
Posted on Sep 6, 2011 by Massive BirdI'm not at work right now but will get this information tomorrow. But this info may elp.
I created a boot iso image with just grldr on it to make sure nothing linux was interfering with the boot process. At boot I got the grub command line and typed these commands. No errors were reported and it just hangs after the boot command.
find --set-root /bootmgr *response was (hd0,0) chainloader /bootmgr boot
Comment #4
Posted on Sep 7, 2011 by Massive KangarooStill cannot tell what is wrong. How does grub4dos itself get booted? It is booted via MBR? via kexec of Linux?
You may have a test with this configuration: Install grub4dos's grldr in Windows and use bootmgr to manage the whole boot process. bootmgr load grldr and then grldr boot Linux. Then Windows boot fine?
How about the installation process of Windows? Can grub4dos help to pass the whole installation of Windows in the virtual machine?
Comment #5
Posted on Sep 8, 2011 by Massive BirdI had installed grub4dos from the linux OS and then installed Windows. I edited the menu.lst file to boot windows but of course it hangs. I then removed grub by using bootsect from Windows repair to rewrite the mbr. I then disregarded using Linux anymore as the problem is with Windows. I then created a bootable ISO with grub (grldr) on it and set grldr as the boot file. I tested this iso in VMWare and Virtualbox and it boots ok, I can execute these commands to boot into windows in both of these VM's.
find --set-root /bootmgr chainloader /bootmgr boot
The same iso hangs when booting a Hyper-V Windows guest
I created the iso to make things easier for me to test otherwise I would spend considerable abmounts of time just fixing the mbr of Windows after each attempt.
I tried to build grub legacy and after finding out I needed Bazaar (which I did install) and building grub legacy I can't seem to get grub legacy to work. I have spent all day yesterday on grub legacy and I fail to see the logic in pursuing grub legacy further as my problem is with grub4dos.
So to summarize. I have
- Created a bootable iso with just grldr on it and can use the command line to boot into Guest Windows OS's from both VMWare and Virtualbox.
- The same iso hangs when booting Hyper-V guests.
- Grub4dos seems to execute correctly all the way up to copying the loaded bootmgr to 7C00 and then passing control to that code.
- After that the Hyper-V hangs and uses zero CPU.
Comment #6
Posted on Sep 8, 2011 by Massive KangarooOK. I am waiting for you to answer my other questions mentioned above.
Can you boot into Windows just with MS boot record? Please do answer this question.
If the answer is "no", then this problem has nothing to do with grub4dos. If the answer is "yes", then try grub4dos with this:
find --set-root /bootmgr chainloader +1 boot
and report the result.
Comment #7
Posted on Sep 8, 2011 by Massive BirdComment deleted
Comment #8
Posted on Sep 8, 2011 by Massive BirdSorry about not answering ALL of your questions. Sometimes I find Linux very difficult to work with.
The good news is that using chainloader +1 does work so thanks very much for that suggestion.
If you have the time I would be interested in why you think that works where chainloader /bootmgr does not.
Again many many thanks.
But will this work if grub is installed to the hard drive. I'm thinking that it may loop?
Comment #9
Posted on Sep 8, 2011 by Massive BirdDo you still need me to answer your earlier questions? I can try this weekend to get the info if you do.
Comment #10
Posted on Sep 8, 2011 by Massive KangarooSometimes I find Linux very difficult to work with.
I suspect you meant that the existence of Linux(i.e., Linux on disk) had caused some(or many) problems on the Windows side. That may be true. But also may be false, since the problem might come from (some bugs in) Windows.
I would be interested in why you think that works where chainloader /bootmgr does not.
MS has plenty of secrets. Chainloading its ntldr needs an effort to discover those secrets. If not, we couldn't have had the ability to chainload ntldr. But we cannot say we have disclosed ALL of its secrets.
So in essence, chainloading ntldr is rather fluky. I mean, it is not too reliable, though it succeeded in the vast majority of cases. It could possibly fail.
But will this work if grub is installed to the hard drive. I'm thinking that it may loop?
Just try it. Perhaps when we talk about something related to MS, we should not be too sure about something, especially in this case when the host, guest and the VM hypervisor are ALL MS products.
If grub4dos is on the MBR, no loop will occur, since bootmgr is in a partition and then "+1" is the PBR.
If you run grldr via bootmgr, and you don't set grldr as default, then it should also ok.
Do you still need me to answer your earlier questions?
No. Thanks.
I can try this weekend to get the info if you do.
You may do so if you would like.
Comment #11
Posted on Sep 9, 2011 by Massive BirdYou are right it doesn't loop. Thank you very much.
You may close this issue now.
Comment #12
Posted on Sep 10, 2011 by Massive KangarooThank you.
Status: Done
Labels:
Type-Defect
Priority-Medium