Dual-booting all versions of Windows and Linux
Install Dual-Boot of Windows 7 + 98 Me + Linux Ubuntu on a Windows 7 computer
|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 7, Windows 98 or Millennium and Linux Ubuntu on a computer with Windows 7 already installed or how to install Linux Ubuntu if a dual-boot of Windows 7 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 7 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 7 Home Basic, Enterprise and Ultimate were used in testing so this will also work with Windows 7 Premium and Professional. 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.
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 7/Vista boot menu (the BCD or Boot Configuration Data). Some settings, not used here, are very advanced. EasyBCD works in Windows 7 and Vista, but also in Windows XP if you first install Microsoft's .NET 2.0 Framework.
Hidden Active Partition. Many Windows 7 users will have a small Primary disk partition(s) that's marked active and is hidden (but is visible under Disk Management in Windows 7). 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.
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.
SUMMARY of Procedure (Advanced Users)
That's it! You have created a natural triple-boot of Windows 7, Windows 98/Me and Linux Ubuntu with Windows (BCD) in control.
Install Windows 98/Me and Linux Ubuntu when Windows 7 is installed first
Installing other operating systems on your Windows 7 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
Make free space and create new partitions
This part is best completed BEFORE you start installing any other operating system.
The single 160 GB disk usually used in testing initially had: System Reserved (100 MB, Primary, Hidden, NTFS), Windows 7 (150 GB, Primary, NTFS). In this example Shrink in Win7's Disk management was used to create about 30 GB of Unallocated space at the end of the Win7 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), Win7 (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 wn_7 and w_Me).
Install Windows 98/Me
Windows 98/Me is installed. The originally active partition is made Active again and Windows 7 is booted. EasyBCD will enter Win98/Me in the Win7 boot loader and now the dual-boot will work.
Install Linux Ubuntu
Place Ubuntu 9.04 boot option in Windows boot loader
Congratulations! You have created a natural Windows-controlled triple-boot of Windows 7, Windows 98/Me and Linux Ubuntu when Windows 7 was installed first.
Footnote: EasyBCD 2.1 creates an NST folder on the root of the Active partition for Windows 7 when it adds an operating system to the Windows 7 boot loader. This NST folder contains file(s) vital to booting added OSs. It must not be deleted.
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).
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.
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 Win7 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 -----------
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.
In another a few seconds you will have all the Linux space back for Windows 7.
EasyBCD has an Uninstall shortcut in Start > All Programs > NeoSmart Technologies.
Repair Windows 7 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 7 will boot again if you execute the following procedure.
If still stuck for a solution, boot again from the installation DVD, select Repair your computer, highlight Windows 7, 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:
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 7/Vista boot loader (BCD)
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.
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 firstname.lastname@example.org