Download GRUB4DOS from the http://grub4dos.chenall.net/ site - version 0.4.6a 2020-03-04 was used during testing. Extract the following files from the download -
A variety of options are available for installing or booting GRUB4DOS, including dual booting with an existing Windows Operating System -
If the Windows NT 5.* boot loader (ntldr) is already installed, then an entry can be added to the configuration file boot.ini. Add the following code to boot.ini -
Alternatively, to made GRUB4DOS the default boot menu option, change the default option in boot.ini. E.g.
Copy the following file to the active/boot patition - the partition containing ntldr and boot.ini
If Windows Vista or 7 is already installed, then the Boot Configuration Database (BCD) can be edited to load grldr.mbr, which will then load grldr.
Copy the following files to the root of an accessible drive. In the examples below the D:\ drive is used -
Check if the System BCD Store is loaded - see here
If a system BCD store is loaded, then run the following batch script to add an entry for GRUB4DOS (edit partition=D: if grldr.mbr is located on a different drive) -
If the system BCD store is not loaded, then you will need to locate the file and specify it in a batch file using the /store parameter - it should be located in the active/boot partition in the path #:\boot\BCD. In the following batch file the BCD store is located on the D: drive - edit the file to reflect your own setup (you will also need to edit partition=D: if grldr.mbr is located on a different drive) -
An alternative to editing the BCD store is to add a file named boot.ini to the active/boot partition (the partition containing bootmgr and \boot\BCD). boot.ini is the filename of the Windows NT 5.* boot configuration file - this file is automatically parsed by the Windows Vista/7 bootmanager (bootmgr). Create the file and add the following text -
If Windows 8 or 8.1 is already installed, then the Boot Configuration Database (BCD) can be edited to load grldr.mbr, which will then load grldr.
NOTE - A graphic boot menu was introduced with Windows 8. The new style graphic boot menu (bootmenupolicy standard) will not display the Grub4dos menu entry created below. The {default} menu option will need to be edited to set bootmenupolicy to legacy.
Copy the following files to the root of an accessible drive. In the examples below the D:\ drive is used -
Check if the System BCD Store is loaded - see here
If a system BCD store is loaded, then run the following batch script to add an entry for GRUB4DOS (edit partition=D: if grldr.mbr is located on a different drive) -
If the system BCD store is not loaded, then you will need to locate the file and specify it in a batch file using the /store parameter - it should be located in the active/boot partition in the path #:\boot\BCD. In the following batch file the BCD store is located on the D: drive - edit the file to reflect your own setup (you will also need to edit partition=D: if grldr.mbr is located on a different drive) -
An alternative to editing the BCD store is to add a file named boot.ini to the active/boot partition (the partition containing bootmgr and \boot\BCD). boot.ini is the filename of the Windows NT 5.* boot configuration file - this file is automatically parsed by the Windows 8/8.1 bootmanager (bootmgr). Create the file and add the following text -
If Windows 10 is already installed, then the Boot Configuration Database (BCD) can be edited to load grldr.mbr, which will then load grldr.
NOTE - A graphic boot menu was introduced with Windows 8. The new style graphic boot menu (bootmenupolicy standard) will not display the Grub4dos menu entry created below. The {default} menu option will need to be edited to set bootmenupolicy to legacy.
Copy the following files to the root of an accessible drive. In the examples below the D:\ drive is used -
Check if the System BCD Store is loaded - see here
If a system BCD store is loaded, then run the following batch script to add an entry for GRUB4DOS (edit partition=D: if grldr.mbr is located on a different drive) -
If the system BCD store is not loaded, then you will need to locate the file and specify it in a batch file using the /store parameter - it should be located in the active/boot partition in the path #:\boot\BCD. In the following batch file the BCD store is located on the D: drive - edit the file to reflect your own setup (you will also need to edit partition=D: if grldr.mbr is located on a different drive) -
Boot WinPE 2\3.*\4\5.*\10.* > prepare the HDD\SSD using DiskPart (see commands below) > copy grldr to the active partition on the HDD\SSD > rename grldr to bootmgr
DiskPart commands. Replace disk # with the disk number for your HDD\SSD and letter=# with an available drive letter. Please note that a similar process is covered in more detail here. Use caution as the commands listed below will wipe your target disk.
If WinPE 2\3.*\4\5.*\10.* is used to format the active primary partition on the boot disk, the Partition Boot Record (aka Volume Boot Record) will contain code to load the file bootmgr. Copying grldr to the active partition and renaming it as bootmgr will boot GRUB4DOS. Please note that this will only work if the partition is formatted using FAT32 or NTFS.
If the system firmware supports booting from USB devices then the method documented in the DiskPart - Create a Bootable USB Drive section of this guide can be used. Edits to system boot configuration files are not required if using this method.
If Windows NT 5.* (Windows 2000/XP/2003) has been used to format the active primary partition on the boot disk, the Partition Boot Record (aka Volume Boot Record) will contain code to load the file ntldr. Copy grldr to the active partition and rename it as ntldr. Please note that this will only work if the partition is formatted using FAT32 or NTFS.
If Windows NT 6.* (Windows 7/8/8.1) or NT 10.* (Windows 10) has been used to format the active primary partition on the boot disk, the Partition Boot Record (aka Volume Boot Record) will contain code to load the file bootmgr. Copy grldr to the active partition and rename it as bootmgr. Please note that this will only work if the partition is formatted using FAT32 or NTFS.
Open an administrator command prompt and enter the following to check if the system BCD store is loaded -
Sample output from running the bcdedit /enum command on a Windows 7 system. BCD Store loaded -
Sample output - BCD Store not loaded -
The GRUB4DOS loader \grldr is configured to scan all devices/partitions with a supported filesystem for the configuration file \menu.lst - supported filesystems include FAT12, FAT16, FAT32 and NTFS. If the system has more than one device/partition containing a file named \menu.lst then only the first instance found during the scanning process will be loaded - any other files with the same name will be ignored.
The root device will be set as the device from which the configuration file \menu.lst was loaded. This can be problematic if the file is at the root of more than one device as you may not be aware which menu you have loaded. You can check which device is root using the command-line. Use the root command. Example with output -
To search for all instances of \menu.lst use the command find /menu.lst. Example with output, which demonstrates the search order (ascending search order) -
\menu.lst is a plain text file containing a series of GRUB4DOS commands, similar to a batch script. Commands in menu entries can be entered in the command-line, which is useful during testing or for troubleshooting as verbose feedback is issued following commands.
Document date - 12th April 2023