RecoveringUbuntuAfterInstallingWindows

Differences between revisions 4 and 5
Revision 4 as of 2005-07-17 10:43:17
Size: 6870
Editor: S0106000000cc07fc
Comment: remove double title
Revision 5 as of 2005-07-18 01:23:08
Size: 6895
Editor: S0106000000cc07fc
Comment: add category documentation
Deletions are marked like this. Additions are marked like this.
Line 130: Line 130:

CategoryDocumentation

Before You Begin

This howto applies to...

  • Dual-boot setups in which Windows was installed after Ubuntu
  • Conditions where Windows failure forced a re-installation
  • Windows recovery techniques involving the "restoration" of the MBR
  • Cases where GRUB failed to install

Prerequisites:

  • Your Ubuntu partitions are all still intact
  • You have a LiveCD, such as the Ubuntu LiveCD, or anything you're comfortable with
  • You're familiar enough with your LiveCD to gain access to a console
  • You remember how you set up your partitions (having a printout of /etc/fstab is ideal, though you can make do with the output of fdisk -l /dev/hda)

  • Knowledge of how your kernel works (specifically with regards to initrd), if you're using a non-Ubuntu kernel or built your own
  • Your kernel's version; this howto assumes 2.6.10-5-386

Perparing Your Working Environment

To begin the restoration procedure, insert your LiveCD and reboot your computer. Proceed with your LiveCD's bootup proceedure until you are presented with an interface. If your LiveCD does not immediately present you with a console, also called a terminal, open one -- to do this with the Ubuntu LiveCD, click Applications -> System Tools -> Terminal.

Note: Since this is a LiveCD environment, any changes to user accounts or filesystem layouts at this level will not be permanent. This means you can set a temporary root password and create directories without affecting your actual installation.

Now, you need to gain root access. Under Ubuntu, this can be done with the following commands: {{{sudo -i }}}

Under Knoppix, the following command will suffice, and you will not be prompted for a password. {{{su - }}}

Now that you have root access, you need to mount the partition(s) containing your bootloader files.

You will need access to both your /sbin/ and /boot/ directories. If you have a /boot/ listing in your fstab, you are among those who will need to mount two partitions.

Begin by creating a mount point for your working environment -- you'll notice this is the same as creating a directory. {{{mkdir /mnt/work }}}

If you need to mount /boot/, too, run the following command. {{{mkdir /mnt/work/boot }}}

Now it's time to actually load your filesystem data. Review your fstab and identify the location(s) of / and /boot/; these will likely look something like /dev/hda3 and /dev/hda4, though the letter 'a' and the numbers 3 and 4 may differ.

Note: For the remainder of this howto, /dev/hda3 and /dev/hda4 will be assumed, so alter them as needed when typing them in yourself.

Enter the following commands to load your filesystem and some information GRUB may need. {{{mount /dev/hda4 /mnt/work mount -o bind /dev /mnt/work/dev mount -o bind /proc /mnt/work/proc cp /proc/mounts /mnt/work/etc/mtab}}}

Now, you have to enter your working environment. The following command will take care of that. {{{chroot /mnt/work/ /bin/bash }}}

Warning: From this point on, any files you modify will affect your Ubuntu system. You have left the safety of the LiveCD. Excercise caution.

Recovering GRUB Automatically

If you have a separate /boot/ partition, type the following line. {{{mount /dev/hda3 /boot/ }}}

Reinstalling GRUB from this point is easy. Just enter the following command. {{{/sbin/grub-install /dev/hda }}}

If the command you used above failed, which is unlikely, you will need to configure GRUB manually (it isn't too hard); if it succeeded, you should read the note at the start of the final section: "Configuring the GRUB Menu".

Recovering GRUB Manually

Before you can undertake the next step, it's important that you understand how GRUB identifies partitions.

To GRUB, numbers begin with 0, and letters are expressed numerically, also beginning with 0.

For example, /dev/hda1 is "hd0,0" to GRUB. Similarly, /dev/hdb3 is "hd1,2".

Note: The "root" line must point to the location of your /boot/ partition if you have one. If you do not have one, point it at your / partition. {{{/sbin/grub grub> root (hd0,2) grub> setup (hd0) grub> quit}}}

Configuring the GRUB Menu

Note: This step does not need to be done if you're just trying to recover your MBR. Installing Windows will not alter the contents of your existing menu.lst, so if everything was working right before, everything will continue to work right now, and you can restart your computer.

Open the GRUB menu file, /boot/grub/menu.lst, with your favourite text editor. An example follows. {{{nano /boot/grub/menu.lst }}}

Note: Your menu.lst file is used to control the operating systems GRUB displays on startup, as well as its visual appearance. This howto will only explain how to get your operating systems to boot; it will not tell you how to make your bootloader pretty.

A sample menu.lst, stripped of unnecessary comments, appears below. It is based on the /dev/hda3 and /dev/hda4 example above, and assumes Windows resides at /dev/hda1. {{{timeout 5 #The number of seconds GRUB should wait before booting an OS default 0 #The entry which should be booted by default fallback 1 #The entry which should be booted in the event of the first one failing

title Ubuntu, 2.6.10 #A 32-bit Ubuntu entry #This (or something like it) should be in your configuration root (hd0,2) initrd /initrd.img-2.6.10-5-386 kernel /vmlinuz-2.6.10-5-386 root=/dev/hda4

title Ubuntu, 2.6.10 #Another 32-bit Ubuntu entry #This is an example of an Ubuntu entry which does not have a separate /boot/ partition #(it is provided only as an alternate to the example above -- do not use them together) root (hd0,2) initrd /boot/initrd.img-2.6.10-5-386 kernel /boot/vmlinuz-2.6.10-5-386

title Microsoft Windows XP Home #An entry for a Windows installation #If you're reading this guide, you probably want this root (hd0,0) makeactive chainloader +1}}}

And that's it. Save and close the file, then reboot and try out the entries.

GRUB Rresources

CategoryDocumentation

RecoveringUbuntuAfterInstallingWindows (last edited 2008-08-06 16:25:03 by localhost)