My, my, where to start. It's been, as the Chinese might say, interesting. To summarize, I started with a Win2k/Win98 dual boot system, the Win2k on a SCSI drive, Win98 on IDE primary master, CD/DVD primary slave, a data drive on secondary master, and added a new drive as secondary master to use fo Linux. Trying the Core 3 CD's, anaconda crashed on assert failures trying to detect drive geometry and partitions. The Core 2 complained, but came up to DiskDruid, and I set up 20G /, 12G /home, 4G swap and installed it. I somewhat innocently let it put GRUB over top of the W2k boot loader on /hda, and after install, could not boot W2k/98 anymore. At this point I solicited advice here and received much cheerful and willing assistance, mainly these two (below).... First, I tried restoring the W2k bootloader, successfully, on /hda, but could no longer get to Linux. So I did the dd and saved the first block, then went looking for BOOT.INI on the W2k system. Hmmm, there wasn't one. So I started looking on the net for info on where it might be, and found some pointers to Micro$oft support pages about it, which mentioned that 'ntldr' uses BOOT.INI to load NT(W2k), and went looking for ntldr, finding it in \WINNT\ServicePackFiles\i386, and dropped the file there and created a BOOT.INI with the incantation noted below. Nope, that didn't do it. Rummaging around, I discovered I have a PartitionMagic 6.0 CD I had never used, and thought maybe this might help. For starters, it noticed partition table irregularities on the Windows drives, and helpfully offered to fix them. That at least got the Core 3 install to stop crashing while examining drives. <soapbox> Just as an aside, my own opinion is that assert() has no place in released code, as useful as it may be on occasion in development. ESPECIALLY in code looking at read/write storage that could be in any state. Speaking as a programmer, I take it as a given that there are NO impossible conditions. It's just defensive programming. If quantum theory can assign a nonzero probability to a black hole materializing over my CPU, making assumptions about the state of a disk is glibly optimistic, I think. </soapbox> Anyway, PartitionMagic comes with BootMagic, their own boot loader. So I tried that, to no avail. I should mention here that the first sector of the drive (what dd captured) is apprently the drive geometry and partition table, so I'm thinking this probably wouldn't work anyway. I found this out the hard way by dropping it onto the first sector of my /hdd (Linux drive), and the system then thought it was an 8GB FAT32 drive and became horribly confused. I tried reconstructing my original partition table, without success. Core 3's anaconda went back to crash-n-burn, so I tried to see what PartitionMagic could do with it. It refused to touch the Linux drive, totally corrupted as it was. The Win2k drive manager was willing to delete the corrupt partition so I tried that. Sadly, I forgot that help from Redmond frequently has a high price, as I discovered it appears to have blown away the firmware on the CD/DVD on the secondary IDE channel that the Linux drive is on. Oopsie. Okay, it was a Samsung, and I wasn't all that happy with it anyway. Went down and got a new Plextor after I got an RMA for the Samsung. Put everything back together, Core 3 install came up ok, and installed Core 3. Updated to 2.6.10-1.741_FC3, and now trying to decide if Thunderbird needs to get blown away, but that's another story. THIS time, however, I had it put GRUB on the Linux boot drive (/hdd) instead of the master boot disk. Now at boot, the BootMagic comes up, offers Windows and Linux, and both actually work. Would this work with the normal W2k bootloader? I don't know, and since it works ok like this, I'll leave that as an exercise for the reader. :+) Probably not, since the W2k bootloader that comes up doesn't show anything but Win98 and Win2k for options. I can't figure out where they're storing this info, there doesn't seem to be BOOT.INI, it's not in the registry, duh. The only file in the whole system with the string "/fastdetect" is ntldr. Ron;
Jonathan Berry wrote:
-- === Ron Watson === rw@xxxxxxxxxxxxxx === Nisi potestatam dabis, non habebunt. |