A quick solution for "Windows could not start because the following file is missing or corrupt......

B

Bob Smith

Has anyone had this error message during boot time?:

"Windows could not start because the following file is missing or
corrupt. Windows root\system32\hal.dll. Please re-install a copy of
the above file"

I had beat my head until I found a quick solution. This only applies
to MOBOS that support "boot Priority (a sub menu)" in CMOS.

I have a (Gigabyte) GA-880GM-UD2H (rev. 1.4). here we go;
In CMOS\Advance bios settings\boot priority. there you will see what
HDD is booting first, second, third and so forth. I noticed my Primary
HDD with Windows 7 SP1 OS was at the very bottom of the boot priority.
All I had to do is move my OS HDD to position #1 and that nasty
windows error message disappeared and my system booted correctly!!!

I hope this will help some users, I just had to share my experience in
hopes it will help some. Good Luck!
 
D

Dave \Crash\ Dummy

Bob said:
Has anyone had this error message during boot time?:

"Windows could not start because the following file is missing or
corrupt. Windows root\system32\hal.dll. Please re-install a copy of
the above file"

I had beat my head until I found a quick solution. This only applies
to MOBOS that support "boot Priority (a sub menu)" in CMOS.

I have a (Gigabyte) GA-880GM-UD2H (rev. 1.4). here we go; In
CMOS\Advance bios settings\boot priority. there you will see what HDD
is booting first, second, third and so forth. I noticed my Primary
HDD with Windows 7 SP1 OS was at the very bottom of the boot
priority. All I had to do is move my OS HDD to position #1 and that
nasty windows error message disappeared and my system booted
correctly!!!

I hope this will help some users, I just had to share my experience
in hopes it will help some. Good Luck!
I haven't had that error (yet), but that is good to know. My boot
sequence is set to try the CD, first.

I wonder if the controlling factor is the MB or the BIOS? I have Phoenix
BIOS 6.00 G. Updating firmware is not something to be taken lightly, but
you might look into it.
 
P

Paul

Dave said:
I haven't had that error (yet), but that is good to know. My boot
sequence is set to try the CD, first.

I wonder if the controlling factor is the MB or the BIOS? I have Phoenix
BIOS 6.00 G. Updating firmware is not something to be taken lightly, but
you might look into it.
It's a feature, not a bug. The BIOS has a disk numbering scheme. If any
software uses a BIOS service for accessing a disk, that would be bound
to use the BIOS numbering scheme. The OS has a "disk discovery order",
based on controller type, location in address space, and so on, which
is a more "fixed" scheme (no menu to change the order). The OS order
can be partially modified, by moving a disk controller card from one
PCI slot to another.

The BIOS numbering is dynamic, and as the OP noted, pushing your boot
disk to the top of the order, changes the BIOS disk number (the same
number as is used in the boot.ini ARC). If you use the BIOS popup boot
menu (F8 or F11), the disk you select would become disk0, so that is
another way to control it.

default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS

If you install Linux, the file part of the install, uses OS inspired disk
detection. Except for the part where GRUB installs, in which case, the
BIOS numbering may be used. The end result, is there is a real danger
your Linux install will write the MBR of the wrong disk. (I know, because
I had to use "fixmbr" on my WinXP disk, to put it back.)

To simplify matters, and save brain cells, disconnecting all disks
except the target of the install, is a good way to beat this system.
It's pretty hard to "out-brain" the crafty BIOS, which can think of
new ways to make things go wrong.

Not all generations of BIOS, behave exactly the same way. A trick
working with a computer from 2010, might not work with a computer
from 2001. For one thing, the BIOS might not be playing the same
dynamic numbering game.

Since it's "design intent", doing an upgrade won't change it.

The above, is my own picture developed from getting into countless
messes. I don't know if there is a web page that makes sense of it all.
I've played it by ear when trouble occurs. (In some cases, either
editing a boot.ini, or using the GRUB editor at boot time, as required, so I
can get something to boot.) I don't always try to beat it, by changing
boot order, because there may be reasons to leave well enough alone
(like getting an OS installer to do the right thing later).

Some Linuxes are even worse, in that they can start booting from the
device, and then part way through, tell you they can't find certain
files. And to fix that, you have to feed them a directive like
"fromhd=/dev/sdb4". The problem with that, is you don't know how
each OS will enumerate disks - it could be hda, hdb, or sda, sdb,
and it can take a large number of trials until the OS boots. (In fact,
for some of them, they call the disk hdb during installation, and then
call it sdb when the install is finished.) I've taken to taping a
suggested "fromhd" value to boot media, to save search time when I'm
using it. And if I plug in an additional USB device, before booting,
it can result in the disk letter needing to be bumped as well, as
in "fromhd=/dev/sdc4".

The whole thing is horrid and absurd. And now that there are
new flavors of BIOS out there (UEFI), there will be more rules
to learn.

Paul
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top