Visit Jeremy's Blog.
Go Back > Linux Answers > Applications / GUI / Multimedia
User Name


By Frelov at 2005-03-16 21:31
(warning, long post with hopefully good info)
Ok fellow newbies, since no one answered my requests for help on this and since this seems to be a common theme with no clear "How to" that I could find on the net I figured I'd post this again So other newbies can avoid my mistakes :P

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.

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

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.

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

by tangle on Sun, 2005-03-20 18:41
I find it easy just to make a bootdisk when installing Linux. That way when I have to reinstall Windows. I just boot to the floppy, then log in as root and type lilo. Then boot loader is installed again and I am back to where I started.

by donaldke on Wed, 2005-05-11 04:51
hi am a new user and i would like to know how to post a question pliz help

by gabrielvc on Wed, 2006-09-20 15:59
My problem is that my computer does not have a floppy disk. I know windows will corrupt my mbr and linux no longer be bootable after I install the beast!

by tangle on Wed, 2006-09-20 18:00
Originally Posted by gabrielvc
My problem is that my computer does not have a floppy disk. I know windows will corrupt my mbr and linux no longer be bootable after I install the beast!
If you are using Slackware and your Slackware install is on the second partition. Boot to the first CD and at the prompt type "bare.i root=/dev/hda2 noinitrd ro". Then log in as root and type lilo. I am not sure about any of the other distributions.

by hsbawari on Mon, 2006-10-02 14:07
if u install linux then it will be hidden
insert the first linux installation cd
on the first window type linux rescue and follow the instructions
once u hav rached shell
type grub-install
mount chroot /dev/hda1


All times are GMT -5. The time now is 01:51 PM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration