moving to linux --- success finally [long]

Jeff Vian jvian10 at charter.net
Tue Feb 1 00:41:17 UTC 2005


On Mon, 2005-01-31 at 00:06 -0500, Ron Watson wrote:
> 
> 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

I assume from you comments below you meant the new drive was secondary
slave.

> 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

10G is more than enough for / in most cases.  1G is a very large swap,
the rest in /home would more closely fit what most people use.

My pc with 512mb ram almost never touches swap.

> 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

first sector is boot sector.
 
> work anyway. I found this out the hard way by dropping it onto the
> first sector of my /hdd

NEVER copy from disk to disk with dd unless the drives are exactly the
same (brand, model, etc).  dd is powerful and does a bit for bit copy
and overwrites what is already there.  You found this out the hard way.

In the scenario you were given, dd copies from disk to file which is OK.
And back from that file to the same disk and same location would be OK.
However disk to different disk is BAD.

Note, in the procedure below, I use the partition boot sector and not
the drive boot sector.  Thus I do not deal with geometry/partition
table/ etc.

> (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;
> 
> 

Boot.ini is a hidden system file in W2K (usually c:\boot.ini) and can be
edited with notepad or wordpad

The drive geometry errors that caused problems for the initial install
were your real problem at the beginning.

Now those have been fixed you should be able to do a reinstall, put grub
on the MBR of hda, and it should give you the option of configuring for
booting the other installed OSes.  It has always written a menu option
in /boot/grub/grub.conf for me to chainload each windows OS installed.

Alternatively you can use the boot.ini modification to boot Linux from
the win2K ntldr.

I have done this in the past, and it works easily.  It used to be the
only way to dual boot with NT4.0 and linux. 

the steps are:
----------------------------------------------------------------------
1. install linux.  When installing specify the boot sector of the boot
partition for placing the boot loader. (this should be the partition
where you installed /boot)
        If the initial install does not allow putting the bootloader on
        the partition but forces it to the MBR, then within Linux,
        before you do step 2 you can do the following
        "grub-install /dev/hdd1" 
        Which will write the boot loader to the boot sector of the
        partition before continuing with step 2.

2. use dd to create the file needed.
    I will assume you put /boot on /dev/hdd1, so the command will be
	"dd if=/dev/hdd1 of=linux.img bs=512 count=1"

3. Now put the file linux.img on c:\ of your win2k boot disk.
    This can be done in many ways, but I use a floppy or usb drive for
that.

4.  edit c:\boot.ini and add a line that reads
    Linux = c:\linux.img 
   following the entries for win2k and win98

5.  Boot from the win2k boot loader and it should provide the option to
boot linux as well as windows and just work.





More information about the fedora-list mailing list