Installing a Windows and Linux dual boot (Linux bootloder).
This tutorial is about the BIOS boot of an old version of Microsoft Windows and some Linux distribution, installed side by side on the same computer harddisk. Old version of Windows, because the newer versions only support UEFI boot; here Windows Me is used. Concerning Linux, most 32bit distributions capable of BIOS booting could be used; here it's Q4OS 32bit. The tutorial describes how to proceed to use the Linux bootloader GRUB to boot the two operating systems (an alternative would be to use a specialized third-party boot manager).
The dual boot method, that uses the Linux bootloader to start the two OS is easy to implement, even for a novice. In fact, apart creating some place, where to install Linux, you'll have nothing special to do: Just install the OS, Linux will automatically include Windows into the boot menu. Here the steps necessary to install a Windows Me and Q4OS (Linux) dual boot using GRUB as bootloader:
- Install Windows Me just the way, you would do if it was the only operating system (as a difference with Windows 95 and 98, you don't need a boot diskette, because the Windows Me CDROM is - normally - bootable). There will be creation of a single primary partition, using the whole disk and the Windows Me bootloader will be written to the MBR (what will allow Windows Me to boot from the harddisk).
- Install Q4OS. The only "non-standard" operation here will be to create some place, where to install the OS. This means that you have to use manual partitioning: the place for Linux will be created by reducing the size of the Windows partition and using the now available unallocated space to create the Linux partitions. GRUB will replace the Windows Me bootloader in the MBR, what means that now Q4OS will be the operating system that is booted, whereas it will no more be possible to directly boot Windows Me. This is however no problem, because Linux scans all harddisk partitions in order to detect other operating systems. This way, Windows Me will be found and an entry to boot it will automatically be added to the GRUB bootmenu.
- Optionally, you can change the GRUB bootmenu: Renaming the boot entries, making Windows Me the default OS, choosing another boot timeout value...
1. Installation of Windows Me.
To be sure that your computer is booted from CDROM, boot into BIOS Setup and check if the boot sequence is well 1. CD-drive, 2. harddisk, 3. removable devices. Insert the Windows Me CDROM and power-on the computer. The Microsoft Windows Me CDROM Startup Menu is displayed; choose to boot from CDROM. On the next screen, choose to start Windows setup from CDROM (the two other options will exit to Command Prompt). On the first Microsoft Windows Me Setup screen, hit the ENTER key to start installation.
The situation, described here, corresponds to the usage of a new harddisk with nothing on it. Thus, the disk must be prepared (creating a DOS partition table, creating a primary partition, setting this partition active). That's what the setup program calls configure unallocated disk space. Select this option (screenshot on the left) and hit ENTER. Except if your computer has a very small harddisk, you should enable large disk support (screenshot on the right), what not only allows to create larger partitions, but also results in a more efficient use of disk space.
The system has to reboot at this stage. As before, choose to boot from CDROM and to start Windows setup from CDROM. As there is a primary partition now, Windows Me has a place, where to be installed. Remains to format the C: partition. This is immediately done now, without any warning or question. I suppose that, in the case, where there is a C: partition when starting the installation, the setup program would have warned that all data would be destroyed if installation continues. Concerning formatting, the FAT32 filesystem is the only possibility, as FAT does not support partitions of the size of my disk (20GB) and NTFS is unknown to Windows Me.
When the partition is ready, the setup program performs a routine check of the system, then the Windows Millennium Setup Wizard is launched. Just follow the instructions on the screen...
2. Installation of Q4OS.
Boot from the Q4OS CDROM. From the boot menu, choose Q4OS - Classic install.
Select language, location, locale and keyboard, and enter user information. Then, the main Partition disks screen is displayed. Choose the last item in the options list: Manual. The next screen shows an overview of the currently configured partitions: one single, a 21.5 GB FAT32 primary partition (creating a 20 gigabyte disk on a Windows host, creates a VMware virtual disk of 20 GiB, what corresponds to the 21.5 GB shown here), that actually spreads over the whole disk and contains the Windows Me installation. Select the Windows Me partition (screenshot on the left) and hit ENTER. This will display a list of options, what you can do with the partition. As we need a part of it to install Linux, select Resize the partition (screenshot on the right).
Before continuing, you must confirm that you want to write all previous changes to disk (what has to be done before the partition can be resized). Then you are asked for the new size of the partition. You can enter this as an absolute value, followed by "GB" or "MB" (without the quotes), or as a percentage. I chose to reduce the partition to 50% of its actual size (screenshot on the left), what will give 10 GiB to each Windows Me and Q4OS. After having "pushed" Continue, the new disk layout is displayed. Select the FREE SPACE area (screenshot on the right) and hit ENTER.
As before for the C: partition, a list with possible actions is displayed. You may create all partitions manually, but there is a simpler way: Choose the Automatically partition the free space option (screenshot on the left). This will create an extended partition with two logical drives (screenshot on the right): a 10.2 GB ext4 partition that will be mounted as root (/) of the new Linux system and a 534.8 MB swap partition. Select Finish partitioning and write changes to disk and hit ENTER.
Setup continues with the installation of the base system and unpacking the software available on the CDROM. Follows the installation of the bootloader GRUB (screenshot on the left). This is done without questions or warnings, all automatic, and as follows:
- The GRUB installer scans the harddisk for other operating systems and if it detects any, adds an entry to the boot menu.
- The Linux bootloader is written to the MBR, where it replaces the actual bootloader, in our case, the Windows Me one. This means, that the next time, you start the computer, it will be GRUB that takes command and (by default) boots Q4OS. The Windows Me operating system, that booted at computer power-on before Q4OS was installed, cannot be booted directly anymore. If the Q4OS setup program didn't recognize Windows Me, this OS would become inaccessible. Fortunately, this is not the case, as shows the screenshot on the right: GRUB starts with a bootmenu, from which, you can choose to either boot Q4OS, or Windows Me.
3. Modifying the GRUB bootmenu.
What looks pretty and what doesn't depends on subjective definitions, but I suppose that most of you agree with me that a boot entry like "Windows 95/98/Me on /dev/sda1" looks rather ugly. Thus, I decided to find a way to change the GRUB bootmenu, what by the way was a good opportunity to learn how to do this, for the case where, one day, I will have to change it for some really important reason. There is no universal way to do so. One Linux system may have configuration files that are completely different from those of another one. A manual way, that works on many systems, consists in simply modifying the file /boot/grub/menu.lst and then running the command sudo update-grub (in the case of an UEFI boot, you'll have to run sudo update-sbgrub). However, this utility isn't present on all systems and also the file menu.lst may not exist. As is, for example, the case on our Q4OS.
On Debian based systems (such as Ubuntu, Linux Mint and Q4OS), there is a graphical utility, called Grub Customizer, that makes it very easy
to change the configuration of the GRUB bootloader. Other Linux distributions, as for example PCLinuxOS and openSUSE, also offer graphical front-ends for managing
bootloader sessions. To install Grub Customizer, open a terminal and run:
sudo apt-get update
sudo apt-get install grub-customizer
In the case, where the application cannot be found for your Linux distribution, you can try to add the DanielRichter2007 repository:
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
It may be, that running this command leads to the error message that add-apt-repository cannot be found. You'll have to install the software-properties-common package, in this case:
sudo apt update
sudo apt install software-properties-common
The following screenshot shows the List Configuration tab of the Grub Customizer utility. You can see 3 bootmenu entries, including the "ugly" one referencing Windows Me.
To change one of the bootmenu entries, simply select it and choose Edit > Edit from the menu bar commands. The Entry Editor window opens and here, you can not only rename the bootmenu entry, but also change the code that will be executed if the user selects this entry. Note, that on the screenshot below, I already have changed the Windows Me bootmenu entry to a "prettier" name.
Lots of boot options may be configured in the General settings tab of Grub Customizer. I let the actual values unchanged, except increasing the boot timeout from 4s to 10s.
Do not forget: If you have finished with your changes, push the Save button to make the new settings ready for being written to the MBR. To re-install GRUB to the MBR (if you don't do this, you'll still have the old boot options when restarting the computer), choose File > Install to MBR .... A small window pops up, where you have to choose the device to be used. On a one disk machine (and in nearly all other cases) this will be /dev/sda, i.e. the first harddisk of your system.
To terminate this tutorial, a screenshot of the new GRUB bootmenu, displayed when the Q4OS/Windows Me machine is powered on:
If you find this text helpful, please, support me and this website by signing my guestbook.