Adding a Linux Entry to NeoGrub
NeoGrub is especially useful when it comes to adding a *nix-based operating system to the Windows Vista/7/8 bootloader without ever having to install GRUB or Lilo anywhere – not to the bootsector and most certainly not to the MBR either.
Sample menu.lst for booting into Ubuntu (compatible with almost all other Linux distros too, though):
# NeoSmart NeoGrub Bootloader Configuration File # # This NeoGrub menu.lst file should be located at \NST\menu.lst of the boot drive. # Please see the EasyBCD Documentation for information on how to create/modify entries title Ubuntu find --set-root /boot/vmlinuz-2.6.17-10-generic kernel /boot/vmlinuz-2.6.17-10-generic ro root=/dev/sda2 initrd /boot/initrd.img-2.6.17-10-generic
Given the sample file above, NeoGrub would display a menu with one entry (Ubuntu). When you select Ubuntu from the NeoGrub list, it’ll try to find the second partition of the second hard drive, and boot from it.
You’ll need to change a couple of things (everything in red) to make this work on your machine though:
- Replace all occurrences of
2.6.17-10-genericwith your current kernel. You can either browse through the /boot/ folder and find the right number, or use the
unamecommand in Linux.
/dev/sda2with the correct name for your “/” partition. See our document on drive letters and numbers for more info.
Since NeoGrub uses GRUB as the base framework, you can refer to the official GRUB documentation for help with any specific syntax issues. Any code that works in GRUB will work in NeoGrub without a problem. However, you cannot use code from NeoGrub in GRUB, since NeoGrub has a couple more features not available in the vanilla GRUB code.