May 18, 2009

Linux Distros Are Like Lays Potato Chips...

... You Can't Have Just One!

Multi-booting - My Way

I've been multi-booting since I first came to Linux. Originally, it was due to my transition from MS Windows to GNU/Linux. Later, it was because I wanted to try more distributions. I was still hunting for the one that "fit" me best. I've since found that distro (Slackware). However, I still have multiple operating systems on my computer for varying reasons.

 <>

My current hard drive partition and usage map looks like this:

SATA 1 - Main/Secondary OS + Linux Archive

Primary - 25Gig: /(root) - Slackware................../dev/sda1 (ext3)

Primary - 50Gig: /home - Slackware..................../dev/sda2 (ext3)

Extended - 175Gig:..................................../dev/sda3
Partition - 25Gig: /(root) - Debian.........../dev/sda5 (ext3)
Partition - 50Gig: /home - Debian............./dev/sda6 (ext3)

Partition - 2Gig: /swap (common)............../dev/sda7 (swap)

Partition - 98Gig: Linux Archive............../dev/sda8 (ext2)

SATA 2 - MS Windows + Experimental Operating Systems

Primary - 25Gig: MS Windows Main....................../dev/sdb1 (ntfs)

Primary - 25Gig: MS Windows Programs................../dev/sdb2 (ntfs)

Extended - 200Gig:..................................../dev/sdb3
Partition - 2Gig: /swap (common)............../dev/sdb5 (swap)

Partition - 15Gig: /(root) - GNU/Linux......../dev/sdb6
Partition - 25Gig: /home - GNU/Linux........../dev/sdb7

Partition - 15Gig: /(root) - GNU/Linux......../dev/sdb8
Partition - 25Gig: /home - GNU/Linux........../dev/sdb9

Partition - 15Gig: /(root) - GNU/Linux......../dev/sdb10
Partition - 25Gig: /home - GNU/Linux........../dev/sdb11

Partition - 15Gig: /(root) - GNU/Linux......../dev/sdb12
Partition - 25Gig: /home - GNU/Linux........../dev/sdb13

Partition - 15Gig: /(root) - GNU/Linux......../dev/sdb14
Partition - 23Gig: /home - GNU/Linux........../dev/sdb15

EIDE 1 - Backups

Primary - 50Gig: Slackware Backups..................../dev/hda1 (ext2)

Primary - 50Gig: Debian Backups......................./dev/hda2 (ext2)

Extended - 150Gig:..................................../dev/hda3
Partition - 50Gig: MS Windows Backups........./dev/hda5 (FAT32)

Partition - 50Gig: Other OS Backups.........../dev/hda6 (ext2)

Partition - 50Gig: OS Common Storage........../dev/hda7 (FAT32)

 <>

 These three drives add up to three quarters of a Terabyte of space... way more than I actually need. However, space is cheap these days. I still remember paying $100 for a 10Gig drive less than ten years ago. Previously, SATA 1 and 2 were in RAID 1 (mirrored) configuration with MS Win XP Pro on them. What a waste. I rarely ever boot that OS these days (games only), so a broke the RAID down and repartitioned/reinstalled everything on my system.

The ten partitions you see on the SATA 2 drive are my experimental Linux slots. When this partition map was made, I intended to put CentOS, Arch, and Ark back on them, with the last two saved for Gentoo and maybe FreeBSD. I haven't gotten around to installing them yet, though. 

A few things to take note of when partitioning and multi-booting in this fashion:

1) Remember the SATA 15 partition limit. Many newer distros use the libATA kernel drivers which force drive recognition as SATA regardless of whether the drive is EIDE or SATA, so for this reason remember to place your /common partitions and /swap partitions on the lower numbered ones. A libATA distro installed anywhere else on the lower 15 partitions (or another drive) will still be able to "see" and mount them this way.

2) MS Windows is like the "Borg" when it comes to being installed on a computer with other operating systems. It seeks out and "destroys" other operating systems. Be sure to install MS Windows first. It needs to be on the first partition of whatever drive you're installing it on. After which, you can install your GNU/Linux distros safely.

3) Install your MBR controlling distribution last, time-wise, regardless of which partition/drive you're installing on. This will allow it, especially in the case of Debian's excellent GRUB, to "see" all the other installations and write them into your menu.lst for you. Even though Slackware is my primary operating system, and since I don't use LILO, I allow Debian to control the MBR and boot my system with its GRUB.

4) Lastly, as in the case above, if your MS Windows installation is on a different drive than your MBR controlling OS, then your BIOS may have troubles booting the correct drive. No matter what you choose in BIOS as the first device, the Windows drive will boot. The reason for this is that Windows installs a bootable flag on its own drive. This flag gets priority from the BIOS. To set a bootable flag on the drive that you want to boot will require a bit of manipulation using a Live Linux CD* and the fdisk command.

Boot your Live CD and start it. From a terminal session within the CD do the following:

 # fdisk /dev/

fdisk> a (option to toggle bootable flag on drive

--partition number? 1 (first partition on the drive)

fdisk> w (command to write the new info to disk and exit fdisk)

--bootable flag reset for this drive

This will set the bootable flag to the drive you choose. Reboot, go into BIOS setup and choose your first boot drive. It should boot fine now.

 *Another option to use is the way I actually did it on my own system... I used SLAX on a flash drive to perform the fdisk above. Worked like a champ!

Anyway, that's the way my system is set up. Whenever I add or change operating systems, I just edit the Debian /boot/grub/menu.lst to reflect those changes.

Have fun with it!

 Until next time...

V. T. Eric Layton

***Tempus Fugits***

 

 

 

 

 

Click Here!