This is basically a "how I did . . ." that could serve as an example on
2 things:
1) Installing windows AFTER linux is installed
2) fixing the boot system after changing partition tables
My specific scenario:
I started with Linux/winxp/winme multi boot (rh9) and grub boot loader.
win XP screwed up (again)
My goals
I was tired of reinstalling rh9 every time windows became corrupted so
I found a (partially complete/correct) FAQ on how to reinstall grub and
keep my linux
Where I screwed up:
I had a really huge windows partition that was basically wasted space
so I went into dos fdisk , blew away the XP partition and made it only
5 gig so I could add different linux flavors later.
THE PROBLEM THIS CREATED:
both linux and windows now viewed all the partitions with different
numbers. previously my root was hd0,1 and my swap was hd0,2 with all my
other linux partitions on hd1,x
what I SHOULD have done:
1) make sure M.E. is the active partition in dos fdisk after deleting
and recreating XP partition
2) reinstall winxp
3) boot using linux emergency disk and mount the root properly
4) edit fstab and grub.conf to reflect the new partition numbers for
/root, /swap, and splash screen (which is also root I believe), and
windows boot partition
IF I WAS SIMPLY ADDING WINDOWS FRESH AFTER A LINUX INSTALL:
1) Assuming I already have unpartitioned disk space, I could have
booted using the windows boot disk and created the partition(s) in dos
fdisk for windows (or in winxp but anaconda seems to cry over this but
it will work)
2) install windows version(s) on the newly created/formatted
partition(s) in proper order (older to younger)
3) after verifying that windows is booting properly, boot using linux
boot/emergency disk, properly mount linux root for your version of
linux (rh9 automatically offers to mount pre-existing linux
installations on /mnt/sysimage and all I had to do was type: chroot
/mnt/sysimage)
4) find out the new partition numbers for the swap partition, and
root/boot.
5) edit fstab and grub.conf (in rh9 mine were both stored in /etc
directory) to reflect the proper swap partition, root partition,
splashscreen partition for grub *note* the splash screen is very
important or it wont provide the proper options, and the proper windows
boot partition.
EXAMPLE:
how I had to reinstall grub after installing windows to correct all my
mistakes.
1) booting in to the (rh9) linux with the boot floppy I typed "linux
rescue" at the "boot:" prompt (http://www.bootdisk.com/ if you don't
have a boot disk and can't create one from your install)
2) I accepted the default /mnt/sysimage that rh9 provides to mount the
existing linux installation. it recognized my network connection but I
told it not to install it for this process
3) at the prompt I type "chroot /mnt/sysimage"
4) to find the partition information I typed "sfdisk -l" this listed
the partitions and identified the swap file. Some people say there's a
command to specifically identify the root partition, but I don't know
what it is and I knew mine was only 102 mb and I was able to correctly
guess which one was which since I couldn't remember which drive I put
the root partition on.
5) after getting the partition numbers I changed directories into the
etc directory (this is where both fstab and grub.conf files are on my
rh9, "cd etc"
6) I used vi editor to edit fstab & grub
vi fstab
i (for insert, move to right spot and change the hda, mine was now hda1
where it was hda3 previously, the delete key worked ok to remove the
old text)
esc
:wq
7) using the same method above I edited grub.conf
-my root was now hd0,0 (listed as hda1 in sfdisk) so I changed both the
splash screen and root to be hd0,0.
-Previously my windows boot partition was hd0,1 but with all the
changes it was now hd0,2 so I had to edit the entry to reflect this
-I saved the file using :wq like above
8) I had to type exit and hit enter twice at the prompt to solicit a
reboot, while it was rebooting I removed the emergency floppy and the
rh9 cd1 that the floppy required for boot.
Magically the grub menu/splash screen came up (I had edited the windows
option to say "various windows Operating systems"
Now, one thing to note here, I now have 4 partitions on my first hard
drive and 26 gig of free space on it for later. when I DO finally add
new linux partitions on it later or if I decide to make some of that
available to windows I'll have to find a way to HIDE all the linux
partitions from the windows systems. I'm told this can be done within
the grub.conf file but I haven't tried to tackle that yet . What I'll
likely do is copy the grub.conf file to a back up file and that way I
can easily restore if I screw things up
I hope this helps someone out there to avoid the frustration I went
through while trying to do this without any clear instructions. Mine
aren't very clear perhaps but it's more info and examples than I found
anywhere.
happy Linux everyone