Microsoft

Multiboot systems allow consultants to be versatile

Learn how to set up a computer as a multiboot system and how to use a computer loaded with Windows 2000 Server, Red Hat Linux 7.1, and Windows XP


As a consultant, you may have clients running applications on various operating systems. Having a multiboot system can ensure that you’ll be able to help your clients in more situations and quickly adapt to their needs.

The most obvious benefit of a multiboot system is the ability to maximize the use of limited resources and workspace. Another plus is the added security and maintainability. For example, if a computer crashes, you can boot up quickly from another OS to access files. (Think of it as insurance.) If you choose a Windows/Linux environment, you can even make the two operating systems oblivious of each other for added security and protection.

Multiboot systems also offer ways around hardware compatibility issues, so you’re not limited to any proprietary software solution or hobbled because the chosen OS isn’t compatible with built-in ancillary devices, such as video cards or an older SCSI drive. In this article, I’ll show you how to set up your computer as a multiboot system. I’ll also give a description of how I use a computer loaded with Windows 2000 Server, Red Hat Linux 7.1, and Windows XP.

My computer
As a consultant with Intellisys Technology, I’m working on two projects that require very different flavors of technology. First, I’m part of a team assigned to analyze a possible Electronic Document Management System (EDMS) solution for a primarily Windows environment. Second, I’m supplying Web site analysis, design, and programming, hosted on a legacy UNIX/Apache system.

For the EDMS project, we needed Windows 2000 Server for a SharePoint Portal Server prototype; for the Web developing and testing, I needed to set up a UNIX/Apache server. Moreover, I’m traveling to do training for my client; mobility is a must, so a desktop was not an option. (Sometimes, the only time I have to complete the task at hand is on the 25-minute flight between Atlanta and Pensacola.)

Considering the fact that I already lug around two laptops (one as my workstation and the other as my development server), I didn’t want to add a third. To consolidate my resources, I configured a single computer with Windows 2000 Server (and SharePoint Portal Server) and a Linux/Apache Web server for a development and testing platform. Recently, I also added Windows XP Professional for study as a workstation.

Multibooting Windows and Linux
While Windows 2000 and Linux have different boot processes, Linux has made it easy to incorporate both systems on one box, as long as you don’t mind choosing your OS from the Linux Loader (LILO), rather than the NT Loader (more on this later).

Another difference is how each file system handles partitions. While Windows assigns drive letters to partitions and ancillary storage devices (e.g., C, D, E), Linux doesn’t; it has more of a hierarchical directory and file structure.

Although Linux does assign labels to partitions, where Windows 2000 numbers them numerically, Linux uses hda, hda1, hda2, and so on. So, for example, if you have an 8-GB hard drive, you can partition 4 GB in Windows 2000, leaving the remaining half for the Linux system.

Windows Boot Loader
To get started, locate the Master Boot Record (MBR) on Windows. The MBR of any PC usually resides within the first partition (C: drive in Windows 2000, hda in Linux).

The simplest way to create a cross-platform, multiboot environment is to load Windows first, because LILO can see Windows and add it to the boot options but not vice versa.

The Windows MBR includes a Boot.ini file, which resides in the system root. If you can’t see it, you’ll need to change your folder options. Start Windows Explorer and click Tools | Folder Options | View (see Figure A). Select Show Hidden Files And Folders and clear Hide File Extensions For Known File Types and Hide Protected Operating System Files (Recommended).

Figure A
Folder options screen


Close the windows and move to the root directory of the boot volume of your computer. Right-click on the Boot.ini file and select Properties (see Figure B). On the Boot.ini Properties screen’s General tab, clear the Read-only attribute of the file and click OK.

Figure B
Boot.ini Properties screen


Now, when you double-click the file icon, it will open in Notepad. If you’re using the Command Prompt, use the following commands instead:
c:
cd \
attrib -s -h -r boot.ini
notepad boot.ini


The command-line attribute –s will clear any system file characteristic, -h will clear the hidden file trait, and -r will unmark the Read-only attribute. If done correctly, each command will return you to the Command Prompt until the last notepad boot.ini, which will launch the Boot.ini in Notepad.

A typical multiboot Boot.ini file may look like this:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT=
"Microsoft Windows 2000 Server" /fastdetect

multi(0)disk(0)rdisk(0)partition(3)\WINXP=
"Microsoft Windows XP Professional"

C:/linux.lnx=”Red Hat Linux 7.1”

The various OS options are listed under the [operating systems] section. They’re identified by partition number in Windows 2000 and by the friendly name that appears within the quotation marks. During the boot process, this Boot.ini generates an option screen that would look like Figure C.

Figure C
Boot Loader Screen


If you don’t choose an option from the list of choices within the allocated default time of 30 seconds, a default OS is selected. It follows default= in the Boot.ini file and is highlighted in the list at Startup (see Figure C). The time limit (in seconds) is assigned after timeout=. The default operating system doesn’t need to be the first one on the list or on the first partition. The boot process looks for the first line that matches the [operating systems] section, so now that you’ve successfully installed your Windows environment, you’re ready to go cross-platform with Linux.

The Linux boot process
LILO is the most popular boot loader for Linux. In a multiboot environment, LILO will automatically be configured to boot the other operating systems; it recognizes their presence during the install process. LILO is initially configured cross-platform during installation, but as with the Boot.ini file in Windows, it also has the flexibility to be customized later.

Figure D
Linux Loader (LILO) screen


The Linux version of the Boot.ini file is called the lilo.conf, which is located with many other configurable file in the /etc directory.

The contents of a typical lilo.conf file are shown below, with Windows installed on the first partition and boot sector and Linux on the second. The image= and root= lines may vary, depending on where Linux was installed.

Typical lilo.conf file                   boot=/dev/hda
                   map=/boot/map
                   install=/boot/boot.b
                   prompt
                   timeout=50
                   image=/boot/vmlinuz-2.0.36
                           label=linux
                           root=/dev/hda2
                           read-only
                   other=/dev/hda1
                           label=win2k


The boot=/dev/hda row signifies that the boot loader is installed on the MBR (which is usually hda) and that LILO will control the boot process of all operating systems from the start. The prompt: line gives you the menu in Figure D, providing a choice of operating systems at boot time, with timeout=50: establishing the amount of time (again, in seconds) you have to choose.

Red Hat Linux also incorporates two different flavors of graphic user interfaces: GNOME and KDE. The best choice between the two is really only a personal preference. The KDE graphical Windows-like mode includes a menu-based option for configuring the lilo.conf file, as depicted in Figure E. This can make customizing and adding new operating systems easier to manage.

All you need is the correct Linux label for the/root partition of the new OS, then you can add it with the KDE Boot Manager, as shown in Figure E.

Figure E
KDE Boot Manager


Bottom line
Clearly, a multiboot system has advantages: maximizing resources, added security, maintainability, flexibility, and compatibility. Although it’s possible to boot a non-Windows OS from the NT Loader, LILO makes it simpler. It’s also a comfort to know that I don’t need to drag a boot disk or CD (and their appropriate drives) everywhere I go; I could just boot up the other computer in the box.

Advantages for consultants
Have you realized the advantages of running several operating systems on the same computer? Tell us how it’s benefited you and whether you took a different approach from what’s discussed in this article. Post your comments below.

 

Editor's Picks

Free Newsletters, In your Inbox