Linux and NeoGrub not working

klauern

New Member
#1
I'm trying to find some help somewhere about this, but I've had absolutely no luck.

Here's the situation:

I have XP installed on a RAID as my primary boot drive
Vista and Ubuntu are installed on a separate IDE drive.

The Vista Bootloader is installed and running on the XP RAID, so I can switch between Vista and XP with no problems.

The issue is that in order to boot Ubuntu, I need to switch the BIOS boot order to the IDE drive before the RAID. This will let Ubuntu's Grub load, and from there Ubuntu's Grub has options to load up properly.

But I want Linux to be an option to boot on the RAID Vista Bootloader. I tried NeoGrub, tossing in the menu.lst file from the Ubuntu partition, and copied the entirety of /boot/grub into C:/NST/ so it would boot. But what happens when I try to boot from it is that I get:

GRUB _

with the underscore being a blinking cursor. It just doesn't do anything after that.

Here's my menu.lst:
Code:
# menu.lst - See: grub(8), info grub, update-grub(8)
#            grub-install(8), grub-floppy(8),
#            grub-md5-crypt, /usr/share/doc/grub
#            and /usr/share/doc/grub-doc/.

## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not change this entry to 'saved' or your
# array will desync and will not let you boot your system.
default		0

## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout		10

## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
#hiddenmenu

# Pretty colours
#color cyan/blue white/blue

## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line)  and entries protected by the
# command 'lock'
# e.g. password topsecret
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret

#
# examples
#
# title		Windows 95/98/NT/2000
# root		(hd0,0)
# makeactive
# chainloader	+1
#
# title		Linux
# root		(hd0,1)
# kernel	/vmlinuz root=/dev/hda2 ro
#

#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST

### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below

## DO NOT UNCOMMENT THEM, Just edit them to your needs

## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
##      kopt_2_6_8=root=/dev/hdc1 ro
##      kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=035a1a06-21ec-42e2-818d-14bab43d86ff ro

## Setup crashdump menu entries
## e.g. crashdump=1
# crashdump=0

## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,5)

## should update-grub create alternative automagic boot options
## e.g. alternative=true
##      alternative=false
# alternative=true

## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
##      lockalternative=false
# lockalternative=false

## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash

## should update-grub lock old automagic boot options
## e.g. lockold=false
##      lockold=true
# lockold=false

## Xen hypervisor options to use with the default Xen boot option
# xenhopt=

## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0

## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
##      altoptions=(recovery) single
# altoptions=(recovery mode) single

## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
##      howmany=7
# howmany=all

## should update-grub create memtest86 boot option
## e.g. memtest86=true
##      memtest86=false
# memtest86=true

## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false

## ## End Default Options ##

title		Ubuntu, kernel 2.6.20-14-generic
root		(hd0,5)
kernel		/boot/vmlinuz-2.6.20-14-generic root=UUID=035a1a06-21ec-42e2-818d-14bab43d86ff ro quiet splash
initrd		/boot/initrd.img-2.6.20-14-generic
quiet
savedefault

title		Ubuntu, kernel 2.6.20-14-generic (recovery mode)
root		(hd0,5)
kernel		/boot/vmlinuz-2.6.20-14-generic root=UUID=035a1a06-21ec-42e2-818d-14bab43d86ff ro single
initrd		/boot/initrd.img-2.6.20-14-generic

title		Ubuntu, kernel 2.6.20-12-generic
root		(hd0,5)
kernel		/boot/vmlinuz-2.6.20-12-generic root=UUID=035a1a06-21ec-42e2-818d-14bab43d86ff ro quiet splash
initrd		/boot/initrd.img-2.6.20-12-generic
quiet
savedefault

title		Ubuntu, kernel 2.6.20-12-generic (recovery mode)
root		(hd0,5)
kernel		/boot/vmlinuz-2.6.20-12-generic root=UUID=035a1a06-21ec-42e2-818d-14bab43d86ff ro single
initrd		/boot/initrd.img-2.6.20-12-generic

title		Ubuntu, memtest86+
root		(hd0,5)
kernel		/boot/memtest86+.bin
quiet
 
#2
I only got NeoGrub to work once on a SuSE install. So, I would suggest just trying the regular Linux Boot Loader.

Boot into Vista.
Run EasyBCD.
Add/Remove Entries
Uninstall NeoGrub.

Now we want to find out what Vista sees the numbers for the disks and partitions in order to be able to use it to boot using BCD.

Go to a command prompt and type in DISKPART (depending on how many disks you have it may take a little bit for it to scan all your disks and partitions).

Type List DISK.

If you have different disk sizes it should be easy to figure out which one is holding your Linux Partition. If you figure it out just remember the number next to it, as we'll be using it to configure EasyBCD. You can also figure out which disk number Vista is using through Computer Management, but we still need to look up the Partition number through DISKPART. So if it makes it easier, use it and skip to the next step.

Type:
Select Disk #

With # being the disk you figured out from either the List Disk in DISKPART or through Computer Management.

Now from here type:
list partition

This should show you a list of partitions like so:

DISKPART> list partition

Partition ### Type Size Offset
------------- ---------------- ------- -------
Partition 1 Primary 171 GB 32 KB
Partition 0 Extended 109 GB 171 GB
Partition 2 Logical 2055 MB 171 GB
Partition 3 Logical 107 GB 173 GB

For me linux is installed on Disk 3 according to Vista. You only see 3 partitions in Computer Management, so you wouldn't know that my Linux install created an Extended partition and enumerated my partitions differently than what I would have thought. Partition 1 is one of my NTFS partitions, but I installed the GRUB bootloader directly to the Logical drive in Partition 3. So now I know my Partition number is 3.

Go back to EasyBCD under Add/Remove Entries and select Linux/BSD tab. Select GRUB under Type. Change the Hard Drive and Partition to match what you figured out above and select Add Entry. This should hopefully get you booting into linux through the Vista boot loader like it was able to for me. I run Sabayon Linux.
 

mqudsi

Mostly Harmless
Staff member
#3
Yep - NeoGrub is tempramental at best.
It's built with the GRUB for DOS toolkit, which is highly buggy and rarely works. It's just there if you really need to bypass GRUB entirely, and you absoloutley don't know how to install grub to the bootsector of a partition, and refuse to learn.

That said, Linux support in EasyBCD is multi-tiered redundancy for maximum compatibility. You first try GRUB to the bootsector, then LILO, then NeoGrub.... It'll work :smile: