Boot.ini Switches

JustinW

Super Moderator
Staff member
#1
Beyond editing for adding/removing entries, I have not bothered to fiddle around with boot.ini (now more so then ever with Vista out). Does anyone know if there are any switch parameters or entry syntaxes that I can use to add to an entry in a boot.ini file that'll allow me to chainload to another loader?

ie. NTLDR contains an entry that'll chainload GRUB, NTLDR contains an entry that chainload's Vista's boot loader, etc.

It is not a critical problem that I am having, just curious if there is a way to do it. If there is one, Microsoft doesn't mention it in thier Boot Parameters for Boot.ini articles.
 

JustinW

Super Moderator
Staff member
#2
After some reading up on other users who have supposely accomplished loading grub/lilo from ntldr, I think I can get it to work as far as boot.ini is concerned.

However, with what seems like the rest of the world, I am more Windows experienced based and know almost absolutlety nothing about Linux. I am simply playing around with Linux to try it out and see if I can expand upon my technical skills being Windows exclusive. That being said, does any Linux guru here know how to copy a linux's bootsector program into a file? If this is possible, then I think I could from there easily add an entry to boot.ini that'll make it all work.
 

mqudsi

Mostly Harmless
Staff member
#3
kairozamorro, somehow this post slipped under my radar - sorry about that.

EasyBCD creates nst_* files that can be chainloaded from the Windows Vista bootloader. In most cases, you can create a boot.ini pointing to these files and they'll be chainloaded OK in that case as well.

Do you have the nst_* files still? If not, you can re-create similar ones with dd on linux.
 

JustinW

Super Moderator
Staff member
#4
That's okay CG. I got good news and bad news.

The good news is that thanks to wonderful EasyBCD I am now chainloading GRUB from Vista's bootloader on my laptop to my external drive! I often forget to boot from the external drive my Linux OSes reside on and it is nice to be able to boot to it if I do w/out having to restart the system.

By the way, linux entries w/out the No Grub option selected use the file NST_Grub.mbr and entries that are use the file NeoGrub.mbr. Like most users, the only usable option is to select the No Grub installed on boot sector option. I noticed as well (possibly doable for newer version?) that any Linux entry added using EasyBCD only allowed you to boot the first available Linux install on the disk. If possible, i'm sure Linux user's (Esp. Linux dual-booters like me) would love the flexibility to picking exactly which Linux bootsector to load.

For example, I was using Ubuntu's menu.lst when booting from the external drive, but when chainloading it it uses Fedoras'. I installed Fedora before I installed Ubuntu. In order to get everything working, Ubuntu's entries in menu.lst had to be copied over to Fedora's menu.lst file and root (hdx,y) had to be changed in GRUB til I could find the right parameters; but rest assured, everything is now working as far as Vista goes.

Now on to the bad news and orginal reason for the thread. NTLDR and boot.ini seem to be particually picky about what is being loaded. Addding an entry to the boot.ini for the exact file referenced from EasyBCD well not do the trick. Heres an example of my boot.ini configuration:

[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\Windows="Microsoft Windows XP Home Edition"
multi(0)disk(0)rdisk(0)partition(1)\NST\NeoGrub.mbr="Linux GRUB Bootloader"

After checking EasyBCD and Windows Explorer, I am absoutely certain that this is the file (NeoGrub.mbr) being loaded. It seems to me that there is no other option, but its okay since Vista's bootloader is the first thing that loads anyway when I boot my laptop and I can chainload from there. Thanks for the feedback. With programming and all of the aspects of a person's life, it is a pleasant thing to see the director directly involved in user support. :smile: