May the source be with you, but remember the KISS principle ;-)
Home Switchboard Unix Administration Red Hat TCP/IP Networks Neoliberalism Toxic Managers
(slightly skeptical) Educational society promoting "Back to basics" movement against IT overcomplexity and  bastardization of classic Unix

Dual Boot

News Recommended Links Laptop Installation Two harddrive desktop installation One harddrive installation Troubleshooting Disk Backup
Recovery Working with Images Bootdisks Grub Lilo Fat32 NTFS
Spyware AntiSpyware Tools Spyware Removal     Humor Etc

Dual boot is useful not only for Unix enthusiasts, it is extremely useful for regular windows users for booting into system maintenance partition. Generally it serves two main purposes: 

The easiest way is to install the second OS on the second harddrive and use NT or Win2000 loader to do the job. This should work for a single disk too, but you need Partition Magic to free space for the OS partition, unless you partition the drive correctly from the very beginning.

Dual-booting Linux and Windows 2000-XP

  1. Use fdisk to partition your drive properly. 
  2. Install Windows 2000/XP on the first partition.
  3. Start your Linux Installation and install the /root directory into the second partition. Install LILO into the first sector of your boot partition (usually /boot) and not in the MBR.
  4. Make a boot disk during the Linux installation if possible so that you can boot into it.
  5. Now boot into Linux and copy the boot image from the boot sector. To do this run: dd if=/dev/hdan of=/bootsect.lnx bs=512 count=1, where /dev/hdan is the location of /boot and /bootsect.lnx is the Linux boot image. Copy this bootsect.lnx file to a safe location where you can reach it using Windows.
  6. Reboot into Windows 2000/XP and copy this bootsect.lnx file into the root directory (C:\).
  7. Edit c:\boot.ini and append the following line: c:\bootsect.lnx="Linux".
  8. Reboot your system and boot directly from the hard disk.
  9. The Windows boot loader should now give you the option of booting into either Windows 2000/XP or Linux. Try booting into both of them to see if you were successful.

Top Visited
Past week
Past month


Old News ;-)

BigAdmin Feature Article FAQ for GRUB and the Solaris 10 1-06 OS The New Bootloader for x86 Platforms

The new bootloader for the Solaris OS on x86 platforms is based on the popular open source GNU GRUB (Grand Unified Bootloader) project. A bootloader is a software program that runs when a computer is first powered up. It is responsible for loading the operating system kernel into memory and then transferring control to that kernel.

Migrating from x86 to PowerPC, Part 2 Anatomy of the Linux boot process

Keep in mind that the PC is an open architecture. This openness even extends down to firmware modules within the BIOS itself. Once the power-on initialization (POI) code has run, the next step it takes is to enumerate peripherals, and optionally install hooks provided by expansion ROMs in those peripherals. (Some of those expansion ROMs -- for instance, the video BIOS in a system that has onboard integrated video hardware -- will physically reside in the main BIOS image, but conceptually they are separate entities). The reasons the BIOS has to do this redundant initialization are:

  1. The main BIOS itself needs basic console services to announce messages and allow the user to override default start-up behavior and configure system-specific parameters.
  2. Historical issues limit the size of a user-supplied bootloader program to slightly less than 512 bytes. Since this isn't enough space to implement all the possible device drivers that might be required to access different displays and storage devices, it's necessary for the BIOS to install standardized software interfaces for all installed, recognized hardware that might be required by the bootloader.

Once all the BIOS-supported system peripherals are initialized, the main BIOS code will run through candidate boot devices (in accordance with a user-configurable preference list) looking for a magic signature word. Storage devices for IBM®-compatible PCs have historically used a sector size of 512 bytes, and therefore the BIOS only loads the first 512 bytes from the selected boot device. The operating system's installation program is responsible for storing sufficient code in that zone to bootstrap the remainder of the IPL process.

Although it would be possible to write a minimalist Linux bootloader that would fit into such a space, practical Linux bootloaders for the PC consist of two stages: a small stub that lives in the boot sector, and a larger segment that lives somewhere else on the boot medium, usually inside the partition that contains the root filesystem. LILO and grub are the best-known bootloaders for mainstream Linux installations, and SYSLINUX is a popular choice for embedded distributions.

Using a RAMdisk
The primary purpose of the bootloader is to load the operating system kernel from secondary storage into RAM. In a Linux system (x86 or otherwise), the bootloader can also optionally load an initial RAMdisk image. This is a small filesystem that resides entirely in RAM. It contains a minimal set of modules to get the operating system off the ground before mounting the primary root filesystem. The original design purpose for initial RAMdisk support in the kernel was to provide a means whereby numerous optional device drivers could be made available at boot time (potentially drivers that needed to be loaded before the root filesystem could be mounted).

You can get an idea of the original usage scenario for the RAMdisk by considering a bootable Linux installation CD-ROM. The disk needs to contain drivers for many different hardware types, so that it can boot properly on a wide variety of different systems. However, it's desirable to avoid building an enormous kernel with every single option statically linked (partly for memory space reasons, but also to a lesser degree because some drivers "fight" and shouldn't be loaded simultaneously). The solution to this problem is to link the bare minimum of drivers statically in the kernel, and to build all the remaining drivers as separately loadable modules, which are then placed in the RAMdisk. When the unknown target system is booted, the kernel (or start-up script) mounts the RAMdisk, probes the hardware, and loads only those modules appropriate for the system's current configuration.

Having said all that, many embedded Linux applications run entirely out of the initial RAMdisk. As long as you can spare the memory -- 8MB is usually more than enough -- it's a very attractive way of organizing your system. Generally speaking, this is the boot architecture I favor, for a few reasons:

  1. The root filesystem is always writeable. It's much less work to have a writeable root than it is to coerce all your other software to put its temporary files in special locations.
  2. There is no danger of exhausting flash memory erase-modify-write lifetimes or of corrupting the boot copy of the root filesystem, because the system executes entirely out of a volatile RAM copy.
  3. It is easy to perform integrity-checking on the root filesystem at boot time. If you calculate a CRC or other check value when you first install the root filesystem, that same value will be valid on all subsequent boots.
  4. (Particularly interesting to applications where the root filesystem is stored in flash) You can compress the boot copy of the root filesystem, and there is no run time performance hit. Although it's possible to run directly out of a compressed filesystem, there's obviously an overhead every time your software needs to access that filesystem. Compressed filesystems also have other annoyances, such as the inability to report free space accurately (since the estimated free space is a function of the anticipated compression ratio of whatever data you plan to write into that space).

Other x86 boot considerations
Notice a few other points from Figure 1. The first is that the color coding is meaningful. In the blue boxes, the system is running BIOS code and accessing all system resources through BIOS calls. In the green boxes, the system is running user-provided code out of RAM, but all resources are still accessed through BIOS calls. In the yellow boxes, the system is running Linux kernel code out of RAM and operating out of a RAM disk. Hardware is accessed through the Linux device driver architecture. The purple boxes are like the yellow boxes, except that the system is running out of some kind of secondary storage rather than a RAMdisk. The rules being followed in the gray box are system-specific.

You'll observe from this that there are two possible boot routes (actually, more) once the kernel has been loaded. You can load an initial RAMdisk and run entirely out of that, you can use the initial RAMdisk and then switch over to a main root filesystem on some other storage medium, or you can skip the initial RAMdisk altogether and simply tell the kernel to mount a secondary storage device as root. Desktop Linux distributions tend to use the latter design model.

Also note that there is an awful lot of redundant code here. The BIOS performs system tests and sets up a fairly complex software environment to make things cozy for operating systems like MS-DOS. The Linux kernel has to duplicate much of the hardware discovery process. As a rule, once the kernel loads, none of the ROM-resident services are used again (although there are some exceptions to this statement), yet you still have to waste a bunch of RAM shadowing that useless BIOS code.

[Feb 21, 2005] NewsForge Convert a Windows system to dual-boot Linux on a second drive By: Philip J. Hollenback weak article, but some good comments

The computer in question was a standard white-box PC with Windows XP installed on its one hard drive. One option was to shrink the exiting Windows partition with NTFSresize and install Linux in the resulting free space. However, this was too intrusive. I did not have a backup of the data on the Windows machine, and didn't want to take the time to make one, so I was loath to do anything that could wipe it out.

So I installed and set up a new second drive, then installed Fedora Core 3 in the standard manner. When the installer asked what drive to use, I chose the second IDE drive, hdb. The other key step was to make sure the installer did not install a Linux boot loader on the primary hard drive. While having the installed do this is generally the recommended method of installing a dual-boot Linux/Windows system, I didn't want to do it because of my goal of minimizing changes to the Windows disk.

The Windows bootloader (NTLDR) can be configured to boot Linux partitions, so I decided to use it as the primary bootloader. The default boot option would remain Windows, so if the user took no action on boot, the system would go to Windows as it always had. However, if the user selected Linux in the NTLDR boot menu, it would hand off to the Linux bootloader (GRUB) on the second drive.

The Fedora installer gives you the option of placing GRUB in the master partition of the primary IDE drive (hda) or in the boot partition of the secondary IDE drive (hdb1). I instructed the installer to take the second option. Note that without extra configuration later, this setup will not boot to Linux, because whatever bootloader is on the primary drive -- in this case Windows -- will always be run.

Another option I considered was removing the primary Windows drive and placing the Linux drive in the system as the primary drive. I could then install GRUB on the Linux drive (the primary now) and configure it to also boot Windows on the secondary drive. One caveat here is you must configure GRUB to fool the Windows drive into thinking it is still the primary. Otherwise, Windows gets confused. I elected not do this type of install because it seemed more complicated than installing Linux on the second drive.

Boot sector transplant

The next step in the process is to save a copy of the Linux boot partition. This can be done either with dd in Linux or with the free Bootpart utility under Windows. Either program simply takes the first 512 bytes on the disk and puts them into a file. The dd command to do this is dd if=/dev/hdb1 of=bootsect.lnx size=512 count=1. Once you have this file, copy it to a diskette or some other removable media so you can then copy it to the Windows drive for NTLDR.

I happened to use Bootpart because I forgot to use dd before I booted the system back to Windows. If you use Bootpart you don't have to copy the boot sector to a diskette, as you are already in Windows. To complete the transplant, place the file you created with dd or Bootpart on the Windows drive as C:\bootsect.lnx.

Now it's time to tell Windows about Linux. Again, there are two ways to go about this. If you are doing everything manually, fire up a text editor in Windows and edit the file c:\boot.ini. Add the line c:\bootsect.lnx="Linux" to the end of the file.

The Bootpart way to do this is simpler: run Bootpart with the command bootpart Linux c:\bootsect.lnx "Linux". Bootpart will take care of adding the proper entry to boot.ini for you.

Testing and final thoughts

Your system should now be correctly configured. To test it, reboot the machine. After the BIOS screen, the first thing you will see is the NTLDR menu asking which OS you wish to boot. If you do nothing you will go to Windows. If you choose Linux on this screen, NTLDR will use bootsect.lnx to hand off the boot process to Linux, and start booting from your second hard drive. The next screen you will see will be your Linux bootloader screen. From this point on, your system boots the same as any other Linux machine.

And there you have it: a Windows machine that boots Linux as well. The advantages of this setup are:

While this configuration isn't ideal for everyone, it is a great way to add Linux to an Windows machine with minimal disruption of an existing Windows installation.

oops (Score:0)

By Anonymous Reader on 2005.02.21 9:27 (#107606)

If you forgot to dd the boot sector before you booted windows, you probably did not make a boot floppy either. Make the boot floppy now, please.
[ Reply to This ]
  • Re:oops by Anonymous Reader (Score:0) 2005.02.21 11:20
  • Re:oops by Anonymous Reader (Score:0) 2005.02.21 19:43
2-drive dual boot (Score:1)

By TallCool1 (179234) on 2005.02.21 9:30 (#107607)
( )

Wow! so much sturm-und-drang for such a trivial job... I just use GAGBoot : [], which makes this easy--you can even save the boot config to a floppy until you are sure it works to your liking. Actually, I once used it from a floppy for nearly a year so it wouldn't mess with my EZ-Drived boot-block.
[ Reply to This ]
Free Linux with every Windows (Score:1)

By quiberon (190226) on 2005.02.21 9:51 (#107608)

Depending on what you want to do with Linux, I might have just the thing for you -windows.png []

Torrents at / [] . Lots to choose from. I'd suggest Knoppix 3.7, but they all work. All 'autorun' with zero footprint.

[ Reply to This ]
Where is c:\boot.ini (Score:0)

By Anonymous Reader on 2005.02.21 11:08 (#107616)

I could not find this file in my installation of Windows XP...
[ Reply to This ]
  • Re:Where is c:\boot.ini (Score:1)

    By sleepyhead (187158) on 2005.02.21 11:51 (#107620)

    It's a hidden file, make sure you have configured Windows Explorer to "show hidden files and folders" in Tools>Folder Options>View
    [ Reply to This | Parent ]
    Re:Where is c:\boot.ini (Score:0)

    By Anonymous Reader on 2005.02.22 13:10 (#107660)

    From []: ...reboot into XP and log in with administrator privileges. Start a command window from the Run Program menu by typing cmd.exe.

    cd c:\
    attrib -h -s -r boot.ini

    Now you can see and edit boot.ini.

    edit boot.ini

    Add the line c:\bootsect.lnx to the file and set the attributes back to hidden, system, read-only.

    attrib +h +s +r boot.ini

    The configuration is finished. XP will now offer booting to Linux or Windows whenever you reboot. Do not forget to create new bootsect.lnx when you update the kernel or LILO.

dood, this is ridiculous! (Score:0)

By Anonymous Reader on 2005.02.21 14:45 (#107626)

ALWAYS have backups- what are you, an MCSE?? You claim to be worried about mucking with your windowz disk, then you manually edit the windows bootloader? How will you recover if you mess it up and can't boot? The easiest and safest way to dual-boot is to let Linux manage the bootloader. The installer in most Linux distributions will automatically add Windows to the bootloader menu, you don't have to lift a finger. With GRUB you can boot from the GRUB command line if the boot menu gets messed up. You can boot a Knoppix disk if the bootloader gets hopelessly messed up, and re-install GRUB. (Lilo is also failure-resistant, but I find GRUB easier to use.)

This article is useful for showing how to boot linux from windows, which is fine, but please- don't be demonstating poor practices like not having backups, and using that as your reason for doing things the hard way.

[ Reply to This ]
    • Re:Certainly not the only way (Score:0)

      By Anonymous Reader on 2005.02.21 23:38 (#107642)

      The article illustrates a useful way of installing Fedora Core 3 without modifying the WinXP in any shape or form but it would have been much easier and
      faster if he didn't take the lazy route (choosing not to backup).

      The FC_3 installer and most Linux distros have the option of booting Windows and LILO or GRUB gives you the option to select upon boot.

      Resizing the partition for install of both Linux and Windows is easy but potentially dangerous.

      I hope that you didn't suggest the customer, user etc. to invest in another hard drive just to accomplish dual booting. (I must agree that any additional hard drive space is always welcome if you can afford it)

      [ Reply to This | Parent ]
      You did it the hard way... (Score:0)

      By Anonymous Reader on 2005.02.21 23:58 (#107643)

      OK so I don't know what your/the user's exact needs are, but if the usage is moderate, just grab a Knoppix CD and boot...
      spend some bucks and go vmware
      Just set up a linux box with tighvnc access

[Jan 17, 2005] BigAdmin Submitted Article Quad Boot With Windows, Sun Java Desktop System, and the Solaris Operating System

This reader-submitted article shows you how to do a quad boot with Windows, two instances of the Java Desktop System, and the Solaris 10 Operating System.

A detailed table covers preparation; installing the Solaris 10 OS; installing Java Desktop System, Release 2; and completion. A list of related references is also offered.

You may want to try a quad boot because it enables you to continue using your Linux machine while you are testing or exploring new features in Linux or installing the next release of the Java Desktop System. By having two instances of Linux, you can make mistakes with one and still have a safety net.

Guidelines for Configuring and Managing Dual and Multi-Boot Configurations

Understanding the Windows NT 4.0 NTLDR
When you install the Windows NT operating system, it sets up a Master Boot Record (MBR) specific to NT on your hard disk's primary partition. This is generally the boot partition on Drive "C", irrespective of where the actual system files are installed. When you first start a computer on which NT has been installed, NT automatically loads the MBR, then passes control to NTLDR. NTLDR then parses the boot.ini file from the root of the system boot partition and uses it to generate a list of the operating systems you may boot. You may want to review our article, Boot.ini - Controlling the Boot Process (this will open in a new window).

If you need detailed information about the Windows NT boot process, you may want to review the two articles written by Mark Russinovich, "Inside the Boot Process, Part 1", November 1998 and "Inside the Boot Process, Part 2" January 1999. These two articles cover many of the issues that even the Windows NT Resource Kit only barely explains. So, as you review some of the dual and multi-boot scenarios that are presented for you, remember that the Boot.ini file contains only those operating system boot options that NT is aware of. These typically include NT related entries, but must also include entries that point to other operating systems if the Boot Loader is to function as desired.

The boot.ini lists more than just each of the operating systems though, in addition to each NT related entry, it uses an Advanced RISC Computing (ARC) style path to describe the relative disk location for each entry. On a computer running only Windows NT, the [Operating Systems] section will list at least two entries, one for a normal boot and one for a VGA-mode startup configuration, using a plain-vanilla VGA video driver. You may also want to review our article, Understanding the Windows NT 4.0 and Windows 2000 Boot.ini File.

BootPart BootPart is an easy tool for adding additional partitions to the Windows NT multi boot menu (for example, add the OS/2 boot manager or a Linux partition).

Bootpart 2.50 is compatible with Windows NT, Windows 2000 and Windows XP.

You may download BootPart 2.50 by ftp or http (26 729 bytes):

The files below are standard zip file. You can use PKZip, WinZip, InfoZip or MimarSinan Codex Suite 2002 tools to decompress them.

File Name Description (ftp link)
Bootpart 2.50 in English, with LBA support.
26,729 bytes (approx. 10 seconds at 28.8 K)
Bootpart 2.20 in English.
25,525 bytes (approx. 10 seconds at 28.8 K)
Contains the french documentation. You will also need
72,462 bytes (approx. 2 seconds at 28.8 K)

Russian users may visit the Russian page by Yuri Lysenkov.

Re [WKU-Linux] Dual Boot Mandrake 7.1 and Windows

Secondly, I'm not sure about why but I've had trouble trying to boot drives that are on my secondary ide channel. I would suggest you move the drive to be your primary slave and then you should be OK. Another suggestion that might work would be to use part of your primary master for your boot partition and then use your other drive (sec slave) for all the other partitions. but you will need to resize your partition or reinstall windows and if you do that you can move the drive anyway. Hope this helps.

The REAL Multiboot - Trombettworks the technique that uses Rsnish Partition Manager (RPM)

Planning the partition table
Before beginning to install OSes you need to plan a good partition table on the paper, as the one I have shown above. Remembering that all the bootable partitions must start below 8GB, so you should put all the bootable partitions (the various OSes system partitions) before and all the data partition after. Help yourself with the short hints I have written in the "Experiences" paragraph above and plan starting/ending cylinders for all your partitions.

In order to associate the desired size to the Cylinder range you can use RPM. Use [+] and [-] keys on the ending Cyl and watch the partition size. Remember that nothing will be saved until you press F2 and even if you do, data on the disk will never be changed until you seriously do something like formatting the partition. Changing the MBR leaves the bytes on the HD intact.

You need to plan the MBR images too. What is an MBR image? The thing you save by pressing [F2] :-).

When you plan to install a new OS you need to decide how many partitions it will usually see. In my case the two OSes of the example were built to see at least their partition and the common partition (the partition for RPM itself is ignored by the OSes even if present in MBR). I have set the system partition in the first placement, so that it becomes the C:\ drive, and Common partition in the second MBR placement so that it becomes the D:\ drive. If I want at any time to make visible another partition to that OS I can put it in MBR#3 [3rd place in MBR] and it will become the E:\ drive.

If I have I installed programs for (= from) that OS in the shared "Common" partition, then it's very important that the Common partition is present at each startup of that OS. If you remove it from MBR, or change its MBR placement putting another partition before it, the drive letter would change and all your links to programs or data to D:\somedir\somefile would ALL be dangling!! The OS is likely not to boot properly.

For this reason what have I done? All my installed OSes have the Common partition in MBR#2 [and I put their system partition in MBR#1 so the OS is installed in the standard C: partition]. So I never make mistakes. I force the placement number 2 for the Common partition (hit button [2] in the proper column in RPM) and I almost never touch that line. The OS system partition is forced in MBR#1 and I only change the starting/ending Cylinder numbers (and sometimes the Filesystem type) when I change OS, so the "active" flag and the "force MBR#1" flag always stay there.

An OS as a rescue disk:

The partition at 1-50 (Win98 secondary installation) in my partition table is a rescue OS. I use it as a rescue disk for all the other Windows operating system which have problems. Like this I can access the other OSes partitions from the outside and add/replace files and the like to fix it.
My rescue_partition is small, and all the software I have installed in that OS (only few programs) are installed in the system partition. So this (and Linux too) is the only OS for which I don't need the Common partition to be present when I boot.
This is important because I have the MBR#2 and MBR#3 both available for other partitions. In this way I can even copy one partition to another using Windows programs. For this purpose I would suggest you Powercopy2.x because it has been made for this purpose and it's extremely fast. You can download it from my homepage. It has some problems in copying files which are opened, so if you use it to copy full partitions it's a good idea not to boot from the source or destination partitions -> use the rescue OS.

Why have I chosen Win9x as the rescue OS?
- It's easy to install
- It fits in a small partition because you can compress it with drivespace afterwards and then you have some hundreds of new megabytes to install software on the system partition.
- It can read Drivespace compressed partitions of other OSes. Since I always use Drivespace compression for system partitions of Win9x OSes I needed a Drivespace-enabled rescue-OS.
x It doesn't read NTFS by itself... for this reason I have used NTFS nowhere.

So another good thing you can do could be writing some notes on the various OSes requirements on the paper: Do they require some specific partitions to be present together with them in the MBR? In which placement?

Installing Operating Systems
After you have fully planned and written your partition table on the paper and you have thought a bit at the MBR image for each OS, you can begin installing your OSes. How do you effectively install one? The following is a good way for all Windows operating systems:

Reboot your computer and enter into the RPM. Put in the MBR only the system partition of the OS you intend to install (whether the RPM partition is present or not in this case it's OK anyway). If it's not formatted it's even better. Save the MBR image. Insert the installation CD of your new OS and RESET the computer so that it boots from CD.

The OS will scan everything (= nothing) and then asks you where you intend to install it. The NT-like operating systems will ask you if you want to install them in that unformatted partition or in the unpartitioned outer space. DON'T install them in the unpartitioned space because you will overwrite your other partitions! The OS will not see them but you KNOW that they are present!! Tell the OS to install itself in the partition you have created for it. The OS will format the partition if needed and then install itself there.

The OS will create the Boot Sector in its partition so that it becomes bootable as it needs to be.

The OS will overwrite the IPL in the hard disk which means that you will not see Ranish Boot Manager at computer startup anymore. Don't worry: just take the RPM diskette and reinstall it, Text mode, same cylinders for its partition as it was before.

Now that the OS is fully installed, for the next boots you can add in the MBR all the partitions you want, like a Common partition and so on.

I have had some problems with Linux with this installation method: it seems it cannot see partitions added to MBR after installation. To install Linux you will probably need to set the full MBR image before the beginning of the installation, and not only its two partitions. (The Linux OS partition and the Swap partition: Linux needs two. I suggest you to always put the Common partition in MBR#2 for consistency and so the Swap partition will go in MBR#3). UPDATE: Linux people have then told me that I only needed to *mount* the additional partitions which were added after the Linux installation. I hope it works. I don't know I have not tried to install it again since I don't really need Linux at the moment.

Modifying the partition table: moving and resizing
The best thing would be of course if you guess the perfect partition table at the beginning, but you cannot foresee the future and so there can come a time in which you need to shrink/delete a partition in order to enlarge another one.

If you want to delete a partition the method is easy: use the rubber and delete it from your partition table on the paper!
If you want to shrink, move or enlarge a partition I can suggest you another excellent program: The Partition Resizer (really Freeware this time!!) It can properly move & resize Fat 12, 16, 32 partitions and at least move all the others. The program is really excellent and extremely safe. It can even recover from a power-failure during a resize or move!

So please don't brutally cut the partitions as suggested in the RPM documentation but use The Partition Resizer instead. Like this you will not have the side effect of the wrong size shown by Windows. RPM documentation says that a Scandisk is enough to make Windows understand the new size, but I heard of many people for which this was not enough. So please really use The Partition Resizer.

Note1: Partitions which don't begin at (Head,sector) = (0,1) or don't end at (Head,sector) = (254,63) are NOT resizable nor movable! So this is a very strong point for which you should always use those standard settings when you make a partition.

Note2: The program correctly resizes partitions but it's not able to change the partition cluster size in the same reversible way. So you have some range for resizing but you will not be able to enlarge the partitions above the limit imposed by the current cluster size. E.g. a Fat 16 partition with a 16K cluster size cannot grow to more than 1GB. So when you create the partitions give a look to the maximum limit you are imposing them with the current cluster size. If you want to create a partition with the same size but larger clusters: create it with the default cluster size and then modify the cluster size using The Partition Resizer. Warning: content will be destroyed so do this before inserting data in it.

Mantaining content while modifying the cluster size is indeed possible but will require a dreadful work: You will need to shrink the partition P as much as you can, then create a small partition Q near to it with the desired cluster size, then progressively move all the files from P to Q. Shrink P at each step and enlarge Q. At the end kill P and occupy all the desired space with Q.

On the contrary there is no minimum size when shrinking a partition. [Of couse you cannot make it littler than its total occupied space!] If you see you are not able to shrink a partition as desired, it's because there are files which occupy clusters at the end. You will need to defrag it before trying again. If you see that some clusters stay at the end and don't move while there is free space before, they are probably damaged files which Scandisk cannot detect but Defrag cannot move. It happened to me! You will need to find a more powerful disk-scanner or a more powerful defragger. As last resort you can write to me, there is another way to do it.

When you resize or move a partition seems a very good idea to me to put in MBR the neighbouring partitions too: the one before and the one after it. So you will see them in The Partition Resizer and the program will not allow you to erroneously overwrite one of them with the resizing one.

The Partition Resizer works with LBA values for partition placements while you are using CHS values in your partition table on the paper. So you will need to use RPM to convert the values CHS<->LBA. Write down the new desired LBA values for the partition before starting The Partition Resizer.

Questions and answers

Q: What's the use of the Text boot manager?
A: No use. it's only there to allow me pressing "0" to access the Partition Manager.

Q: I absolutely need to have 4 custom partitions simultaneously present in MBR to do a very special thing. How can I do with the RPM partition? It occupies one MBR placement!
A: Delete its MBR entry (= uninstall Ranish Boot Manager) so you can use all the MBR to put 4 custom partitions simultaneously. When you have finished reinstall RPM Text Boot Manager in the same place using the RPM bootable diskette. Until you have your paper partition table nothing is ever lost.

Comparisons to other programs: LILO, BOOTSTAR and BOOTIT
LILO compared to RPM + Trombettworks workaround: [I say LILO but it's the same with the other 100 similar boot managers in the world] LILO loses because:

  1. No more than 4 primary partitions, so it's not guaranteed you can have more than 4 OSes. (e.g. Windows requires a primary partition).
  2. If you remove one partition all the partition letters slide, messying up all the links to programs you had, which means deeply influencing the other OSes. Same if you want to add a partition in the middle. Substantially, if you want to add a new OS, most of the times you can only delete the content of a partition (remove a current OS) and replace it.
  3. All OSes are visible one to the other. There might be problems in installing an OS twice. E.g. Win98 will refuse to install if it sees a fat32 partition already present. You can work this around by changing the active partition, nevertheless like this you are using two of the only 4 active partitions you have.
  4. * In short: all the OSes deeply influence one the other, you are almost fixed with the initial configuration, and you limit the total number of OSes you can install. This prevents you doing a REAL multi-boot.
  5. 4) Many other things I don't know. :-)

There are lots of fans of the LILO boot manager, who see these described problems as secondary [1,2] or enough workaroundable [3]. If you are a good LILO user you surely can decide by yourself. I still can't see real advantages in using LILO instead of this method though, while I would fear the lack of reversibility and reconfigurability.

... ... ...

Ranish gets my "Coolest guy in the world" award for giving RPM away for free!

Recommended Links

Google matched content

Softpanorama Recommended

Top articles


See also Boot Management Windows XP, 2000 and NT Dual Boot

Dual booting Win2K and Linux Review you should now be able to see boot.ini ... GRUB is another boot loader that I've found ... drive of the primary controller and are installing Linux on a second conf looks like: boot=/dev/hda2 If you have two disks and your Linux resides on the first partition of your second ... What lilo.conf is for linux is c:\\boot ...

Multiboot with GRUB Mini-HOWTO: Installation procedure -- bootpart -- an easy tool for dual boot -- using NT loader for booting Linux

Windows - Install Linux on a machine already running Windows NT
... conf looks like: boot=/dev/hda2 If you have two disks and your Linux resides on the
first partition of your second ... What lilo.conf is for linux is c:\boot ... - 14k - Cached - Similar pages

[PDF] Page 1
File Format: PDF/Adobe Acrobat - View as HTML
... as the new boot sector prompt # Always display the boot prompt timeout = 30 # Set
a 3-second (30 tenths of a second) timeout default=linux # Default OS to boot ... - Similar pages

Welcome to -- How to boot Linux with your NT or ...
... and -hidden attributes: C:\attrib +s +rc:\boot.ini ... have an IDE hard disk and your
Linux partition is the second partition of your first drive, your boot ... - 25k - Cached - Similar pages

c't 12/99, page 166 - The Linux boot manager Lilo
... ist /dev/sda2 boot = /dev/sda2 image = /boot/vmlinuz root = /dev/sda2 A second ... is
copied onto the NT drive and added to NT's boot.ini: c:\boot.lin='Linux ... - 28k - Cached - Similar pages

Direct Boot Into WinNT/Win95/DOS
... with the correct names), edit the BOOT.INI ... d 200 L 100 " to see the second ... DOS file
from another installation, because the boot ... I have never used OS/2 or Linux ... - 22k - Cached - Similar pages

Booting Linux with the NT Loader LG #36
... first partition on first disk) and NT boots from the second ... sos C:\="DOS is here"
C:\BOOTSECT.LIN="Now Linux is ... The BOOT.INI can be edited with any plain ASCII ...

Laptop installations

Linux on a Dell Inspiron 4000

Setting up a dual boot on Dell Inspiron 4000, RedHat 7.0, 7.1, 7.2 and Windows 2000P

by Oeystein Olsen

My Dell Inspiron 4000

  • Processor: Intel Pentium III processor with 700 Mhz, to save power it goes down to 550 if possible
  • Monitor: 14.1 inch XGA TFT matrix, 1024x768
  • Graphic card:ATI Rage Mobility M3 (8M video RAM)
  • Sound card: ESS Maestro-3i PCI Audio Accelerator
  • System memory: 512 MB RAM
  • Hard disk: Dell-provided 20GB: IBM-DJSA-220
  • 8x DVD-ROM, LG DVD-ROM DRN-8080B
  • Floppy drive (can be swapped with the DVD-ROM, or attached externally via the parallel port.)
  • Internal V.90 Modem
  • PCMCIA 3 Com Megahertz 10/100 LAN+56K Modem PC Card (3CCFEM556B)
  • Card Bus bridge: Texas Instruments PCI1420
  • Keyboard: US International keyboard
  • Mouse: Synaptics PS/2 Touchpad, Dell 3 button USB mouse
  • Pre-installed OS: Windows Millennium Edition

About the notebook, experiences with Dell

I am very happy with my notebook, although I've had a problem with the monitor. The screen was sometimes scrambled and sometimes did not show anything at all at power on. Other times it worked just fine. I called Dell and got the laptop picked up for service. They picked it up the same day, Thursday, and I got it back on the following Monday. After that, I've had no more problems with the machine. The service I got from Dell here in US, was excellent.

Note: Since this page was written, my harddrive has become awfully noisy and my DVD-ROM is no longer working properly. When playing DVDs, some movies start to "stutter" after a while, and then movies freezes completely. The DVD-ROM seems to searching on the disc. This happened at the same time on my linux and W2000P partition. When I called Dell, they replaced the hard-drive. Since the DVD-ROM still isn't working properly, even after applying all possible updates, I'll call Dell again. They asked me to do that, and I'll report what action Dell recommends on this page.

RedHat 7.2 has been released!. I've installed the workstation installation class, almost no problems with installation. I migrated my /home partition to ext3. This caused my machine to crash for some reason when logging into kde. After I removed the kde-configuration files, everything worked fine.

Warning, rant about Dell in Norway: I originally tried to buy the same machine before I temporally moved from Norway to the US. If you live in Norway(Europe) I would never buy from Dell. The service is lousy. I ordered the machine online and got a confirmation, and money was charged to my VISA. After a week I called them back, since I had not heard anything else from them. They managed to find my order, and they said the machine would arrive next week. I called again next Friday. The order was now missing, but they would call me back during the day. They did not. The same thing happened the following Monday! On Tuesday I called back and delivered the order by phone. It would arrive next Friday. Since it did not arrive on that Friday, I called Dell. There were parts missing, but they could deliver the machine next week. I also pointed out that I was going to move to Los Angeles soon and wondered if I could count on the machine be delivered. No problems, they said. It did not arrive and I got no messages from Dell. Luckily my departure to the US had been postponed by then. I called Dell again. They admitted that they could not deliver before I left, so I canceled my order. I got the money back four weeks later.

I know about six other people that have tried to buy a machine from Dell in Norway. Two canceled their order, nobody revived their machine within four weeks. Dell delivered some equipment which didn't have to much to do with the order, to a friend of mine in Norway. Among those, there was a laptop that should have delivered to somebody in Sweden. He called Dell, and told them about it. That machine has been sitting in his office for weeks. Dell is known for lousy service in Norway/Europe. Think twice if you want to buy a machine from them. To compare, it took Dell two days to deliver my machine in the US.

Preparing the notebook to run Linux

The Inspiron 4000 came installed with Windows ME. At this point you might like to know that I have neither owned a pc before nor worked on one before. I have used somebody else's to play games, but that's all. I had no experience with neither Windows nor Linux before I started. Until March this year, I had only used a Commodore 64, Sun Sparc Stations and machines from Digital Unix. It other words I was completely ignorant of pc's.

After playing around for a while, I deleted everything. I got Windows 2000 Professional and downloaded Red Hat 7.0. I first installed W2000P. During the installation I gave W2000P a 8 GB partion and decided to use the FAT32 file system since it can be mounted from linux.

Note: After I got my new hardrive, I partioned differently. I first installed W2000P on 3 GB partition. Then I installed RH7.1 but did not use the rest of the disk. I left about 8 GB for a second windows partition. I'm storing all the software on the smaller partition, and on the second I'm storing documents, music, DivX-movies etc... The second windows partition is mounted in linux so that I can read and write to it. The reason I did it this way, was to remove the possibility of accidently changing the configuration files in W2000P from linux. To be able to access my files on the Windows partion, I've added the following line to /etc/fstab:

/dev/hda7	/home/oeysteio/W2000P	vfat	defaults,user,umask=077,gid=oeysteio,uid=oeysteio 0 0

Note:I've removed my W2000P and installed XP. No problems, except that I had to reinstall grub on mbr.

Installation, hardware setup

The Red Hat installation disk can boot from the DVD/CD-drive. I first had to press "F2" at startup to be able to tell the computer to boot from the DVD/CD-drive. Then I put the first disk into the drive and followed the on screen instructions. I used the workstation installation method. Even though I chose to install LILO on MBR, I had to use a bootdisk since W2000P booted automatically. After I booted from the floppy, I ran "lilo" as root. Next time the laptop started, everything worked as expected.

I recently decided to upgrade to RH7.1. This caused a few problems. Among those, the new kernel required a much larger swap space and I had to repartion the linux side of my hard drive.

Even more recently, I installed RH7.2. I kept the old partioning of hardrive even though I got a warning saying that \boot should be larger that 20MB. I formatted all harddrives with the ext3 system, except /home/oeysteio on /dev/hda5. I only migrated this one to ext3. I also installed the grub instead of lilo. An interesting effect was that I could not use the KDE-desktop until I had logged in as root and deleted all the kde configuration files. The machine just hung like something made by microsoft. After that, everything has been really good:-) This is how I partioned my harddrive:

$sfdisk -l

Disk /dev/hda: 2432 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls   #blocks   Id  System
/dev/hda1   *      0+    391     392-  3148708+   b  Win95 FAT32
/dev/hda2        392     393       2     16065   83  Linux
/dev/hda3        394    2431    2038  16370235    5  Extended
/dev/hda4          0       -       0         0    0  Empty
/dev/hda5       1032+   1286     255-  2048256   83  Linux
/dev/hda6       1287+   1417     131-  1052226   82  Linux swap
/dev/hda7       1418+   2431    1014-  8144923+   b  Win95 FAT32
/dev/hda8        968+   1031      64-   514048+  83  Linux
/dev/hda9        394+    457      64-   514017   83  Linux
/dev/hda10       458+    967     510-  4096543+  83  Linux

/dev/hda2 is /boot, /dev/hda5 is /home, /dev/hda6 is swap, /devhda8 is /var, /dev/hda9 is / and /dev/had10 is /usr.


There is a bug in the kernel included with the Red Hat 7.1 relase, and if you have more than 256MB of RAM, then the kernel must be upgraded. You probably should upgrade the kernel anyhow. Then you might have to edit the "/etc/sysconfig/pcmcia" file. It should now read:


I've had no problems with my 3 Com Megahertz 10/100 LAN+56K Modem PC Card. You should consider getting a pcmcia card with a modem instead of/in addition to the internal modem.

With RH7.2 there were no problems.

Internal Modem (ActionTec V.90)

I got a Winmodem (most internal modems are Winmodems, they let the CPU do most of the job) that actually works with Linux. You can download a driver from

Soundcard (Maestro 3I)

With RH7.0 I had to install the ALSA drivers. A driver is included with the new kernel, and ALSA is not needed with RH7.1 and later. I might still end up using the ALSA driver.


There are no problems with changing between the mouses. The configuration is automatically done at reboot, or you can do it yourself with "mouseconfig". Then the new mouse works after you have logged out. There is no need to reboot.

Other laptops

I've also installed RedHat 7.2 on:


In dual systems the first step is to use knoppix and get tot he Linux partitions. You can then get the kernel image out of this partition

Name: Johanovitch
Date: March 29, 2002 at 11:42:25 Pacific
Subject: Bootrecord


I have Windows XP installed on my first harddrive. I also have a second hardrive, on which I wanted to install windows 95. I booted with a bootdisk, installed windows 95 in d:\windows (this is on my second harddrive, first partition). All went well, untill the setup rebooted. It had overwritten the bootrecord of windows XP on the first harddrive.
Both OS were unable to boot, so I've put a ghost image on my second hardrive.
Is there a way to repair the bootrecord of XP?
I tried to write a standard bootdrecord with ranish partition manager, but that didn't work. he seems to have put some startup-files on the first harddisk too, as he still tries to load windows 95.

Anybody an idea?


Response Number 1

Name: scuzzy
Date: March 29, 2002 at 11:55:27 Pacific
Subject: Bootrecord

Yes, there is a way. Boot your system with winXP cd (you might need to go the bios first and change the boot sequence depending on your cd-rom)

Let the Cd run like you want to reinstall xp on that drive. You have option for Repair or Install. Hit R for repair. that will take you to Recovery Console.

You will see menu option that's asks you which drive you want to repair. Type 1 or 2 depending on where your XP is. I hope you do have the administrator password. I never like putting one coz if you forget then you can't do anything.

Then simply type FIXBOOT hit Enter it will prompt you for y or n, hit Y to overwrite the old bootrecord. thats it, then reboot.

Dual booting using two harddrives

NT, 2000 and XP and Linux dual-booting

This is a new version of my tutorial, much simplified, since its original version thanks to the bootpart free software. It assumes that you have Windows 2000 installed in drive 0 (C:) of your machine and you are going to install Linux in a new blank hard-drive you just added to your machine as drive 1.

How to dual-boot Windows NT-2000-XP and Linux using NTLDR

How to dual-boot Windows NT/2000/XP and Linux using NTLDR

This tutorial is based on using LILO (linux loader) as your boot loader. It assumes you already have NT/2000/XP install and booting.

The first step in the process is to remove the current installation of LILO from the Master Boot Record (MBR), if you're already using it. If not, ignore this part. To accomplish this, type 'lilo -u <boot device>'. On my machine, this was /dev/hda, which corresponds to the MBR of the first detected hard drive. If all goes well, LILO will be uninstalled. DO NOT REBOOT at this point, your system will be inaccessible without a boot disk or CD.

The next step is to edit your LILO configuration file. It's usually /etc/lilo.conf. If lilo was installed in the MBR, the lilo.conf will reflect this. There are a couple changes to be made. Here is an example lilo.conf file:


This lilo.conf file is configured so that the boot device is /dev/hda. Tha's the MBR on the first detected hard drive. So we want to change that to be the linux root partition, which NTLDR will load up for us, instead of LILO loading the NTLDR. In my case, this is /dev/hdb1, the first partition of the second hard drive. Next, since NTLDR will be handling the booting, LILO doesn't need to know anything about the WindowsNT or DOS installs, nor how to boot them, so take out or comment out the prompt, timeout and other sections. It should now look like this:

	#	label=windowsnt

By commenting out prompt, we tell LILO not to ask which selection to boot, it just picks the first one it sees, which is our linux kernel. The timeout option is only needed in conjunction with prompt, so that goes, too. The other section is what LILO normally would use to pass us off to the NTLDR, and now it won't bother.

The next thing to do is install LILO. This time, we want it on our linux root partition, instead of in the MBR. Since we've edited lilo.conf to specify the correct location already, all that's necessary is to run lilo. It may complain that lilo isn't being installed on the first drive, but since there will be a boot loader there (NTLDR), that's ok, and we can safely ignore the warning. Once this is done, keep reading, linux isn't quite bootable yet.

LILO is now installed on our linux root partition, but there's still nothing pointing it to linux. To get around this, we create a boot sector image file or sorts for the NTLDR to look at to boot linux. The way we do this is to use the dd program (copy/convert utility). The syntax we're looking for is: 'dd if=<root partition> of=<boot pointer file> bs=512 count=1'. This is a little more complicated than the bootdisk dd usage. <root partition> is of course your linux root partition, /dev/hdb1 in this case. <boot pointer file> is a file that will contain the boot sector image that NTLDR uses to boot linux. It's a physical copy of the first 512 bytes of the linux root partition, where LILO is now installed. Making sense now? :) bs=512 sets the block size to 512 bytes, and count=1 ensures that we only get one block in the image. I used: 'dd if=/dev/hdb1 of=bootsect.lnx bs=512 count=1'. You should now have a file called bootsect.lnx (which, if you're using WindowsNT and DOS, needs to be in DOS 8.3 filename format, which bootsect.lnx fits in.

The bootsect.lnx file is basically your linux boot sector. It will go on the NT/2000/XP partition, and be loaded by NTLDR. To add this to your NTLDR menu, you only need to edit the boot.ini file located in your Windows root directory (usually c:\.) Here's a sample boot.ini:

	[boot loader]
	[operating systems]
	multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation Version 4.00"
	multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation Version 4.00 [VGA mode]" /basevideo /sos

To add the bootsect.lnx file we created to the NTLDR configuration file, simply add a line that looks like this, reflecting your own decription:

	C:\bootsect.lnx="Red Hat Linux Release 4.2 (Biltmore)"

Once you've edited the boot.ini and saved it, you should be good to go. When you reboot the machine, the NTLDR menu has a new option at the bottom, "Red Hat Linux Release 4.2 (Biltmore)" in this case. Select it, hit enter, and linux boots.

If you want linux to be your default choice, just change the default line to: default=C:\bootsect.lnx.

Dual-booting using a single harddrive

Dual booting Linux and Windows 2000 This is how I installed W2K and Linux to dual boot on a single large IDE disk, 30 GB in size. I used the W2K boot manager to control the dual boot. It worked for me, so hopefully it will work for you.

Linux on the Desktop

How to Dual boot Windows 2000 and Linux -- on s single harddrive.

I started working on this when several employees at my company who were already running Windows 2000 wanted to dual boot to Red Hat Linux and not disturb their Windows 2000 installation. I have done at least a dozen or so "test" installs using System Commander 2000, the LILO boot loader, and finally Partition Magic 6.0 and Boot Magic 6.0. After trying many different possible permutations, I have come to the conclusion that using PowerQuest's PartitionMagic 6.0 and BootMagic is the most effective solution to dual booting with Win2k and Linux. Not to mention, it's the easiest and most reliable. I found that Partition Magic 6.0 is an extremely robust application and if you are going to be working on a system with multiple OS's and utilizing multiple hard disk's - this is an application that you will definitely want to have installed on your machine. The BootMagic application used to be sold by PowerQuest as a stand-alone app. It's now included with PartitionMagic 6.0 and is the boot loader that I use to select operating systems as described in this setup.

Here are some additional links to resources I found on the internet while trying to come up with the best solution. If anything, they will help you to understand the basic disk configurations and why partitions need to be created in certain places on the drive etc...

Windows 2000 Magazine Article - Dual booting Windows 2000 and Linux

GREAT ARTICLE from MSDN online - Multi-Boot Madness...

Dual booting Windows 2000 and Linux on large hard disks

Linux in the NT Boot Menu - Dual Booting Win2k and Linux - Dual Booting Win2k and Linux

Multiple OS Booting using NT Loader

Here's a nice link straight from PowerQuest's site on how to setup dual boot configurations for many different types of operating systems.

Just in case you run into any problems with PartitionMagic - here's a link to their support sites "Master Error List".

The example described in this document was configured on a Dell Latitude Notebook – CPX model with a 20GB Hard Drive.

Note – it is possible to use the LILO Linux boot loader to dual boot to both windows 2000 and Linux. I have corresponded with and read several articles from others who are doing just that. While it's certainly possible - it can be a little tricky. I chose to go with PartitionMagic because it will allow you manipulate the partitions as needed - during the original configuration and in the future – if need be. If you choose to use LILO as your boot loader, you will need to configure all your partitions during the Windows 2000 setup process. This really had no inherent disadvantages other than you're Windows 2000 system partition will NOT be C:\. So, your \WINNT will most likely end up on E:\ or F:\.

***** How to Dual boot Windows 2000 and Linux -- uses Partition Magic

Dual Booting Windows NT and Linux

Dual Booting Windows NT and Linux is not very hard at all. All that it requires is a special utility called BOOT.EXE and a little know-how about the Windows NT boot manager. It is extraordinarily easy to setup Linux to boot with Windows NT and use the Linux boot manager instead of the Windows NT boot manager but most people only want to have to go through one boot manager when they start up their computer. Before you proceed you will need the following BOOT.EXE, a Red Hat Linux CD (I'm sure the procedure isn't much different for other Linux flavors but I use Red Hat so I can't write about specifically how to set this up with another Linux), Windows NT already installed, and finally a boot disk with some dos version of FDISK on it (if you can get your hands on a Windows 9x boot disk that would be great). NOTE: I have never tried this on a machine that did not have the boot manager in FAT or FAT 32 file system but I have been told that it works the same way with NTFS. The only change that must be made to the procedure is to dump the file that boot.exe creates to the a: disk and restart under NT to copy the file from the disk to the c: drive. After doing that, reboot off the disk and continue as described.

Step one. The first thing that you need to do is download BOOT.EXE from the link above and put it onto the boot disk. Also it is a good idea to put edit and attrib on the boot disk. (these are already on the Windows 9x boot disks).

Step two. Boot your computer on the boot disk and make a backup of the Windows NT mbr by typing boot /r /drive:0 mbr A:\mbr.nt.

Step three. Now that you're sure your boot disk works and that the fdisk.exe on the boot disk works, feel free to reboot your computer with the Red Hat Linux install disk in.

Step four. It really doesn't matter how or what components of Red Hat that you install, all that matters is at the end when it asks you to setup LILO you have to do it. Setting up LILO is fairly simple, it will want to boot Windows NT with the name dos but just leave that there because you won't ever be using that method to boot Windows NT. Also make sure that you tell LILO to put itself on the master boot record. This is the default option, please do not change it.

Step five. When you reboot your computer you should see something that says "LILO boot: " at this prompt simply strike enter because Linux should be setup as the default boot option. Now you are going to change LILO so that it won't make you wait 30 seconds before booting Linux. Go into Linux and type pico /etc/lilo.conf and find the line that says timeout=50 (or some other number) change it to say timeout=0 this will cause Linux to boot immediately when it is loaded from the NT boot manager. Save the changes to the file and run the command /sbin/lilo -v (note: you have to be on as root to run this command).

Step six. Reboot with the system with the boot disk in. At the A: prompt type the command boot /r /drive:0 mbr A:\mbr.lin.

Step seven. Copy the NT mbr back to the drive by typing boot /w /drive:0 mbr A:\mbr.nt (or using fdisk /mbr if you prefer) this will clean the MBR and in this case restore the NT boot manager.

Step eight. The final thing that you need to do is change the NT boot manger. If you are using NTFS you will have to go back into NT to do this, otherwise it is possible by using the bootdisk. Go back to the A: prompt and type attrib -s -h -r c:\boot.ini. Next type edit c:\boot.ini and put in an menu option that says C:\MBR.LIN = "Linux" save the changes and close the file. Then type attrib +s +h +r c:\boot.ini and reboot the computer.

That's it, now you have the power of Linux and the compatibility of Windows NT all on the same computer.
Justin Weber -- installation section.

W2L/linux dual-boot link in question:

Computing.Net - Dual Boot Woes (win 2k-linux)

Name: originel
Date: April 06, 2002 at 13:27:08 Pacific
Subject: Dual Boot Woes (win 2k/linux)

If you can't get it to work using Bootpart, you can do it manually (it really isn't very hard)

1)take a fat-formatted floppy (or another fat partition) and keep it handy

2)in linux (preferably not in xwindows) at the command prompt type "dd if=/dev/hda7 of=/bootsect.lnx bs = 512 count = 1". what this does is it does a raw copy of the bootsector and puts it in the file bootsect.lnx

3)mount your floppy disk and copy the file to the disk (make sure you mount it as msdos)

4)in windows copy this file to the C:\ directory

5)reset your boot.ini to its original state (you'll prolly have to manually edit it)
I use Grub so my boot.ini is unchanged and reads:

[boot loader]
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect

6)add the line "C:\bootsect.lnx"="Redhat Linux 7.2" (or whatever you want to call it) after the last line in your boot.ini

7)reboot and enjoy

this is how i used to do it and it never gave me any problems. This also allows you more control and you can make sure things are done right.

Dual-booting Linux and Windows 2000-XP


Back in the days there used to be a DOS-program called loadlin, which was able to boot from dos if one had a kernel to use. I believe that not many of the Linux distros supply it anymore (you can look under DOSUTILS on your CD) but I did find it on the Net. To remind you again, I haven't used loadlin in ages, so it might not even support the newer kernels. Anyway, I think It would be worth a try.

Please have a look at this address:

In order for loadlin to work you must have
* knowledge of your root-partition (which one is it?)
* a kernel to use

Boot to DOS and issue the following command:
loadlin x:\path_to_kernel\bzImage root=/dev/hda1 ro



Comment from Gns Date: 01/17/2002 01:11AM PST
Hi alienspecies and Marko,

I've used loadlin pretty recently, and it worked OK then, but... the hitch is that you need read access to the kernel from DOS/Windoze. There are ways to get ahold of the kernel (ext2explore etc) but really, there are "better" ways.

You don't mention what distribution of linux, nor which bootloader you are using. That information might be helpful in making a more specific comment on your problem.

Most distributions have a "rescue-boot", which will allow you to access your linux partitions, and to reinstall your bootloader. Check on your install media, or get a good "root and boot" floppy from

Boot the rescue mode (either from CD or from a floppy).
Mount all relevant partitions on a mountpoint, for example:
root (/) partition
mount /dev/hda6 /mnt
/boot partition
mount /dev/hda5 /mnt/boot
etc for usr, var, tmp and whatever more partitions you have/need.
You will have to substitute valid partition specifiers that pertain to your setup in the above examples.
Now, do a chroot to mnt
chroot /mnt
This makes it possible for you to edit/reinstall your bootloader in an easy and convenient way.
Assuming LILO, you could probably just type /sbin/lilo<Enter> at the prompt, rebboot, be happy :-).

-- Glenn

Comment from spwbot Date: 01/24/2002 05:46AM PST
Just insert the RedHat Linux Install CD 1. Boot the machinne from it. In the promp put the line:

vmlinuz root=/dev/hdaX

Where the X is the number of your boot linux partition.

vmlinuz root=/dev/hda5

I hope that will help you.

Comment from Gns Date: 01/24/2002 08:28AM PST
spwbot, _where_ do you draw the information that this is a RedHat install?
Since that can't be judged from the information given sofar, your answer (which certainly might work if it _is_ RedHat) probably should have been a comment.

-- Glenn

Comment from alienspecies Date: 01/24/2002 08:41AM PST
it is indeed redhat only. so i'll try what you have mentioned spwbot.
Comment from alienspecies Date: 02/14/2002 05:07AM PST
can't i boot my linux from someone else's bootable disk.
i tried out linux root=/dev/hda4 at the lilo boot, but there is some problem in booting from it.
it gave errors like:
attempt to access beyond the end of the device
EXT2-fs: unable to read superblock
Invalid session number or type of block
isofs_read_super: bread failed....
kernel panic: VFS: unable to mount root fs on...
Comment from alienspecies Date: 02/14/2002 05:10AM PST
can't i boot my linux from someone else's bootable disk.
i tried out linux root=/dev/hda4 at the lilo boot, but there is some problem in booting from it.
it gave errors like:
attempt to access beyond the end of the device
EXT2-fs: unable to read superblock
Invalid session number or type of block
isofs_read_super: bread failed....
kernel panic: VFS: unable to mount root fs on...
Accepted Answer from Gns Date: 02/14/2002 08:18AM PST
/dev/hda4 probably isn't your root partition then (and don't seem to contain an ext2 filesystem).

Boot the redhat rescue-mode (if it isn't possible to boot from the install CD (and typing rescue at the LILO prompt), the images are on the install media, in the images directory. Just write it/them whit rawwritewin to floppy and boot from that).
Once you are in "rescue mode" run
fdisk -l /dev/hda
to list where your linux partitions are at.
Then either use my "cookbook example" above, or try spwbots suggestion with the correct /dev/hda#.

-- Glenn





Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers :   Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism  : The Iron Law of Oligarchy : Libertarian Philosophy


War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda  : SE quotes : Language Design and Programming Quotes : Random IT-related quotesSomerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose BierceBernard Shaw : Mark Twain Quotes


Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 :  Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method  : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law


Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds  : Larry Wall  : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOSProgramming Languages History : PL/1 : Simula 67 : C : History of GCC developmentScripting Languages : Perl history   : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history

Classic books:

The Peter Principle : Parkinson Law : 1984 : The Mythical Man-MonthHow to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Hater’s Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite

Most popular humor pages:

Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor

The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D

Copyright © 1996-2021 by Softpanorama Society. was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...

You can use PayPal to to buy a cup of coffee for authors of this site


The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the Softpanorama society. We do not warrant the correctness of the information provided or its fitness for any purpose. The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.

Last modified: March 12, 2019