Boot FreeLoader from GRUB
GRUB is a popular boot manager for people with many different operating systems installed on one machine or hard disk. FreeLoader is the bootloader for ReactOS and also a possible boot manager. If you have GRUB already installed and then install ReactOS, FreeLoader's abilities become redundant and annoying. This document shows how to keep FreeLoader from doing much beyond acting as a bootloader for ReactOS.
Method
FreeLoader can be loaded as a "multiboot kernel" by multiboot compliant bootstrap loaders like GRUB. To load FreeLoader from GRUB, put something like this in the GRUB's menu.lst
configuration file:
title ReactOS root (hd0,0) kernel /freeldr.sys
Note:
(hd0,0)
refers to the first partition on the first disk.(hd1,0)
refers to the first partition on the second disk.(hd0,1)
refers to the second partition on the first disk.
Another generic way to discover the exact GRUB name of your ReactOS partition is to open the GRUB console and type:
> root (hd
and press TAB button; If you only have one hard drive it will auto-complete the "0," If you have more than one it will list the available hard drives. After you have selected a hard drive you can hit the tab key after the comma and it will again either give you 0 if you only have one partition on that hard drive, or it will give you a list of possible partitions to choose from. Note that there is no comma between hd0 and the partition number.
You should make sure that the path referred to by "kernel" and freeldr.sys
is on a FAT16/32 partition.
You can also override settings in the [FREELOADER] section of FreeLoader's freeldr.ini
configuration file by passing them on the command line, like this:
title ReactOS root (hd0,0) kernel /freeldr.sys DefaultOS=ReactOS TimeOut=0
title ReactOS (Debug) root (hd0,0) kernel /freeldr.sys DefaultOS=ReactOS_Debug TimeOut=0
After selecting "ReactOS" from the GRUB menu you will not have to make another selection on the freeloader menu because of the TimeOut=0.
Finally, the working section for GRUB1 looks like:
title ReactOS root(hd0,2) chainloader +1 makeactive kernel /freeldr.sys
makeactive command here is necessary since without it, FreeLDR can't find file freeldr.ini and requests reinstallation of freeloader.
GRUB 2
The next generation of GRUB, GRUB 2 uses other language in its configuration file grub.cfg. Here is an example how to add a menu entry for ReactOS:
menuentry "ReactOS" { set root=(hd0,1) multiboot /freeldr.sys }
Note that partition numbering has been changed, and (hd0,1) refers to the first partition on the first disk.
The last example in Grub1 section written for GRUB2 would be:
menuentry "ReactOS" { set root=(hd0,1) chainloader +1 parttool (hd0,1) boot+ multiboot /freeldr.sys }
External links
- http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/util/boot/grub/grub013.zip
- GRUB Manual
- GRUB homepage
- Grub wiki
- Linux+Win+Grub HowTo
- Win32 Grub
- Booting with GRUB
- WinGRUB
- GRUB Installer for Windows
- GRUB for DOS – Bridging DOS/Windows to Unix/Linux ( Chinese site )
- GRUB for DOS – Bridging DOS/Windows to Unix/Linux