Windows Fails To Boot if Installation CD Is Not Present

zackriggle

n00b
Joined
Jan 12, 2004
Messages
52
I very recently had some problems with Windows (it simply would not boot, giving me a "system disk error - please insert system disk and press enter" error). I figured this was due to me somehow scrweing up my windows installation. No problem -- I re-installed windows. However, the problem did not go away -- I still got the same error. But, the error *does* go away when the Windows XP Professional CD is in the CD-ROM drive, and windows boots up fine (except that the default entry in boot.ini leads to a 'hal.dll' error, but specifically choosing an identical entry boots just fine). Another quirk is that, even though the boot priority is as follows: HDD0, Floppy, CDROM, windows will *only* boot after the system has gone through the "Booting from CDROM: Press any key to boot windows.....", then it goes to the OS Selection screen.

Any ideas? I've tried the recovery console, and fixboot.exe and fixmbr.exe, neither of which worked.

Edit: Here is a list of system specifications, as well as a copy of my boot.ini
AMD Athlon XP 1800+ @ 200*11 (NOT the source of the problem, have had it run stable at this for a year with no booting problems)
512MB GeIL Value Ram PC3200 @ 200*2 2.5-7-4-4
Western Digital WDC1600JB 160GB Special Edition, partitioned into a 26GB boot partition, and a 120GB data partition
ABIT NF7-S 2.0 bios rev. 26, with latest drivers from nVidia (checked a few days ago)
Generic 52x32x52 CD-RW
Gigabyte ATi Radeon 9600XT @ default speeds (+ ATi overdrive, running latest catalyst drivers)

boot.ini:
((boot loader))
timeout=10
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
((operating systems))
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /fastdetect

***note: brackets have been replaced with double-parenthasis because of BBCode
 
make sure you hard drive is set to be the active partition. Control Panel > Administrator > Computer Management > Disk Drives. Its somewhere in there.
 
I have found the Disk Management section in the computer management window, and can see which partition is system, and which is boot (C: is system, D: is boot, yet Windows is installed on D: and boot.ini is on C: ... very odd :-\). I have not found a way to change which is boot and which is system through the Computer Management control. Any ideas?

Also, I followed the xp_halldll_missing link, and followed the instructions as per what seemed most likely the error (boot.ini), and followed the boot.ini instructions at the end. I also thought that perhaps the MBR was the problem, so I ran fixmbr, but it complained that I had a non-standard partition table, that it would try to fix, but might screw everything up. Of course I told it to cancel.
 
Try booting up with the win xp cd and go into the repair console mode and in there type FIXBOOT and FIXMBR and try restarting the computer and see if you can boot into XP
 
no dont do that

both the system and the boot partition should have windows installs
when you attempted the repair install, you actually set up a dual boot

inside the boot process part 1
inside the boot process part 2

you any good at the commandline? (just in case)

navigate via windows explorer to the boot.ini on the system partition (C)
copy it and save it as bootold.txt and also copy it to a floppy (as boot.ini)
then edit the boot.ini to


boot.ini:
((boot loader))
timeout=10
multi(0)disk(0)rdisk(0)partition(1) \WINDOWS
((operating systems))
multi(0)disk(0)rdisk(0)partition(1) \WINDOWS="Microsoft Windows XP Professional" /fastdetect

so its now pointing to the first partition
then exit

in the event something goes wrong boot to the recovery console on the CD
from the command prompt replace it to the old one


delete C:\boot.ini
copy A:\boot.ini C:\

you will likely be back at the system error you first had, but lets get there first shall we :p
 
http://support.microsoft.com/default.aspx?scid=kb;en-us;314058

FIXBOOT

fixboot drive name:
Use this command to write the new Windows boot sector code on the system partition. In the command syntax, drive name is the drive letter where the boot sector will be written. This command fixes damage in the Windows boot sector. This command overrides the default setting, which writes to the system boot partition. The fixboot command is supported only on x86-based computers.

FIXMBR

fixmbr device name
Use this command to repair the MBR of the boot partition. In the command syntax, device name is an optional device name that specifies the device that requires a new MBR. Use this command if a virus has damaged the MBR and Windows cannot start.

Warning This command can damage your partition tables if a virus is present or if a hardware problem exists. If you use this command, you may create inaccessible partitions. We recommend that you run antivirus software before you use this command.

You can obtain the device name from the output of the map command. If you do not specify a device name, the MBR of the boot device is repaired, for example:

fixmbr \device\harddisk2
If the fixmbr command detects an invalid or non-standard partition table signature, fixmbr command prompts you for permission before rewriting the MBR. The fixmbr command is supported only on x86-based computers.
 
Just a quick thought, are there any Linux distros out there that are solely designed to give access to LILO or Grub? I don't exactly want to go ahead and install Slackware on this box too (I run 2 slackware boxen as servers).
 
now that is out of left field :p

why are we talking about bootmanagers?
LILO Grub and other freeware bootmanagers are readilly available
but complicate the issue considerably if employed at this point


lets just try to get the original install repaired
ditch the 2nd install, and then talk about bootmanagers
 
Well, tried what you said, Czar, and to no avail. It just rebooted (because, evidently, the windows-installed drive is the 2nd logical partition on the drive)... then I went to work for a few hours, got back, and restored boot.ini to what it was before.

All that LILO and Grub do is replace the Windows MBR entry with their own. Since, obviously, the Windows MBR entry isn't working (fixmbr is complaining, and I don't want to kill my (edit) partition table), I think it would be logical to try to install a different MBR loader.

Edit 2:
Very curiously, I decided to completely remove the CD-ROM from the boot sequence. Some how, some way, the motherboard still decided that it should boot from the motherboard. Is there some way I could have shorted the motherboard to try to boot from the CDROM first, and if there is no bootable media (regardless of whether it's booted from or not) that it will not boot from anything else?

Edit 3:
I was wondering if it was possible that this had to do with a bad IDE cable that was attached to the CD-ROM drive. It would not even get recognized at boot, so I just disconnected it for a while. Then I figured out that it was the IDE cable, and found an older 40-pin cable (moving the CDROM back to ATA33, but hey it works). Could that have done anything to it? That was pretty close to when this problem started (within minutes of).
 
well failure to have the drive recognized may have been your first error
but after that you where accessing the disk, but not bootstrapping from it

intermittent access could have easilly corrupted a critical system file
which could also account for the first error
Corruption 101


here is the bootmanager section of the Advanced HDD Issues linkfarm
Boot Managers
Gujin
Understanding MultiBooting and Booting Windows from an Extended Partition
Multibooting Principles
XOSL opensource freeware
Smart Boot Manager opensource freeware
GAG
System Commander $
OS-BS FreeBSD boot manager opensource freeware
Ranish Partition Manager freeware
GNU GRUB opensource freeware
LILO Linux Bootmanager opensource freeware
Solaris boot manager
Masterbooter shareware

Linux-NTFS Project

both LILO and Grub are available individually from any distro

something is screwy in the boot process
what is your current message again?

you where booting to the extended partition?
(logical drive?) review that 2nd link
 
I believe that the Windows partition is a logical drive residing in an extended partition, yes. I actually don't remember doing this, but evidently that's the way the cards fell. I think I might be salvaging all that I need off of that drive, then deleting the partition, and creating a new primary partition (so that I have two primary partitions --- which is possible, as the limit is 4, correct?). Anyways, here is a screenie of the Computer Management dialog:

http://xtac.kicks-ass.net/comp-management.gif (35KB)

**Note:
The D: drive is the drive that Windows is installed onto, and the C: drive is where I store everything that I don't want to lose in the event that Windows decides to take a shit on my head (before re-installing windows, however, the drive letters were the other way around :eek: )
 
zackriggle said:
Holy Fork, how in the hell did that happen?

OK Logical Drives only exist "legally" in Extended Partitions, which you have
but an Extended Partition is Dependent on a Primary Partition and yours seems to be mising
The original Primary would have been before the Extended, if you didnt delete it
that suggests the Partition ID was Damaged
your correct you can have 4 primary partitions or 3 primary and an Extended Partition with its own Logical Drives

The Boot Problem is that the MBR is pointing to the ntldr location on the first partition
and its not a Primary Partition, access D: and see ifthere is an ntldr there

it is possible to change partition IDs

Moto Guzzi said:
A-That the white-Bar flashing past on boot for 2sec's indicates

having successfully bootstrapped with the ntldr and now looking up the boot.ini
would be my guess followed by ntdetect.com, ntoskrnl.exe and hall.dll
 
Yes, the D: drive (Windows) does have an NTLDR, but I don't remember if I copied it there to try to solve the boot problem (might have copied it from C:) or if it actually belongs there. Maybe I should try to delete it, and run 'fixboot' to point it to the C: drive, then 'fixmbr' to point to the C: drive? (knowing that it could fuxx0r my partition table)
 
Well, I fixed the problem. Bad ATA cables suck.

(note: fixmbr, fixboot, etc, did NOT work. a new ATA cable fixed it instantly)
 
zackriggle said:
Well, I fixed the problem. Bad ATA cables suck.

(note: fixmbr, fixboot, etc, did NOT work. a new ATA cable fixed it instantly)

I keep hearing how computer people always want to check the hardest things first. :D
(And that's an interesting partition layout, btw.)
 
Back
Top