Missing hal Vista/XP Dual boot problem

#1
Hope someone can help - sorry if this has been covered but I am a bit of a novice with dual-boot so I am hoping someone can explain what to do in simple terms.

I have Vista on Drive C:
On another disk (Drive D:smile: I started to install Windows XP Professional. When all the files had been copied and the machine rebooted I got a missing hal.dll error.

I used the Vista restore disk to repair the Vista bootloader.

I then used EasyBCD to add another operating system to the bootloader. I tried to set this as XP Pro on Drive D: but for some reason it goes back to C:.

Not sure what to do next!
 
#2
Update! I tried to boot in XP and got a \ntldr error, status 0X000000f. The selected entry could not be loaded because the application is missing or corrupt.

Now what do I do?
 

mqudsi

Mostly Harmless
Staff member
#3
Hi Legend, welcome to NST.

Go to the second page in EasyBCD, and changce the XP partition from there.
 
#4
I assume you mean the Configure boot page: what do I change to change the XP partition. On Entry based settings Vista is C: and XP is D:

When I boot the machine and select XP to continue setup I get \ntldr error, status 0X000000f. The selected entry could not be loaded because the application is missing or corrupt.

In the view settings page the info is:
Code:
There are a total of 2 entries listed in the Vista Bootloader.
Bootloader TimeOut: 10 seconds.
Default OS: Microsoft Windows Vista
Entry #1
Name: Microsoft Windows Vista
BCD ID: {current}
Drive: C:\
Bootloader Path: \Windows\system32\winload.exe
Windows Directory: \Windows
Entry #2
Name: Microsoft Windows XP Professional
BCD ID: {7e85e94c-3ac4-11dc-a168-00095b74c291}
Drive: D:\
Bootloader Path: \ntldr
 

mqudsi

Mostly Harmless
Staff member
#5
You should read the XP documentation. It has a link to the XP boot files that need to be copied to drive D:\ if you get this error message.
 
#6
I have downloaded NTLDR and NTDETECT files from the link in XP documentation. Next I have written a boot ini file that looks like this:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect


With Vista installed on the first physical hard drive (one partition), I started XP setup on a second physical hard drive for installation - again it has one partition.

All 3 files have been copied onto the Vista partition (C:smile:.

EasyBCD settings look like this:
There are a total of 2 entries listed in the Vista Bootloader.
Bootloader TimeOut: 10 seconds.
Default OS: Microsoft Windows Vista
Entry #1
Name: Microsoft Windows Vista
BCD ID: {current}
Drive: C:\
Bootloader Path: \Windows\system32\winload.exe
Windows Directory: \Windows
Entry #2
Name: Microsoft Windows XP Professional
BCD ID: {7e85e94d-3ac4-11dc-a168-00095b74c291}
Drive: C:\
Bootloader Path: \ntldr

I now get this error message when I select XP from the Vista boot menu:

Windows could not start because the following file is missing or corrupt <Windows root>\system32\ntoskrnl.exe. Please reinstall a copy of the above file.
 

mqudsi

Mostly Harmless
Staff member
#7
It sounds like your XP is corrupt! :frowning:

Stick your XP CD in the drive and perform a repair install.
Run EasyBCD | Bootloader Management | Reinstall Vista Bootloader
from within XP and reboot to have it work.
 
#8
I put the XP CD in the drive and rebooted. In XP setup I first selected repair and got the recovery console and didn't know what I was doing! I then did a clean install, formatting Drive D:. When all the XP files were copied the machine rebooted and I got the same error message:Windows could not start because the following file is missing or corrupt <Windows root>\system32\ntoskrnl.exe. Please reinstall a copy of the above file.

I put the Vista DVD back in, rebooted and selected repair/startup to get the machine running again.

I still cannot continue the XP setup.
 
#9
Today I copied the ntoskrnl.exe file from my laptop XP Pro and replaced the ntoskrnl.exe file in D: Windows\system32. When I booted the machine again I got the same error message: Windows could not start because the following file is missing or corrupt <Windows root>\system32\ntoskrnl.exe. Please reinstall a copy of the above file. Is my boot.ini correct? What am I doing wrong?
 

mqudsi

Mostly Harmless
Staff member
#10
No, not your Boot.ini

Sounds like your MBR needs a scrubbing.
Are Vista and XP on the same physical drive?
 

mqudsi

Mostly Harmless
Staff member
#12
OK, switch the drives around and install XP.

Install EasyBCD in XP.
Run EasyBCD and it will tell you you need to repair your BCD. Let it.

That should take care of it.
 

mqudsi

Mostly Harmless
Staff member
#14
You may be able to change the drive order in the BIOS - it depends on your system.
 
#15
Right I have changed the drive order in the BIOS and started XP setup, deleting the partition and quick formatting the drive. When all the files were loaded and the machine rebooted, I got an "Error loading operating system" message. Is this a hard disk fault? Would Recovery console FIXMBR sort this?
 
#16
I just had a look at the Microsoft website on this error - it says This issue may occur if your computer BIOS does not correctly manage or support the capacity of the hard disk on which you are installing Windows XP.

I used this disk before to install XP. It used to be the Primary but as it is only 40GB I made it a slave so I could use a 80 GB drive for Vista.
 

mqudsi

Mostly Harmless
Staff member
#17
try the fixmbr, Should work :smile:
 
#18
Operating system error was sorted by changing the HD parameters to Large in the BIOS. I had to then start XP setup again but it worked! I then changed the boot order to the Vista drive first - the boot manager shows both entries and I now have a dual boot system! Thanks for your help!
 
#19
Unfortunately... I set up this dual boot system because my firewire wasn't working. In Vista I got messages saying firewire was working properly but the PC couldn't detect firewire card readers or capture video by firewire. I thought this was a Vista problem - it worked under XP. with XP now installed I now have the same problem!
 

mqudsi

Mostly Harmless
Staff member
#20
Hmmm..
Try changing the PCI slot?

Let's continue this discussion in your original thread though. Congrats on getting XP booting.