1.1 Purpose of this GuideThis document represented in the form of a Guide, is intended to help those Windows, OpenSolaris and Linux users who believe in the method of "learning by doing". Multiple-booting systems is not an exact science. You come across a document, you read it, find it interesting, do it yourself, make mistakes and then finally you achieve the desired aim. That is how you're supposed to learn. That is how I learnt. That is how the UNIX experts learnt a long time ago! Learning by doing!
By the end of this document, you would have a clear understanding of the basic topics required for successfully installing and configuring three different OSes on a single hard disk of a computer. I've tried my level best to describe each and every topic in a clear and easily understandable simple language.
Most multi-booting installation HOWTOs and guides available on the Internet are incomplete because either they assume too much leaving the readers to do most of the difficult stuff themselves or are blatantly simple. I've tried my best to find a perfect balance between the two!
1.2 What is Multiple-booting?The Webster's New World Computer Dictionary (9th edition) by Bryan Pfaffenberger, defines the term "dual-booting" as: 'A computer that enables the user to choose between two OSes at boot time'. Rightly so. Considering this definition as our boilerplate, we may frame our own definition of a "multiple-booting" or (in short) a multi-boot system i.e., a computer that enables the user to choose between more than two OSes at boot time.
This document explains how three varying OSes can be successfully installed and configured on the same hard disk of a computer thus enabling it to become a "multi-boot" system. The OSes chosen for this illustration include: Microsoft Windows XP, OpenSolaris 2008.11 and CentOS 5.2. I would install a Microsoft Windows OS first, then proceed installing OpenSolaris and finally round-off by installing CentOS. GNU GRUB is the boot loader of choice.
1.3 Multi-booting Pros and ConsAn idea or thought as: Hey! Dual and multi-booting computer systems have advantages only and absolutely no disadvantage is wrong. Often an important question is: Why would someone need to multi-boot a PC? Where does it make sense to multi-boot a PC? The answer to this question is simple: Multi-booting systems only make sense where you would like to experiment with a number of configurations (or OS in general) than you have computers for and more significantly where data is NOT at risk.
Let us consider a situation like this: Peter is a software programmer who works from home; has a single PC that runs Debian Linux. His significant documents and downloaded files from the Internet are stored on it. He now decides to learn and practice hacking the FreeBSD Kernel. Thus, he decides to make his PC a dual-boot system. Converting one's only or in other words, the primary PC at home or at work into a dual or multi-booting system is a bad choice. If a primary home PC must be used as a dual or multi-booting system, it will be much safer to add a second hard disk and leave the first relatively untouched. A powerful boot loader like GRUB will allow booting from the other hard disk.
I personally have a test lab setup at home, with multiple PCs ranging from PI, PII, PIII to PIV running Windows XP (for playing games), Red Hat Enterprise Linux (for RHCE exam preparation), CentOS (used for doing office work at home), OpenSolaris (tweaking here-n-there), Ubuntu (do most of my daily tasks like checking mail in Evolution, surfing the Net and so on). One or more of these machines which does not have any significant data on themselves, is multi-booted. This can be considered as an ideal situation for playing around with multi-booting.NOTE: Multi-booting Windows with OpenSolaris and CentOS on the same hard disk can lead to a fatal hard disk crash where all data contained therein could be lost! You have been warned! Backup any significant data that you maybe having.
1.4 List of Assumptions
Before proceeding any further, make sure you browse through the Frequently Asked Questions (FAQ) section of the guide.
- The reader possesses an intermediate (i.e. theoretical & practical) level of experience of partitioning hard disks utilizing Microsoft fdisk, BSD style partition table editor, Linux fdisk and so on.
- The reader understands hard disk geometries, concept of a primary partition, an extended partition, logical disks within an extended partition; Linux disk naming and partitioning schemes, BSD style disk labeling and partitioning schemes.
- The reader possesses an intermediate (i.e. theoretical & practical) level of experience of compiling and configuring custom Linux and OpenSolaris Kernels.
- The reader possesses knowledge of basic UNIX commands common to both Linux and BSD OS. E.g., mounting filesystems, editing configuration files etc.
- The reader is using an x86 or x86 compatible system.
- The reader is using a hard disk whose BIOS supports the Logical Block Addressing (LBA) mode of representing data on the disk. By using LBA mode, the 1024 Cylinder Limit on old hard disks is dealt with.
1.5 AcknowledgementsI wish to offer my sincerest regards and thanks to:
Additionally, whilst writing this document, I did consult the following books, online journals, magazines and official papers:
- Guylhem Aznar <guylhem at metalab dot unc dot edu>, Chief coordinator, main contact of TLDP for making this guide possible.
- Tabatha Persad <tabatha at merlinmonroe dot com>, Linux Documentation Project Review Coordinator, for technical reviews and for answering my million queries.
- To every Open-Source community contributor around the world.
- Modern Operating Systems, by Andrew S. Tanenbaum
- Understanding the Linux Kernel, by Daniel P. Bovet, Marco Cesati
- CentOS online documentation at http://www.centos.org/docs/5
- OpenSolaris online documentation at http://opensolaris.org/os/documentation/
- Free book authored for installing, configuring and managing OpenSolaris 2008.11, http://dlc.sun.com/osol/docs/downloads/minibook/en/820-7102-10-Eng-doc.pdf
1.6 LegaleseTrademarks are owned by their owners.
Although the information given in this document is believed to be correct, the author will accept no liability for the content of this document. Use the tips and examples given herein at your own risk.
Copyright (c) 2009, Subhasish Ghosh
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 2.0 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is located at www.gnu.org/copyleft/fdl.html
1.7 About the Author
The author, currently aged 28, possesses a decade of hacking / administering experience on Linux (Red Hat, Fedora, Slackware, Debian, ASP Linux, ALT Linux), FreeBSD, OpenBSD, NetBSD, Sun OS 4.x, Sun Solaris, OpenSolaris platforms. He holds a BTech degree in "Informatics & Computer Science engineering" from Moscow Power Engineering Institute (Technical University); studied for an MSc at Oxford University. Holds MCSD & MCSE certifications from M$; currently working towards Red Hat Certified Engineer (RHCE) certification.
To read the author's Linux-based programming articles on Linux.com, click here.
The author is currently employed with www.123greetings.com as TL - Email Deliverability Specialist. He could be reached at <sghosh.oxon at yahoo dot co dot uk>