Ubuntu

Mikkel L. Ellertson mikkel at infinity-ltd.com
Sun Jan 27 22:17:05 UTC 2008


Beartooth wrote:
> 
> 	I take that to mean what you really have is neither a straight 
> Fedora problem, nor a straight Ubuntu problem, but a multi-boot problem 
> involving both. Right?
> 
> 	After much effort and with lots of help online, I have just 
> managed to make my testbed machine triple-boot, reliably, with Fedora 8, 
> Ubuntu 7.10, and CentOS 5.1; I'm not quite sure what I did, nor how, but 
> I can outline it.
> 
> 	First, back up your data; the next step will wipe *everything* -- 
> leaving you with not even an OS.
> 
> 	Now download and burn a CD with DBAN, boot to it, and tell it 
> autonuke. It will take several hours.
> 
Somewhat overkill for what you are after. If you want to wipe the 
drive, but do not need a secure erase, then you can use something 
like "dd if=/dev/zero of=/dev/sda". You really should do it from 
after booting from a live CD. It is not normally needed it any case.

> 	Then partition the hard drive; use knoppix, or gparted or 
> qtparted on a live CD. I made a separate /boot partition first, then one 
> for each OS, and a swap partition. 
> 
> 	Boot from the install medium for the first OS; do the manual 
> install, making sure you install only into the partition you want; let it 
> build you a grubbery in /boot. I did CentOS first. Make a note of what in 
> in any grub.conf a/o menu.lst you can find.
> 
> 	Install gparted or qtparted or both in each OS as you go -- not 
> to partition with, but to look with. Keeping track of what's on which 
> partition is going to grow into a major pain.
> 
> 	Now do the like with the second OS -- I used Fedora. It will 
> probably wreck your ability to boot to the first one.
> 
> 	So boot to what you can, and command mkdir /TEST. Then start 
> running "mount -t ext3 /dev/sdax /TEST" for x = 1 to whatever your last 
> partition is. (In CentOS and Ubuntu, use hda, not sda.)
> 
> 	Whenever a partition does mount, do "cd /TEST," then ls, and 
> drill down to find any grub.conf a/o menu.lst in any OS but the one 
> you're running.
> 
> 	In another terminal or terminal tab, su to root, and do the same 
> inside the one you're running.
> 
> 	Copy and paste, adding each OS's boot data to the boot record for 
> the other. It should now boot to both.
> 
> 	If you add a third, as I did, expect it to wreck your ability to 
> boot to at least one of the others. Apply a similar remedy.
> 
> 	As I said, I'm not sure; I *think* the above is what I did. But I 
> notice that what's in /boot is *not* all the boot data, but that for one 
> OS (the last, iirc), and some directions to chainload.
> 
> 	You may have to do something similar to all the above *again* 
> whenever one OS updates its kernel. Or the chainloading from the 
> dedicated /boot partition may spare you that. Be sure at least that you 
> do save the boot data for the new kernel, where you can get to ti even if 
> not to its OS.
> 
> 	It's not pretty; but if you put the testbed -- *after* all the 
> installing -- behind a KVM switch along with your main machine, it's very 
> convenient once it's running.
> 
I love it. It is way too complicated for most uses, but it will 
work. I tend to prefer giving each OS its own /boot partition - it 
tends to keep things simple. Only one needs to be on a primary 
partition. It is possible to share a /home partition between 
distributions, but it is usually more work then it is worth unless 
you use a different window manager or user for each one. (different 
versions of KDE or Gnome do not always use compatible configuration 
files.)

One setup that I have always enjoyed is to make a small "master" 
partition a primary partition, and make it fairly small. (You could 
get by with 1Mb.) This is for the Grub setup you boot from. You 
install Grub here from a live CD with the Grub fist stage on the 
MBR. You also mark this partition as active. You will have to create 
the menu yourself, and all it will consist of is a list of the 
different distributions you want to be able to boot. You will 
chainload to each distribution's boot loader.

You then create a /boot partition for each distribution - they 
should be logical partitions in an extended partition. These 
partitions will be where you will chainload to from the main version 
of Grub. You can create the /root or LVM partitions and the swap 
partition at the same time, or leave it to the installer.

When you install each distribution, you tell it to use the /boot 
partition you created for it, and to install the boot loader to the 
partition boot record.

A couple of minor details. If you share the swap partition between 
distributions, you can only resume to the distribution you last 
hibernated from. If you try to resume to a different distribution, I 
am not sure what the results will be. I have not tested it, so I do 
not know what will happen if you hibernate from one distribution, 
and then boot another one.

You may be able to skip the separate /boot partition for each 
distribution, and make it part of the root partition. It depends on 
the drive size and your BIOS limits. You will also need a /boot 
partition  if you your root partition is on a LVM partition.

If you label your /boot partitions, You should probably use 
something like master for the main Grub partition, and boot1 through 
boot# for the different distributions.

Your boot options would look something like this:

Master -----Distribution 1 +---Kernel 1
         |                  |
         |                  +---Kernel 2
         |
         +---distribution 2 +---Kernel 1
         |                  |
         |                  +---Kernel 2
         |
         +---distribution 3 +---Kernel 1
                            |
                            +---Kernel 2


Your main grub.conf would look something like:

boot=/dev/sda
default=0
timeout=30
title Fedora
     root (hd0,4)
     chainload +1
title CentOS
     root (hd0,5)
     chainload +1
title Ubuntu
     root (hd0,6)
     chainload +1

The rest would be the standard Grub configurations except that you 
would have "boot=/dev/sda5" through "boot=/dev/sda7" for the 
different distributions. If you want, you can also include a splash 
screen for the master Grub install.

Mikkel
-- 

   Do not meddle in the affairs of dragons,
for thou art crunchy and taste good with Ketchup!

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/fedora-list/attachments/20080127/d3f135ae/attachment-0001.sig>


More information about the fedora-list mailing list