Dual-booting all versions of Windows and Linux

   Dual-Boot    |    Win 8    |    Win 7    |    Vista    |    Win XP/2K/NT    |    Win9x/Me    |    How to    |    Legacy 9x Tweaks    |    SiteMap   


Here: Home > Dual-Boot > Dual-Boot Windows Vista with other Operating Systems >

Install Dual-Boot of Windows Vista + 98 Me + Linux Ubuntu on a Windows Vista computer (Vista installed first, or Vista + 98 Me dual-boot created first, and Vista still controlling startup after Ubuntu installation)

Last reviewed: July 2010


October 2013: This is the new location for this page on this site. Please update your link or bookmark.


This guide shows how to correctly and safely create a natural Windows-controlled triple-boot of Windows Vista, Windows 98 or Millennium and Linux Ubuntu on a computer with Windows Vista already installed or how to install Linux Ubuntu if a dual-boot of Windows Vista and 98 Me already exists. You can then run any of those three operating systems by selecting one from a Windows menu during bootup. No data loss will occur and a third-party boot utility is not used.

In this procedure you need to shrink the Windows Vista drive to make room for both Windows 9x and Ubuntu unless you install Ubuntu on a second hard disk. Using a second disk simplifies the procedure but it's not necessary. The example shown here uses a single hard disk.

32 and 64-bit versions of Windows Vista were used in testing The operating systems added were Linux Ubuntu 9.04 and Windows 98 or Millennium. The computers used were (1) a 32-bit Dell Optiplex with Pentium 4 (2.26GHz), 2.0 GB RAM, 160 GB ATA hard disk, and (2) AMD Athlon 64-bit (2.4GHz), 2.0 GB RAM, 1 TB SATA hard disk.

Following these instructions correctly should always succeed. However, any change to your computer should not even be considered unless your have a rescue plan. This guide also contains that rescue plan - just in case!

This procedure is suitable for experienced computer users.

Users with 64-bit computer systems should note that they are unlikely to get 64-bit hardware drivers that work with Win98/Me. However, since all the x64 cpu's support x86 as well, you can dual-boot Win98/Me on a 64-bit computer provided you execute an extra few cold boots while the Win98/Me installation tries for compatibility - it finds a little, but not much. Some users will still find it worthwhile.

Important Installation Notes

Full Installation CD/DVDs. The Windows you are adding cannot be installed from Recovery or Repair CDs or DVDs provided by some OEMs. You need the full installation or setup version to install a Windows.

EasyBCD. The highly-acclaimed EasyBCD is a free editing utility that allows any user to easily edit the Windows 8, 7 or Vista boot menu (the BCD or Boot Configuration Data). Some settings, not used here, are very advanced. EasyBCD works in Windows 8, 7 and Vista, but also in Windows XP if you first install Microsoft's .NET 2.0 Framework.

Hidden Active Partition. Many Windows Vista users will have a small Primary disk partition(s) that's marked active and is hidden (but is visible under Disk Management in Windows Vista). This must be counted if you want to create a new Primary.

127 GB Partition Limitation in Windows 9x/Me. Windows 9x/Me must be installed on a Primary partition that starts before 127 GB from the beginning of the first hard disk. We can have just 4 Primaries per disk or 3 plus one Extended partition (containing many Logical partitions). This physical limitation cannot be avoided.

Shrinking a Windows 8, 7 or Vista drive. You should use Shrink in Windows' Disk Management to resize the Windows partition. You can read Shrink the Windows 8. 7 or Vista Partition for instructions on completing this task successfully. Use the free GParted Live CD to gain disk space only if you must - read the page Use GParted to Resize the Windows 8, 7 or Vista Partition to learn how.

Formatting. All partitions should be created before you start installing any operating system (OS). The partition should be Formatted when installing that OS to ensure compatible file system versions. Avoid formatting Windows partitions with GParted or any other third-party partitioning utility.

[top of page]

Make a Partition Active

The Win98/Me FAT32 Primary partition is automatically marked as Active when Win98/Me is installed. After Win98/Me installation, the originally Active NTFS partition must be made Active again. And Fdisk may prove difficult!

It's very important you know how to do this BEFORE you install Win9x/Me. If you need help with this, read this page now and select the method that best suits your situation. You must be prepared for this in advance.

[top of page]

SUMMARY of Procedure (Advanced Users)

  1. Backup important data.
  2. Shrink the Windows Vista partition to make sufficient Unallocated space for 98/Me and Ubuntu (use Disk Management).
    Create a first FAT32 Primary partition for Win98/Me at start of Unallocated space (remember the 127 GB limit).
    Use Disk Management to identify which partition is marked Active. Label the partitions.
  3. Install Win98/Me on new FAT32 Primary (use Fix System.ini Memory ... if necessary and perhaps Fix Large Hard Disk ...). Only 98/Me boots now.
  4. Mark the previously active partition as Active again (Fdisk, option 2, in Win9x's MS-DOS Prompt might work!).
  5. Restart computer. Windows Vista will boot normally when the correct partition is marked as Active.
  6. Install and run EasyBCD 2.1
    Select "Add New Entry" (left). In Windows tab, select "Windows 95/98/ME".
    Click "Add Entry" and exit.
  7. Restart computer. Windows 98/Me has been added to the Windows Vista boot loader menu.
  8. Install Ubuntu on the free space at end of disk (install GRUB on Linux partition).
    Only Windows boots now.
    Use the free EasyBCD 2.1 utility to add "Linux native" to Windows boot loader

That's it! You have created a natural triple-boot of Windows Vista, Windows 98/Me and Linux Ubuntu with Windows (BCD) in control.

[top of page]

Install Windows 98/Me and Linux Ubuntu when Windows Vista is installed first

Installing other operating systems on your Windows Vista computer may invalidate your warrantee.

It's important to follow the instructions exactly as stated and you should have a properly working Windows.

Make your preparations

  1. Backup important data before making any changes to a partition. You can burn files to a CD, clone an image of your hard disk, copy files to a USB flash/pen/thumb drive, or use an USB external drive (good choice)
  2. Plan your new partitions carefully before you start.
  3. Download Neosmart's EasyBCD 2.1 (free - it edits Win8/7/Vista boot loader).
    Optional: Download NeoSmart's free Windows Vista System Recovery Disk if your Vista DVD is missing!
  4. Download any essential device drivers for your older Windows.
  5. If you intend using a second hard disk, make sure that disk is in place before you start.
  6. Disconnect all unnecessary external devices before you start.

Make free space and create new partitions

This part is best completed BEFORE you start installing any other operating system.
Remember, you should never alter the starting position of a partition that contains an OS you wish to keep.

The single 160 GB disk usually used in testing initially had: System Reserved (100 MB, Primary, Hidden, NTFS), Windows Vista (150 GB, Primary, NTFS). In this example Shrink in Vista's Disk management was used to create about 30 GB of Unallocated space at the end of the Vista partition. This allowed a Primary partition for Win98/Me to be created on the first disk before the 127 GB limit for that OS.

After repartitioning the disk had: System Reserved (100 MB, Primary, Hidden, NTFS), Vista (120 GB, Primary, NTFS), Win98/Me (3 GB, Primary, FAT32), Ubuntu and Swap (25 GB, Unallocated - both will be Logical partitions). You can use a second hard disk for Ubuntu if you wish - the procedure will be similar to that described here.

Always note the size of each partition and also label each (this guide uses vsta and w_Me).

  1. Restart computer correctly (close all programs before you Restart computer).
  2. Open Disk Management in Windows Vista (right-click Computer, select Manage, click Disk Management).
    • Right-click your CD/DVD drive(s), select Change drive letter and paths..., and click Change.
      Change the drive letter to K (get it out of the way!).
    • Right-click the Windows Vista Volume (probably C:), and select Properties.
      In the General tab, enter vsta as the label for the Windows Vista volume, and click Apply.
  3. In Disk Management in Windows Vista
    • Right-click the vsta volume, and click Shrink Volume.
      • In Enter the amount of space to shrink in MB: enter enough for both 9x and Ubuntu
        (make sure the Win98/Me partition will start before the 127 GB limit for that OS).
      • Click the Shrink button (it may take some time!).
      If Shrink does not give you sufficient Unallocated space, read how to Shrink the Windows 8, 7 or Windows Vista Partition for instructions or use the free GParted Live CD. Then return here.
    • If you need a fourth Primary partition, read Create a Fourth Primary partition
      - but remember, four Primaries means you cannot have any further partitions on that hard disk!
    • Right-click the Unallocated space and select New Simple Volume.... Click Next.
      • In Simple volume size in MB:, use only enough for Win98/Me. Click Next.
      • In File system, select FAT32 in the drop-down.
      • In Volume label, enter w_Me.
      • Tick to enable the Perform a quick format check box, and click Next.
      • Click Finish button.
      If a Primary partition has not been created, you cannot install Win98/Me - abort this procedure!
      You can leave the Ubuntu disk space as Unallocated.
    • If you have a very large hard disk, you can create an extra NTFS partition for data.
  4. Restart to Windows Vista.
    • Open Disk Management and check that the change made is correct.

Install Windows 98/Me

Windows 98/Me is installed. The originally active partition is made Active again and Windows Vista is booted. EasyBCD will enter Win98/Me in the Vista boot loader and now the dual-boot will work.

  1. Backup important data.
  2. In Windows Vista, open Disk Management.
    • Note which drive is marked as Active. If you have a System Reserved drive then that's the Active drive. Otherwise it's likely to be the vsta drive. Let's refer to that original Active drive as 1stActDrv.
  3. Reboot and install Win98/Me on w_Me (it's the only available FAT32 Primary partition on the first disk)
    • Click Continue for cautions SU0015 and/or SU0012
      If an error occurs during installation reboots, see below to fix System.ini and maybe Large Disks.
  4. Make 1stActDrv Active again - it's the drive that was originally marked Active
        (in Win98/Me, open a MS-DOS Prompt, type Fdisk, and select option 2)
        - read Make Partition Active above if partition identification is a problem.
  5. Restart computer. Windows Vista will bootup normally when the correct partition is marked Active.
    With Windows Vista booted, install and run EasyBCD 2.1 (click Yes for "User Account Control").
    • Select Add New Entry in the left pane.
    • Select the Windows tab in the upper right pane.
      • In Type, select Windows 95/98/ME in the drop-down.
      • In Name, enter a name like "Windows Millennium" or "Win98SE".
      • In Drive, you'll see it is "Automatically configured".
      • Click the Add Entry button in the same pane.
    • Optionally, you can now modify the timeout of the boot loader menu
      - click the Edit Boot Menu (left pane) and set the Boot default OS after to about 5 seconds.
    • Exit EasyBCD.
  6. Restart computer. Windows 98/Me has been added to the Windows Vista boot loader menu.

Install Linux Ubuntu

  1. Bootup from the Linux Ubuntu installation CD.
    Select your Language, and then select Install now.
    • In the Welcome screen, select your Language again, and click Forward.
    • In Where are you, select your Time Zone, and click Forward.
    • In Keyboard layout, select your Country, and click Forward.
    • In Prepare disk space, select Specify Partitions manually (advanced), and click Forward.
      The Prepare partitions screen will open (it's GParted).
  2. In Prepare partitions, right-click Free space, and select New Partition.
    The Create partition window will open. First create the Ubuntu partition.
    • In Type for the new partition, select Primary or Logical if you prefer/must.
    • In New partition size ..., select all available space (for Ubuntu), except 1000 MB (for Swap File)
    • In Location for the new partition, select Beginning.
    • In Use as:, select EXT3 journaling file system.
    • In Mount Point, select / (a forward slash).
    • Click the OK button.
    Make sure the Format box is ticked for the new EXT3 partition and make sure the Mount Point is / (if not, right-click the EXT3 partition, select Edit, and correct it).
    Make a note of the Device name allocated to the ext3 partition, like /dev/sda5.
  3. Now right-click the remaining Free space (about 1 GB), and select New Partition.
    The Create partition window will open again. Now create the Swap partition.
    • In Type for the new partition, select Logical or Primary if it's available and you prefer it.
    • In New partition size ..., use all available space.
    • In Location for the new partition, select Beginning.
    • In Use as:, select Swap area.
      A Mount Point is not set for Linux's swap file partition.
    • Click the OK button.
    Click Forward when ready, or click Undo changes to partitions to remake them.
  4. In Who are you? enter and remember your username and password, and click Forward.
    Deal with the Migrate Documents and Settings as suits you, and click Forward.
    Read the contents of the Ready to install window but do not click Install yet.
    • Click the Advanced button and the Advanced Options windows will open.
    • Make sure the Install boot loader box is ticked.
    • You'll see the boot loader (GRUB) will be installed, by default, at the start of the first hard disk (hd0) replacing the Windows loader. We do not want that. We need to install GRUB to the Ubuntu partition.
      • In the drop-down, select the partition where Ubuntu will be installed, like /dev/sda5
    • Click OK to exit Advanced Options.
  5. Click Back if you're not happy with your selections.
    Click Install when you're ready to install Ubuntu.
    Linux Ubuntu will now install itself on the new EXT3 partition and will place GRUB at the start of the Ubuntu partition.
  6. Restart computer when installation is complete. Window 7 will boot normally.
    We can now use EasyBCD to add Linux to the Windows Vista boot loader.

Place Ubuntu 9.04 boot option in Windows boot loader

  1. Restart Windows Vista
  2. Run EasyBCD.
    • Click Add/Remove Entries.
      • Click the Linux tab under Add an Entry.
        • In Type, select Grub in the drop-down.
        • In name, use a name like Linux Ubuntu 9.04.
        • In Device or Drive, select Partition . (Linux ...) from the drive drop-down list
          (it's the partition containing Linux - check the size shown).
        • Tick (to enable) GRUB isn't installed to MBR/bootsector check box.
        • Press Add Entry.
          * If the new entry does not immediately appear under Manage Existing Entries, click View Settings, and click Add/Remove Entries again. Now you'll see it.
        • Click Save.
      • Exit EasyBCD.
  3. Restart computer. Select Linux Ubuntu 9.04 from the Vista boot menu.

Congratulations! You have created a natural Windows-controlled triple-boot of Windows Vista, Windows 98/Me and Linux Ubuntu when Windows Vista was installed first.

Footnote: EasyBCD 2.1 creates an NST folder on the root of the Active partition for Windows Vista when it adds an operating system to the Windows Vista boot loader. This NST folder contains file(s) vital to booting added OSs. It must not be deleted.

[top of page]

Fix System.ini Memory Problem in Windows 98/Me

Earlier Windows versions were not designed to cope with the large amounts of memory (RAM) used today and this may prevent a successful installation. You may overcome this problem by limiting the amount of RAM Win98/Me will try to use.

If the Win98/Me installation fails to continue normally after the first reboot, you should edit System.ini from DOS (or use your own method to edit System.ini).

  1. Edit C:\Windows\System.ini where C:\Windows is the Win98/Me directory.
    • Locate the bottom of the 386Enh section of System.ini.
      • Enter the following line at the bottom of the 386Enh section.
        (that 20000 is a hexadecimal number and equals 512 MB of RAM).
    • Locate the VCACHE section of System.ini (or create [VCACHE] if it's not there).
      • Enter the following line at the bottom of the VCache section.
        (that 262144 is bytes and equals 256 MB).
    • Save System.ini, and Exit
  2. Reboot and select Normal startup when asked.

The Win98/Me installation should now continue normally and Win98/Me should run without error.

THPC had to use this fix with the preferred Win98SE which then seemed to work fine. However Win Me was mostly used because of its improved memory management. Many installations of Win Me were perfect, none ever required this fix, and there were never any problems.

[top of page]

Fix Large Hard Disk Problem on Some Computers

One report suggests that Win98/SE may boot only to Safe Mode (accessed by pressing F8 key during bootup). This could occur if LBA (Logical Bus Addressing) cannot function beyond 137 GB on a large hard disk. THPC has not encountered this problem but obviously it does occur occasionally.

If you encounter this you may need a 48-bit LBA fix for Win98/SE. The possible solutions include a BIOS update, or a Windows file update, or a Registry fix, or a new PCI controller card, or third-party software. You already are using a large disk with Vista so a BIOS update should be unnecessary, and a new PCI card or costly(?) software can be avoided.

One option is to update the esdi_506.pdr file in the \windows\system\iosubsys folder (where \windows is the Win9x/Me installation folder). You need the correct version, so boot to Safe Mode in Win9x/Me, right-click that file in Windows Explorer, and look in the Version tab. Microsoft released an updated Esdi_506.pdr driver for Win98 and Win98SE which should fix this problem. Remember, you do need the correct update version.

Another option is to implement a Registry fix as suggested in feedback from Rich K (not tested by THPC but it's logical and worked well for him). Rich created the following xxx.REG file and imported it (right-click it and select Merge) into the Win98SE Registry. You should first locate the hdc Key in your Registry and Export it for possible replacement later, AND alter the hdc\000x in the following example to conform with your own findings. This is the .reg created by Rich for his own hard disk using Win98SE and merged while in Safe Mode:

----------- Copy below this line, make the changes, then save as 98lbafix.reg -----------






----------- Copy above this line, make your changes, and save as 98lbafix.reg -----------

----------- To install this fix, you right-click the 98lbafix.reg file, and click Merge -----------
----------- To uninstall this fix, open Regedit, click Registry and click Import ..... -----------


[top of page]

Remove/Uninstall Linux and reclaim space

Linux Ubuntu is wonderful, regularly updated, and it's free! Nevertheless you may wish to remove it at some stage. Removing Ubuntu and regaining its disk space is quick and painless.

  1. Run EasyBCD in Windows Vista.
    • Click Add/Remove Entries.
      • Highlight the Linux entry.
      • Click the Delete button.
      • Click the Save button.
    • Exit EasyBCD.
  2. Open Disk Management (right-click Computer, select Manage, click Disk Management).
    • Right-click the Swap partition, select Delete Volume..., click Yes.
    • Right-click the Swap partition, select Delete Partition, click Yes - required for Logical partitions only.
    • Right-click the Linux partition, select Delete Volume..., click Yes.
    • Right-click the Linux partition, select Delete Partition, click Yes - required for Logical partitions only.
    • Right-click the free unallocated space, select New Simple Volume...
      and create an NTFS partition for used with Vista.

In another a few seconds you will have all the Linux space back for Windows Vista.

EasyBCD has an Uninstall shortcut in Start > All Programs > NeoSmart Technologies.

[top of page]

Repair Windows Vista Startup

You will not have any problem if you follow the instructions as stated above. However you might encounter some freak occurrence like a power failure during an installation. Windows Vista will boot again if you execute the following procedure.

  1. Bootup any Windows 8, 7 or Vista installation DVD or even from NeoSmart's free Windows Vista System Recovery Disk.
    It must be a 64-bit version if a 64-bit Windows is installed.
    • Press a key when you see Press any key to boot from a CD or DVD.
    • Select your Language and then Time....
    • Select Repair your computer (bottom left of the Install now screen).
      An automatic check of your system will run.
    • Click Repair and restart
      Windows Vista should boot normally (very likely). If not, continue here.
  2. Bootup from the Windows Vista installation DVD again
    • Select Repair your computer again.
    • In System Recovery Options, select Windows Vista, and click Next.
    • Click Startup Repair.
    • Click Finish when it's complete, and then Restart.
    • You must let CheckDisk run if requested.
      Windows Vista should boot normally.

If still stuck for a solution, boot again from the installation DVD, select Repair your computer, highlight Windows Vista, get to a Command Prompt, use DIR command (DIR C: or DIR D: etc.) to identify drive letter allocations (sizes and Labels will help), and type in:
bootrec /FixMbr
bootrec /FixBoot
bootrec /RebuildBcd
X:\boot\bootsect.exe /nt60 C:
  (where X: is your DVD drive letter, and C: is the installation drive for Windows Vista).
EXIT, and click Restart. Remove the DVD.

[top of page]

Help! I get only the GRUB boot menu!

If you only get a GRUB boot menu on bootup, then GRUB was mistakenly installed to the Active partition, (hd0) - probably the Windows partition. The Windows boot loader has been overwritten by the Linux version but it can be recovered relatively easily.

How to reinstall/recover the Windows 8, 7 or Vista boot loader (BCD)

  1. Bootup any Windows 8, 7 or Vista installation DVD or even from NeoSmart's free Windows Vista System Recovery Disk.
    It must be a 64-bit version if a 64-bit Windows is installed.
    • Press a key when you see Press any key to boot from a CD or DVD.
    • Select your Language and then Time....
    • Select Repair your computer (bottom left of the Install now screen).
      An automatic check of your system will run but will not identify GRUB control!
    • In System Recovery Options, highlight Windows Vista, and click Next.
    • Click Command Prompt in System Recovery Options.
      • Type in (and press ENTER)
        Bootrec.exe /fixmbr
        (GRUB will be overwritten and the Windows boot loader reinstalled).
    • Now click Startup Repair in System Recovery Options.
    • Restart computer.
      Windows Vista should boot as originally.

You can now reinstall Linux Ubuntu. When you get to the Install Now window, click the Advanced button and select the Linux Ubuntu partition as the location for installing GRUB. When installation is complete, continue at section D above.

[top of page]

Related Reading

[top of page]

Please remember that you alone are responsible for the consequences of any changes you make to your computer hardware or software.

Copyright © LarryM 1998-2015