Datatalk - Multiboot
ONLY FOR ADVANCED AND EXPERIENCED USERS. YOU HAVE BEEN WARNED.
This can seriously screw up your machine and destroy all data. Proceed at your own risk.










Multiboot.
 

0. Before you start
1. What you need
2. OS characteristics
3. MBR, partitions and naming scheme
4. Examples
 


0. Before you start.


Are you sure?

These pages were created because the troubles I went through and the solutions I found might be useful to somebody else. Otherwise, they serve as a reminder for my own failing memory :-) Of course, there are more pages on the Internet dealing with the subject and some might (read: are likely to) be better than mine...
 

Links to other places of interest.

It's impossible for me to outdo all the other work on the web. Here are a bunch of links that just might provide you with the right information (where I so definitely failed)...


Still here?

So... Feeling adventurous? Want to have more than one OS on the same machine? And you know it can be done? Okay...

First read those few lines at the top of this page again.

And again.

Read them one more time.

Perhaps MultiBoot is NOT the thing for you?

Did you consider using a VM such as VirtualBox?

Still with me?

Now, if you're sure you want to continue and blow up your machine, go ahead. I can't stop you. But let me repeat it for you one more time: this is advanced stuff and it can seriously screw up your machine and destroy all data. Proceed at your own risk. I haven't done any Linux yet. If you know a small version of Linux that will work with the methods I described herein, please contact me so I can add the information.

Before we get down to business a little chat on alternatives for multiboot...
 

Emulation vs. virtualisation vs. multiboot.

There are three different ways to get your machine to run another os:

  • emulation
  • virtualisation
  • multiboot

Emulation.

Emulation uses a program to copy all the functionality of some (other) hardware. You could emulate an Atari XL, a Commodore 64, another PC, whatever. Your PC is using an 'abstracted model' of the original hardware, and the emulator program has to interprete every single command or instruction. Needless to say, this is painfully slow. Modern hardware is fast enough to emulate perfectly, for example, the old 8 bit home computers, but to run newer stuff emulation is not the way to go.

The big advantage of emulation is that it makes it possible to run stuff not designed (or never supposed to run on) your computer, even if it included another processor...

Some examples:

  • Bochs - PC
  • Atari800Win - Atari 8 bit
  • XFormer - Atari 8 bit
  • Handy - Atary Lynx
  • WinVice - Commodore 8 bit (Vic 20, C64, etc)
  • Mame - emulate many different arcade games
  • UAE - Amiga
  • ...
Bochs, altthough freeware, is incredibly slow... I managed to get it running, but quickly gave up on it...


Virtualisation.

In emulation, ALL hardware is emulated, every single instruction for the CPU is translated. This is slow.

In vurtualisation, only specific parts of the hardware are emulated, the rest is run natively (well, more or less) on your regular hardware. In other words, you cannot run programs designed for other specific hardware, especially processors. In other words, you could run anything written for a PC on your PC, but nothing else... Which would limit us to Dos, Windows, Linux, etc... :-)

Because only parts of the system are simulated, the general performance is much better. Some examples:

  • VMware
  • VirtualPC
  • VirtualBox (I'll now stop linking to that page :-))
For developpers, these kind of programs are a nice solution to quickly test their software on different other platforms or configurations.

I do like VMware and VirtualBox, which do most of the things one would expect, but sometimes there is no replacement for pure raw direct access to your hardware...


Multiboot.

Multiboot simply splits up your harddisk in multple partitions, where each partition contains its own operating system.

When NOT to use multiboot?

  • when you don't know a 1000% sure what you are doing
  • when you don't want to reboot to test something under another (copy of the) OS (see virtualisation, VMware might be the right thing for you)
  • when you want to emulate different hardware (see emulation)
When to use multiboot?
  • when you are a developper with the need for more than one OS and maximum speed
  • when some specific application or game only runs under an older OS
  • when you keep your games and work seperated (so you won't screw up your finely tuned and patched Windows installation)
  • when your wife wants to run a chinese version of Windows 98, and you, well frankly, you don't
A last remark: there are many different programs, OS versions, and hardware configurations, what worked for me might not work for you, and vice verse. Don't get angry at your computer. Get even :-)
 


1. What you need.
 

There are many different tools available, but the concept stays the same. You need something to partition your harddrive, you need something to create and restore images, and you need something to select the image to boot.

I am NOT going to explain how to do it with each and every tool, as the concept is the same, regardless of what you are using.


Ghost.

Disk imager. Author: Symantec. Costs: variable (50 to 100 euro). See also: radified. Alternatives: TrueImage and many others...

Once THE most essential tool for any computer enthousiast. Ghost lets you easilty create an image of your harddisk, or part of your harddisk. This image can be used to restore stuff when things go wrong, for example because you installed one downloaded program too many and now your Windows turns out to be 'kaput', broken, out in the blue... If that happens, you reboot into Dos, start up Ghost and restore your last image. Done.

Norton Ghost 2003 is my program of choice. It allows creation of images of NTFS as well as FAT partitions. I prefer to run the Dos version (a small executable that fits on a single floppy), although there are some drawbacks to that method (you will need an extra / spare FAT32 partition to write the image to). Unfortunately, new versions are horrible, pricy, etc. My biggest beef with Ghost was it's lack of support for my Raid 0 config. So now I've fully switched over to TrueImage.


TrueImage.

Disk imager. Author: Acronis. Cost: $50.

Fully running under Windows, at an affordable price. I've had some issues with non-standard partitioned harddrives (read: stuff that was partitioned using weird vendor specific tools, not something you should normally run into). I prefered to run Ghost from Dos mode, but often that no longer works on modern hardware.


PartitionMagic.

Disk partitioner. Author: PowerQuest / Norton / Symantec. Costs: approx. 50 euro. See also: none. Alternatives: many :-)

Another program you simply had to have and have to love. I'm using PartitionMagic v7 in these samples. PartitionMagic allows manipulation of your harddrive partitions, resizing, reformatting, conversion etcetera. Without loosing data. Note that a crash during such actions obviously WILL make you loose data. Power failures are also not very happy events to look forward to whilst you are using PartitionMagic.

You can run PartitionMagic from either Dos or the Windows environment. Again, I prefer to run it from Dos as we'll be doing other things from there as well.

PartitionMagic is not freeware but a commercial product by PowerQuest. Euh, by Norton, by Symantec, whatever. The logic behind their naming scheme escapes me.


Ranish Partition Manager.

Disk partitioner. Author: Ranish. Costs: full functional shareware, 1 postcard to register.

Haven't tested this one properly, but the version I tried (2.40) did not support NTFS but it looked like it did support Linux. If that's enough for you consider giving it a spin.  You're on your own to do so, but I would at this price...


Acronis Partition Manager.

Disk partitioner. Author: Acronis. Costs: $50 (part of Disc Director Suite). Alternatives: Partition Magic, Ranish.

Older version, replaced by the regular Disk Director (Suite). Acronis did some funny names to the naming scheme. Seems to work well on newer machines.


Acronis Disk Director (Suite).

Disk partitioner. Author: Acronis. Costs: $50. Alternatives: Partition Magic, Ranish.

Newer version of / successor to Acronis Partition Manager. Their naming scheme still confuses the hell out of me.


Fdisk.

Disk partitioner. Good old fdisk.exe from Windows 98 or MSDos can create partitions as well. It's what I used in the old days, in tandem with Vamos. Hey, it worked!


Vamos.

Boot manager. Author: ITS. Costs: full functional shareware, 15 euro to register. See also: none. Alternatives: BootMagic, OSL2000, XOSL, Lilo, and many others :-)

Although PartitionMagic comes with its own boot manager (BootMagic) I prefer to use Vamos. It's an older program but still servers me well. Vamos is entirely Dos based (no, not another one!) and creates a sort of bootmenu on startup. It allows you to select a partition on your harddisk(s) and boot from that partition.

Unfortunately Vamos does not run well on some modern hardware, so I recently switched to OSL2000. The concept stays the same though.


OSL2000.

Boot manager. Author: OSL Corp. Costs: $25.

Very simple to use and configure. Easier than Vamos (though a little less flexible). Keep in mind that it will try to hide *any* primary partition, so you're in for a surprise when you have primary partitions on your USB connected harddisks... solution: create logical drives on 'em, not primary.


Acronis OS Selector.

Author: Acronis. Costs: $50 (part of Disk Director Suite). Alternatives: Vamos, BootMagic, XOSL, Lilo, and many others :-)

I am the proud owner of an official version but I never use it... couldn't get it to work. And I tried! You are warned.


OS.

Well, you need to have something running on your box, some sort of OS. Most likely that's going to by a Windows version. Any Windows. I've succesfully messed around with Windows 95, Windows 98 / SE, Windows NT4 Workstation / SP6a, Windows XP Home, Windows XP Pro / SP1 and... Dos. Each version of Windows has its own pecularities. Be prepared for a lot of trial and error.


NewSID.

If you plan to 'clone' your Window XP machines you have to use either MicroSoft's SysPrep or SysInternal's NewSID.
 


2. OS characteristics.


General.

Every harddisk needs an MBR (Master Boot Record) that allows the OS to be loaded. Some OS's overwrite an existing MBR and replace it with their own. This may mean that after installing the OS you have to re-install any bootmanager you want to use.

Some OS's cannot startup from a harddisk if their boot partition is...

1. on the wrong drive
2. not close enough to the beginning of the drive
3. the wrong size (too large)
4. on a harddisk with an unrecognized geometry (read: a *big* harddisk in a machine with an older bios)
PartitionMagic gives some hints on the limits, but I've found that I could often move or install the OS to a place where it should not be supposed to work :-)

Forget multibooting in the following cases:

1. special hardware (raid controllers, scsi configurations, etc.)
2. special system demands (servers)
3. special OS specifics (dynamic discs)

VMWare.

As an alternative you could install and run VMWare, a software package that will let you install and run a number of 'virtual machines' under Windows or Linux. Advantage: all on one desktop, no rebooting necessary. Disadvantage: speed, you'll need a very decent machine to do so.


Dos.

- needs to load from the first harddisk
- fat16 and fat32 (using the command.com from 98)
- can be transplanted

I suggest to use the Dos that came with Windows 98 / SE.

Funny, isn't it... Dos needs to be on the first harddisk but doesn't care about logical partition or not, while Windows 98 wants to be on a primary partition but doesn't care about which harddisk it is on...

Although numerous sites report that Dos and Windows 98 do not work with multiple primary partitions on one harddisk, I never ran into any troubles with that. I must admit that all I did in Dos is manage my harddisk, and use the tools as Vamos, PartitionMagic, and Ghost. 


Windows 95.

- can only be installed on first harddisk in a primary and activated partition, will overwrite MBR
- needs to boot from an activated partition (?)
- needs to boot from the first harddisk (?)
- FAT16
- limits on transplant (?)

Don't try this. Go for Windows 98. I got it working but haven't tested it extensively, there are some reasons to believe Windows 95 will not behave well in multiboot setups. The differences between Windows 98 and 95 from an application point of view are limited, and Windows 98 runs on practically all machines that 95 would run on. (98 is what 95 should have been?) You just don't want 95.


Windows 98.

- can only be installed on first harddisk in a primary and activated partition, will overwrite MBR
- FAT16 and FAT32
- can be transplanted to non active partitions or other harddisks
- scandisk under Windows does NOT work properly on the second harddisk

My 'fall back' OS and the provided of the command.com that I use for booting into Dos.

Windows 98 can only be installed on the first harddisk in a primary activated partition. It will overwrite the mbr when installed. However, Windows 98 can be 'transplanted' to any other partition by creating a Ghost image from the place where you installed it and then restoring that Ghost image to another partition.


Windows ME.

Under investigation. Aw screw it. It's not even worth installing.


Windows NT4 Workstation SP1 / SP6a.

- can only be installed on first harddisk in a primary and activated partition
- can only start from an activated partition
- FAT16 and NTFS (NT4), FAT32 and NTFS (NT5) after SP6a
- can be moved or resized, limited cloning, cannot be moved to the second harddisk

A troublemaker, this little NT kid. There are multiple versions floating around, so what works for one might not work for the other. The versions I tried (SP1 and SP6a) did not overwrite the MBR but that might be different in your setup.

There are three approaches to multibooting NT:

1. make it look like it's the only OS (the one I prefer)
2. share the same partition between Dos / Windows 98 and NT (brrr)
3. put some minimal stuff on the primary parition and NT somewhere else (another brrr)

UNLESS you need to test compatibility with NT4 pre SP6a I would advise to install the servicepack SP6a. It fixes countless bugs, security issues, and allows full FAT32 access.

A few hints on installing NT4 and the troubles it can cause...

  • NT4 does NOT do plug and play, so go into the bios of your machine and DISABLE plug and play (ie. so from now on the Bios assigns irq's)
  • have your drivers at hand (every time NT asks for a driver, YOU have to offer the whole path, you can't 'browse' to the driver)
  • use a bootmanager that 'auto activates'
  • you CAN NOT HIDE other NTFS partitions from NT4 (very bothersome, this) even if they are in an incompatible format (especially wihtout SP6a!)
  • install NT4 on a FAT16 drive, to avoid accidental 'destruction' when another OS decides to repair an NT4 NTFS partition
  • don't change the admin name before installing nvidia graphics drivers
I'm not sure if Windows NT4 can be booted from the second harddisk, it might if the bootloader is kept on the first one, but I prefer my OS's to be totally unaware of each other.


Windows 2000.

- can only be installed on first harddisk in a primary and activated partition, will overwrite MBR
- can only start from the first hardisk
- FAT16, FAT32, NTFS (NT4 and NT5)
- can be moved or resized, limited cloning, cannot be moved to the second harddisk

Windows 2000 doesn't like multibooting very much. If you really want to, yes, you can install and multiboot it.

A few hints on installing Windows 2K and the troubles it can cause...

  • Windows 2000 'repairs' (aka destroys) any old NT4 NTFS volumes, even if you hide them!
  • there are some differences between XP's NTFS and Windows 2000's NTFS that might cause issues
  • you CAN NOT HIDE other NTFS partitions from Windows 2000 (very bothersome, this) even if they are in an incompatible format!
In general Windows 2000 is better not combined with Windows NT or Windows XP.


Windows XP.

- can only be installed on first harddisk in a primary and activated partition, will overwrite MBR
- can only start from the first harddisk
- FAT16, FAT32, NTFS, Dynamic Disk
- can be moved or resized, no cloning, cannot be moved to the second harddisk

(Oh! Look at that, an old glass tube with a post-it! Wow!)

Note: it might be possible to install and run from the second harddisk, but I haven't succeeded in doing so.

The latest and the greatest behaves like an NT on stereoids. (That what 98 should have been, anybody? :-)) Although Windows XP sees other NTFS partitions (even when hidden), it does doesn't change them when they are hidden (which is why I strongly advise against using Windows 2000 in multiboot setups).

XP peacefully co-oexists with all other OS's thus far, except for it's default behaviour on overwriting the MBR and it's nasty behaviour on cloning (it oftens refuses to run when transplanting, and in one case I've even seen it refusing to run after resizing its boot partition).
 


3. MBR, Partitions and naming scheme.


MBR, or Master Boot Record.

The very first part of the harddisk contains a small section called MBR, or Master Boot Record. It contains a small program that starts loading the real OS or Operating System. Without an MBR the system cannot start.

Some OS's replace the MBR with their own, and their own MBR can only load them. Boot managers are programs that replace the MBR with their own code, and they take care of the loading of the rest of the OS, wihout the OS noticing it. Vamos is such a boot manager.


Primary vs. secondary partitions.

A harddrive can contain maximal 1 to 4 primary partitions... OR 1 to 3 primary partitions plus 1 secondary partition.

A secondary partition, on it's turn, can contain up to 32 logical parittions (although they may not all be recognized depending on the implementation).

Dos and Windows 95 / 98 (officially) only support 1 primary partition and 1 secondary partition, though the secondary partition may contain a number of logical partitions...


Windows XP / NT / ...

Windows XP allows you to rename every partition, and give it a different letter. Be careful, the boot drive should stay C: as many applications will otherwise fail.

The same goes for NT and Windows 2000, although sometimes unexpected things may occur... (try to stick as much as possible to the original naming scheme suggested by Windows 2000 / NT).


Dos / Windows 98 / ...

Windows 98 does it the old Dos way. It assigns drive letters starting with C: in the following sequence:

1. first harddisk first primary partition
2. second harddisk first primariy partition
3. first harddisk all logical paritions
4. second harddisk all logical partitions
5. first harddisk all additional primary partitions
6. second harddisk all primary partitions
This is why it is important to assign unique labels to each partition after formatting them, that way, even when the drive letters are confusing, you can still properly identify what drive is actually which partition.
 


4. Examples.


4.1 Easy imaging.

As I did around 2004 and earlier, I guess... Easy imaging wihout a real MultiBoot configuration. (Remember: no matter what tools you use, the concept stays the same.)

Let's say we have a Windows XP box. We want to be able to quickly make a backup image or restore one. Also, this specific machine is sharing some data with other machines in a small network.

Now, XP only knows two sharing modes: simple sharing, where only data on FAT / FAT32 drives is shared WIHOUT any protection, or normal sharing where only data on NTFS drives can be shared. Normally we prefer NTFS as it's somewhat more resilient against crashes, but what to do about Ghost?

1. Here's my solution and logic:

  • my machine has only one harddisk
  • I want NTFS for my OS, so C: will be an NTFS partition
  • I need FAT32 for Ghost, so D: will be FAT32
  • I prefer to seperate my OS and data (so I can restore an image without loosing any data) so I want an additional partition E: for my data
  • and I want to share some of that data, so E: is going to be NTFS
2. So I boot my machine with a Dos floppy (or a tool CD), start up PartitionMagic, and create and format 3 partitions:
  • 1st partition: primary, NTFS, 8 GB, set active, label as 'XP'
  • then an extended partition, containing:
  • logical, FAT32, 4 GB, label as 'TEMP', and
  • logical, NTFS, all space left, label as 'DATA'
3. Next step is to install Windows XP. If XP assigns wrong drive letters to the drives you can change them. I like them as:
  • C: XP
  • D: TEMP
  • E: DATA
4. I always seperate my temp files and swap files from my OS. In XP I move the swap file to D: (while doing that, make it a fixed size, one to two times the size of your RAM, but limit yourself to 1 GB, more doesn't make sense). It may be subjective, but the system feels slightly faster, and I assume it will reduce fragmentation.
5. Also, I create a temp folder D:\TEMP and tell XP to store all temporary files there. (There's some dispute about this though.)

6. If you want, you can tell Internet Explorer to put it's cache there as well. If we later make an image (with a dumb package), these temp files will not be included and thus the image will be smaller.

7. Next I create a D:\GHOST folder and copy the Dos version of Ghost there.

8. Reboot your machine. Now, you wonder, where's the multiboot aspect? Well, there isn't, and there is :-)

If you only use Ghost and you don't want to fool around with a bootmanager such as Vamos, all you have to do now is create a Dos floppy. Reboot your machine with the Dos floppy inserted, go to D: and start Ghost. Ghost can now access the NTFS C: partition 'XP' and store it's image on the FAT32 D: 'TEMP' partition in a file in the folder D:\GHOST. So, from now on you have quick access to Ghost, and any Ghost images, by rebooting with a Dos floppy inserted.

9. For advanced users... Well, not that advanced :-) All it takes is two more steps for more comfort. First, reboot from the Dos floppydisk. Dos only recognizes the FAT32 partition and calls it C: (that's the numbering scheme of Dos for you). Now type:

SYS A: C:
As a result, COMMAND.COM (and some other files) are copied from the floppy to the harddisk.

10. Now (re)install Vamos. Tell Vamos there are two partitions it can boot from, the normal NTSF partition XP (so we would boot into XP) or the logical partition TEMP (that we just installed Dos on).

From now on, if we want, we can on every reboot quickly goto Dos without using a Dos floppy.