Jump to content











Photo
- - - - -

missing MBR-helper


  • Please log in to reply
5 replies to this topic

#1 kcom

kcom

    Member

  • Members
  • 43 posts

Posted 31 May 2008 - 10:17 PM

Hi!

I installed Windows XP on a VMware virtual disk with NTFS. From NT bootloader (boot.ini) I could start a well working grub4dos....

So I made another virtuel Windows XP and this time I used FAT32 (fast) format for the XP installer. This time I am getting missing MBR-helper? (With grubinst-1.1-bin-w32-2008-01-01.zip and grub4dos directly in MBR it`s also working, but I want to start from NT bootloader.)

What`s the problem? How can I solve it?

Thanks!

#2 tinybit

tinybit

    Gold Member

  • Developer
  • 1175 posts
  •  
    China

Posted 01 June 2008 - 04:12 AM

Hi!

I installed Windows XP on a VMware virtual disk with NTFS. From NT bootloader (boot.ini) I could start a well working grub4dos....

So I made another virtuel Windows XP and this time I used FAT32 (fast) format for the XP installer. This time I am getting missing MBR-helper? (With grubinst-1.1-bin-w32-2008-01-01.zip and grub4dos directly in MBR it`s also working, but I want to start from NT bootloader.)

What`s the problem? How can I solve it?

Thanks!


You did not have a clear description on the line used in BOOT.INI, but I am guessing you might have employed the GRLDR.MBR.

The usage of GRLDR.MBR in BOOT.INI is undocumented and only some GRLDR.MBR versions could be used in this way. Only those GRLDR.MBR files that have exactly 8192 bytes in size can be successfully used in BOOT.INI.

You should use GRLDR instead, as mentioned in the readme, just like this: C:\GRLDR=.....

GRLDR.MBR is intended to work with BOOTMGR of VISTA.

You may also try installing by hand the GRLDR.MBR onto the MBR track, that is, the first track on the hard drive. But BE CAREFUL not to mess up your hard drive partition table!!!! see readme for details.

#3 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 01 June 2008 - 10:58 AM

I guess there is a misunderstanding. ;)

It seems like kcom has it:
1) :thumbup: working with normal XP MBR+bootsector+NTLDR+BOOT.INI+GRLDR as NTFS
2) :thumbup: working with grub4dos MBR+GRLDR as NTFS and FAT32
3) :thumbup: NOT working with normal XP MBR+bootsector+NTLDR+BOOT.INI+GRLDR as FAT32

When does the "missing MBR helper" message appear?

When booting the MBR or after GRLDR has been chainloaded by NTLDR/BOOT.INI?

jaclaz

#4 kcom

kcom

    Member

  • Members
  • 43 posts

Posted 01 June 2008 - 12:50 PM

The line in boot.ini is always C:\grldr.mbr="Start GRUB4DOS"
like the grub4dos wiki (English dokumentation) wants it.

- (1) Filesystem NTFS / FAT32: grub4dos in MBR -> grub4dos -> working (I done that just for testing.)
- (2) Filesystem NTFS: NT Bootloader in MBR -> boot.ini -> gldr.mbr -> grub4dos -> working!
- (3) Filesystem FAT32: NT Bootloader in MBR -> boot.ini -> gldr.mbr -> grub4dos -> not working!

When does the "missing MBR helper" message appear?
When booting the MBR or after GRLDR has been chainloaded by NTLDR/BOOT.INI?
>> It happens only in case of (3). gldr.mbr chainloaded by NT bootloader.

PS: The GRLDR only seams to work. ;) This was undocumented. The method with grldr.mbr was in the grub4dos wiki.

#5 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 01 June 2008 - 01:23 PM

PS: The GRLDR only seams to work. ;) This was undocumented.


Absolutely NOT.

Read the file grub4dos_readme.txt:
Since version 0.2.0 the recommended way to boot:

Update 1: Version 0.2.0 also brings out a new thing, GRUB for NTLDR,
which could be used to boot into GRUB from the boot menu
of Windows NT/2000/XP. Copy GRLDR to the root directory of
drive C: of Windows NT/2000/XP and append to C:\BOOT.INI
this line:

C:\GRLDR="Start GRUB"

That will be done. The GRLDR should be in the same directory
as BOOT.INI and NTLDR. Note that BOOT.INI is usually hidden
and you must unhide it before you can see it. The filename
GRLDR shouldn't be changed. If GRLDR is in a NTFS partition,
it should be copied to the root directory of another non-NTFS
partition(and likewise should the menu.lst file be). If GRLDR
is compressed, e.g., in a NTFS partition, it will not work.

Even if the drive letter of this disk has been changed to
other than C by the Windows device manager, it seems you still
have to use the letter C here in BOOT.INI, otherwise, NTLDR
will fail to locate the GRLDR file.

And what's more, if you are booting NTLDR from a floppy, you
will have to write the GRLDR line in A:\BOOT.INI like this:

C:\GRLDR="Start GRUB"

and shouldn't use the letter A like this:

A:\GRLDR="Start GRUB"

(Note that in the case when BOOT.INI is on floppy A, the
notation "C:\GRLDR" actually refer to the file A:\GRLDR).


Please find (apart the wiki) a single post on this or on 911cd board the uses C:\grldr.mbr :thumbup:

I don't know who wrote the article on the wiki, but maybe (having been "last modified 06:30, 23 July 2007") it refers to an old version of grub4dos (0.4.2 ?) where both ways worked.

jaclaz

#6 Northrup

Northrup
  • Members
  • 1 posts
  •  
    United States

Posted 14 August 2008 - 08:46 PM

I had a problem of my own with FreeDOS where NTLDR tried to boot FreeDOS directly even though I was an idiot and decided to install GRUB. So, the FREEDOS.BSS file NTLDR tried to load couldn't find KERNEL.SYS because (I guess) FREEDOS.BSS and KERNEL.SYS were not in the MBR. So I changed the line in BOOT.INI to:

C:\GRLDR="FreeDOS"

Which corrected the problem.

However, I tried to boot the FreeDOS GRUB from my main GRUB (my computer's boot sequence is a clusterf*** of Ubuntu, Windows 2000 Advanced Server, FreeDOS with Windows 3.1, and Damn Small Linux that I can't find to boot from any of the three or four bootloaders on my computer) via the command line. I first set the root partition (the one with Windows 2000 and FreeDOS):

root (hd0,0)

Then, I figured "okay so I'm booting into another GRUB. That's a multiboot...", thus giving me this line:

multiboot /grldr (I don't remember the exact syntax)

Finally, I issued the boot command.

The result: FreeDOS' GRUB complained about a "missing MBR-helper". Wierd that I have the OPPOSITE issue. I'm gonna take a look at the FreeDOS menu.lst and figure out if its different. That way I can just bypass NTLDR when loading FreeDOS by booting it from the main GRUB (right now it has a "FreeDOS" menu item that loads NTLDR).




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users