[ Think Pad R40 ]

 

Partitioning Notes

Updated 2005.03.27

My decisions regarding disk layout, partitioning, and drive lettering in windows 2000 may have contributed to some mysterious and troublesome problems later.  Below is a description of the traps I set for myself, why they happened (my best guess anyway) and how to avoid them in future installations.  Some (most?) of this is guesswork.  Please help me fill in the blanks if you have additional or more specific information.

In order to get win98, win2k, Solaris, and Linux all on the same smallish hard drive - and humor the partition type requirements of each, I set things up like this: (win drive letters shown)

 

primary 0        C: win98

primary 1        D: win2k

primary 2           solaris

extended

    logical 0       linux boot

    logical 1       linux

    logical 2       linux swap

    logical 3    F: fat32 scratch directory - accessible from all OSs

(The CD-RW/DVD drive is E:)

 

I had thought that win98 and 2k required installation in a primary partition, but my System Commander documentation indicates that they can be installed into any primary or logical partition as long as their boot files are installed into a primary partition (the 1st??).  Solaris requires a primary partition.

Win98 was installed first, then win2k.  I wanted win98 to be in the C: partition and win2k to be D: (for purely cosmetic reasons) so I installed them before I created the other partitions.  If the fat32 scratch partiton had existed before win2k was installed, it would have been assigned the D: letter.  For some whacky reason, windows passes out the drive (partition) letters in this order:   primary 0, logical 0 .... logical n, primary 1 if fat/ntfs ... . primary n.  If there is a 2nd hard drive, it gets worse: hd0/primary0, hd1/primary 1 (if fat/ntfs), hd0/all logicals (if fat/ntfs), hd1/all logicals (etc), then back to hd0 and hd1 for additional primaries - i don't know if it assigns all remaining primaries on hd0 before hd1, or bounces between them.  Cripe, what a mess.

Anyway, I should have built all partions before installing win2k, and just let it install as F: (after the DVD drive) or whatever screwy drive letter Bill G and co. wanted it to use.  The way I did it works OK -- as long as the disk geometry never changes.   Unfortunately, installing Solaris or Later versions of Linux diddles the partiton table's CHS values (cylinder, head, sector), presumably (?) because they use LBA addressing.  If the CHS values don't get restored before win2k gets booted again, win2k will fail to boot, and may not be recoverable.

Apparently, the changed CHS values cause win2k to think that the disk ID has changed (guessing here) and it tries to use what would have been its default drive letter (F: in this case) as the system root.  It will get as far as the login screen then go to "loading settings" then to "saving settings" and back to the login screen.  If win2k is configured to do an auto login, it just loops.   It may also display a "missing page file" message.  This behavior can also occur after cloning a drive.

It may be possible to fix things (at least for the next reboot) by booting to DOS and doing FDISK /MBR, which clears the disk IDs and forces win2k to reassign them.  This worked for me after cloning a similar drive on my P4 deskside, and I was able to reboot win2k once, but on the next reboot I got a "ntoskrnl.exe file is missing or corrupt" error, and that was all she wrote.

Update 2005.03.27

The long and short of it is to build all the partitons first (even if just place holders) and let win2k pick its own screwy drive letter -- or arrange the partitons so that the default letter is the desired one.  I could have made the win2k install default to D: by making it the first logical partion, rather than the second primary.  In this way, even if modified CHS values (or whatever) confuse win2k, it will default to the drive letter under which it was installed - and still boot properly.

This approach may avoid fatal win2k failure to boot after installing Solaris or Linux, or after cloning, and explains the problems I have been fighting for some time.

What happens if the win2k install is in some drive letter above D: and a CD/DVD drive (which may be D, E, F, whatever) gets added|reomved|fails I have no clue.  If it causes the win2k default drive letter to change it may cause the above problem.  I haven't tested it.

 

[ Think Pad R40 ]