Dual-boot: Vista and Ubuntu, 2 hard disks

#1
My problem is quite similar to andy-min's in an earlier thread, but I figured I'd start my own so that our cases don't get mixed up. I'm a complete linux beginner (that's why I'm installing it, so I can learn it), so please forgive me. Also I don't know much about bootloading except what I've gathered from google searches and the links in the sticky in this forum.

I just installed ubuntu 8.10 (64-bit) to a second SATA internal hard drive. My first SATA disk has Vista Home Premium 64-bit. Here's a run-down of pretty much everything I've done so far:

1) Physically install new hd (obviously)
2) Install ubuntu. Here's where I might have made my first mistake. During install, I had to pick the partition to which to install grub. I chose dev/sdb, i.e. the second SATA drive. But I'm thinking that maybe I should have chosen dev/sdb1, i.e. the first partition where the ubuntu's root directory is located?
3) Booted into Vista, used EasyBCD to add an entry for Linux. I chose Drive 0, Partition 1 (for some reason, Vista sees the new drive as drive 0 and its own boot drive as drive 1. not sure why). Did not check "GRUB is not installed to the bootsector."
4) Rebooted and selected ubuntu at the boot menu. I received a message ("insert system disk" or something like that).
5) Rebooted into Vista. Deleted the old entry. Did the same as (3), except this time I checked the "GRUB is not installed" box.
6) Rebooted and selected ubuntu at the boot menu. Now it boots into the grub prompt.

So that's where I am. I can boot into ubuntu, but only if I change the hard disk boot order in the bios (in fact, I'm writing this from ubuntu now). I'd greatly appreciate any suggestions you may have.

Sorry again about the (maybe) redundant thread.
 
#2
My problem is quite similar to andy-min's in an earlier thread, but I figured I'd start my own so that our cases don't get mixed up. I'm a complete linux beginner (that's why I'm installing it, so I can learn it), so please forgive me. Also I don't know much about bootloading except what I've gathered from google searches and the links in the sticky in this forum.

I just installed ubuntu 8.10 (64-bit) to a second SATA internal hard drive. My first SATA disk has Vista Home Premium 64-bit. Here's a run-down of pretty much everything I've done so far:

1) Physically install new hd (obviously)
2) Install ubuntu. Here's where I might have made my first mistake. During install, I had to pick the partition to which to install grub. I chose dev/sdb, i.e. the second SATA drive. But I'm thinking that maybe I should have chosen dev/sdb1, i.e. the first partition where the ubuntu's root directory is located?
3) Booted into Vista, used EasyBCD to add an entry for Linux. I chose Drive 0, Partition 1 (for some reason, Vista sees the new drive as drive 0 and its own boot drive as drive 1. not sure why). Did not check "GRUB is not installed to the bootsector."
4) Rebooted and selected ubuntu at the boot menu. I received a message ("insert system disk" or something like that).
5) Rebooted into Vista. Deleted the old entry. Did the same as (3), except this time I checked the "GRUB is not installed" box.
6) Rebooted and selected ubuntu at the boot menu. Now it boots into the grub prompt.

So that's where I am. I can boot into ubuntu, but only if I change the hard disk boot order in the bios (in fact, I'm writing this from ubuntu now). I'd greatly appreciate any suggestions you may have.

Sorry again about the (maybe) redundant thread.
Hi, toomuchjustin. Welcome to NST. :smile:
Yes, when you chose to install Grub to /dev/sda, that was a mistake (at least if you're planning on using the Vista bootloader), as this installs Grub to the MBR, and replaces Vista's. :wink: The correct thing to have done would have been to install to /dev/sda1, the "1" (which is the partition number) being replaced if necessary with whatever partition you wanted to install Grub to, which would have of course been your Ubuntu partition, most likely located at partition 1.

But now that you installed Grub to the MBR, instead of to the bootsector of the Ubuntu partition, you will need to repair Vista's boot with either the Vista installation disk, using startup repair, that came with your computer, or with the repair CD found on this site. This will put Vista's bootloader back into the MBR, and replace Grub.

Also, before Ubuntu will work with the Ubuntu entry you created in EasyBCD, you will need to first install Grub to the partition's bootsector...or else check that box titled "Grub isn't installed to the bootsector" under the Linux tab, which will see NeoGrub installed, and which will use the menu.lst on your Ubuntu partition to boot Ubuntu.

Let me know if this helps, and answers your question. I'm sure I or somebody else will always be available at this forum at most times of the day, so if you need any more help, then just ask. :wink:

Cheers! :smile:

-Coolname007

EDIT: Here's the wiki documentation on recovering the Vista bootloader, using either the Vista DVD, or the Repair CD, found on this site:

Method 1 (Recovering the Vista bootloader from the DVD): Recovering the Vista Bootloader from the DVD - NeoSmart Technologies Wiki
Method 2 (Recovering the Vista bootloader with EasyBCD): Recovering the Vista Bootloader with EasyBCD - NeoSmart Technologies Wiki

EDIT #2: Sorry, I just noticed the following comment in bold:

5) Rebooted into Vista. Deleted the old entry. Did the same as (3), except this time I checked the "GRUB is not installed" box.
So in that case, then, since you have already installed NeoGrub, then the best course of action now would probably be to see NeoGrub work, by first making sure your Ubuntu menu.lst (located on your Ubuntu partition) is setup ok. So please post it, so we can take a look at it. Otherwise, you will need to setup a alternative menu.lst, specifically for NeoGrub...
 
Last edited:
#3
Hi, toomuchjustin. Welcome to NST. :smile:
Yes, when you chose to install Grub to /dev/sdb, that was a mistake (at least if you're planning on using the Vista bootloader), as this installs Grub to the MBR, and replaces Vista's. :wink: The correct thing to have done would have been to install to /dev/sdb1, the "1" (which is the partition number) being replaced if necessary with whatever partition you wanted to install Grub to, which would have of course been your Ubuntu partition, most likely located at partition 1.
Wow, thanks for the quick response!

I'm a bit skeptical of your analysis only because I seem still to be getting the windows bootloader when I boot from my first hard drive. I hate to second-guess since I'm the novice and you're the expert, but just want to make sure you're right before I proceed.

Just to be clear, I've installed each OS to a different physical disk. I installed Grub to /dev/sdb because I thought it meant the MBR of my second, new disk. During the install I was fairly certain that /dev/sda was the name for my first disk where Vista is installed, so I was careful not to touch that disk or its partitions throughout the process.

Then again, it could be that I've misunderstood something fundamental about the whole thing; I wouldn't be surprised!
 
#4
Wow, thanks for the quick response!

I'm a bit skeptical of your analysis only because I seem still to be getting the windows bootloader when I boot from my first hard drive. I hate to second-guess since I'm the novice and you're the expert, but just want to make sure you're right before I proceed.

Just to be clear, I've installed each OS to a different physical disk. I installed Grub to /dev/sdb because I thought it meant the MBR of my second, new disk. During the install I was fairly certain that /dev/sda was the name for my first disk where Vista is installed, so I was careful not to touch that disk or its partitions throughout the process.

Then again, it could be that I've misunderstood something fundamental about the whole thing; I wouldn't be surprised!
Oh, right...:shame: DUH! :lol: I completely forgot about you having two different drives, when I made that remark...:wink:
In that case, then, yes, your Vista bootloader should still be present in your first drive's MBR, since it is after all located on the first sector of the first harddisk. My fault...completely my mistake. :shame:

Since that is the case, you now need to just simply install Grub to the root of Ubuntu's partition, by running the following commands in a terminal while booting from the LiveCD:

sudo grub
find /boot/grub/stage1
root (hd1,0)
setup (hd1,0)
exit
That should install Grub to the bootsector of the Ubuntu partition, instead of to the MBR of that drive. :wink:

Next, simply add a Ubuntu entry under the Linux tab, leaving the box titled "Grub isn't installed to the bootsector" unchecked, and selecting of course the right "drive" (partition) that Ubuntu's installed to, which should give you a working boot entry in your Vista bootloader for Ubuntu 8.10. :smile:

Sorry about the confusion...that was completely my fault, and due to me not reading your original post that closely. :shame: My bad.

Let me know if this fixes it.

-Coolname007

EDIT: And just to prevent any more confusion...(hd1,0) = sdb1, because the sdxy notation is 1 number ahead than the (hdx,y) notation, because Grub starts counting at 0, while MS and also Linux itself starts counting from 1.

EDIT #2: And I can imagine what you must be thinking right now...:grinning: The only real "excuse" that I can come up with right now is that's its very late where I live right now, and I need to be getting my beauty sleep, instead of typing up errors to new users of Ubuntu!:lol:
 
Last edited:

JustinW

Super Moderator
Staff member
#5
If you've setup neogrub manually before this uninstall it in the neogrub tab and try again. And if you got a menu.lst on your linux partition at /boot/grub that would be useful.
 
Last edited:
#6
Grub should already been installed to the partition if you let it install to the mbr...
How do you figure that??? :wtf: If Grub was installed to the MBR (which he said it was), then how could it have installed to the partition as well, automatically? :huh: It seems like to me, it would still need to be installed to the partition's boot sector...:wink:

-Coolname007

EDIT: And remember that is the MBR of the second hard disk, not the first...
 
Last edited:
#7
Well, I'm not going to reinstall Grub to /dev/sdb1 yet because I'd like to figure out what the problem really is first. I just want to do anything until I understand what was going on. If Grub installed to the MBR, wouldn't it also have installed to the PBR of some partition (presumably the first primary)? My understanding from some of the links provided here is that you need at least one PBR on a drive to have a boot loader, or else you can't boot from that disk (which I seem to be able to do).

To kairozamorro: I did not install Neogrub manually. It installed automatically when I added the Linux entry in EasyBCD with the little box checked.

I've noticed an odd thing that may or may not be contributing? For some reason I haven't yet been able to read my Linux file system from within Vista, using either expore2fs or DiskInternals Linux reader. So maybe there is some larger problem accessing that disk within Windows, or when I set my Windows disk as the first boot disk in BIOS?

Now, my understanding is that when I select the ubuntu option from the windows bootloader, Neogrub looks for /boot/grub/menu.lst and then runs it. So that makes me figure one of three things is happening:

1) NeoGrub can't read the partition on which /boot/grub/menu.lst is located.
2) NeoGrub can see the partition, but can't read from it to get to that file.
3) NeoGrub can't follow the commands in /boot/grub/menu.lst (maybe because it was created by a version of Grub with a slightly different command set?)

Anyway, here is /boot/grub/menu.lst:
# 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 use 'savedefault' 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=e5583ef1-7c3d-43f7-8a56-abdaca7c40ed ro

## default grub root device
## e.g. groot=(hd0,0)
# groot=e5583ef1-7c3d-43f7-8a56-abdaca7c40ed

## 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

## should update-grub add savedefault to the default options
## can be true or false
# savedefault=false

## ## End Default Options ##

title Ubuntu 8.10, kernel 2.6.27-9-generic
uuid e5583ef1-7c3d-43f7-8a56-abdaca7c40ed
kernel /boot/vmlinuz-2.6.27-9-generic root=UUID=e5583ef1-7c3d-43f7-8a56-abdaca7c40ed ro quiet splash
initrd /boot/initrd.img-2.6.27-9-generic
quiet

title Ubuntu 8.10, kernel 2.6.27-9-generic (recovery mode)
uuid e5583ef1-7c3d-43f7-8a56-abdaca7c40ed
kernel /boot/vmlinuz-2.6.27-9-generic root=UUID=e5583ef1-7c3d-43f7-8a56-abdaca7c40ed ro single
initrd /boot/initrd.img-2.6.27-9-generic

title Ubuntu 8.10, kernel 2.6.27-7-generic
uuid e5583ef1-7c3d-43f7-8a56-abdaca7c40ed
kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=e5583ef1-7c3d-43f7-8a56-abdaca7c40ed ro quiet splash
initrd /boot/initrd.img-2.6.27-7-generic
quiet

title Ubuntu 8.10, kernel 2.6.27-7-generic (recovery mode)
uuid e5583ef1-7c3d-43f7-8a56-abdaca7c40ed
kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=e5583ef1-7c3d-43f7-8a56-abdaca7c40ed ro single
initrd /boot/initrd.img-2.6.27-7-generic

title Ubuntu 8.10, memtest86+
uuid e5583ef1-7c3d-43f7-8a56-abdaca7c40ed
kernel /boot/memtest86+.bin
quiet

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title Other operating systems:
root


# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title Windows Vista/Longhorn (loader)
root (hd0,0)
savedefault
chainloader +1
 
#8
## ## End Default Options ##

title Ubuntu 8.10, kernel 2.6.27-9-generic
uuid e5583ef1-7c3d-43f7-8a56-abdaca7c40ed
kernel /boot/vmlinuz-2.6.27-9-generic root=UUID=e5583ef1-7c3d-43f7-8a56-abdaca7c40ed ro quiet splash
initrd /boot/initrd.img-2.6.27-9-generic
quiet

title Ubuntu 8.10, kernel 2.6.27-9-generic (recovery mode)
uuid e5583ef1-7c3d-43f7-8a56-abdaca7c40ed
kernel /boot/vmlinuz-2.6.27-9-generic root=UUID=e5583ef1-7c3d-43f7-8a56-abdaca7c40ed ro single
initrd /boot/initrd.img-2.6.27-9-generic

title Ubuntu 8.10, kernel 2.6.27-7-generic
uuid e5583ef1-7c3d-43f7-8a56-abdaca7c40ed
kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=e5583ef1-7c3d-43f7-8a56-abdaca7c40ed ro quiet splash
initrd /boot/initrd.img-2.6.27-7-generic
quiet

title Ubuntu 8.10, kernel 2.6.27-7-generic (recovery mode)
uuid e5583ef1-7c3d-43f7-8a56-abdaca7c40ed
kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=e5583ef1-7c3d-43f7-8a56-abdaca7c40ed ro single
initrd /boot/initrd.img-2.6.27-7-generic

title Ubuntu 8.10, memtest86+
uuid e5583ef1-7c3d-43f7-8a56-abdaca7c40ed
kernel /boot/memtest86+.bin
quiet

### END DEBIAN AUTOMAGIC KERNELS LIST
You will need to replace the UUIDs in bold with "root (hd1,0)" without the quotes. :wink: This should fix it.

Let us know if it works.

-Coolname007

EDIT: Also, in order to edit your menu.lst, you will need to be a "root" (Linux term for administrator) user. So first open up a file browser as root:

gksu nautilus
in the terminal. And then navigate in that file browser to /boot/grub/menu.lst, and then you will be able to save the changes you have made to the menu.lst.
 
Last edited:
#9
Instead of editing \boot\grub\menu.lst, could I just put the proper commands into C:\NST\menu.lst? I only ask because, if something goes wrong, I want to still be able to boot into ubuntu by changing the boot order in the BIOS. I'm pretty sure that I won't be able to do that if I put (hd1,0) in \boot\grub\menu.lst, because when my ubuntu disk comes first in the boot order, Grub sees it as (hd0) not (hd1). Basically, keeping the UUID in there would make things easier for me if I screw up.

So I was thinking I could replace my current C:\NST\menu.lst:
# NeoSmart NeoGrub Bootloader Configuration File
#
# This is the NeoGrub configuration file, and should be located at C:\NST\menu.lst
# Please see the EasyBCD Documentation for information on how to create/modify entries:
# EasyBCD Documentation Home - NeoSmart Technologies Wiki

find --set-root --ignore-floppies /boot/grub/menu.lst
configfile /boot/grub/menu.lst

# All your boot are belong to NeoSmart!
with this:
# NeoSmart NeoGrub Bootloader Configuration File
#
# This is the NeoGrub configuration file, and should be located at C:\NST\menu.lst
# Please see the EasyBCD Documentation for information on how to create/modify entries:
# EasyBCD Documentation Home - NeoSmart Technologies Wiki

root (hd1,0)
kernel /boot/vmlinuz-2.6.27-9-generic root=(hd1,0) ro quiet splash
initrd /boot/initrd.img-2.6.27-9-generic
quiet

# All your boot are belong to NeoSmart!
Even if that works, maybe I would have to add a "boot" command at the end?

Addendum:

Then again, I may have a more serious problem than I thought. It looks like grub4dos cannot even read from my linux partitions at the command prompt (it can detect them--they are ext3 partitions, although grub4dos detects them as ext2fs). For example, "find /boot/grub/menu.lst" gives me "Error 17: File not found." "find /NST/menu.lst" does work and gives me the Vista partition. This is especially troubling since I seem to have the same problem within Vista when using explore2fs (can't see any files on the partitions). Then again, the partitions must work sometimes since I can boot into ubuntu after changing the BIOS... Quite a mystery to me!

Maybe I'm going to have to repartition and reinstall ubuntu to get this to work. I'll keep you posted.
 
Last edited:
#10
Instead of editing \boot\grub\menu.lst, could I just put the proper commands into C:\NST\menu.lst? I only ask because, if something goes wrong, I want to still be able to boot into ubuntu by changing the boot order in the BIOS. I'm pretty sure that I won't be able to do that if I put (hd1,0) in \boot\grub\menu.lst, because when my ubuntu disk comes first in the boot order, Grub sees it as (hd0) not (hd1). Basically, keeping the UUID in there would make things easier for me if I screw up.

So I was thinking I could replace my current C:\NST\menu.lst:

with this:

Even if that works, maybe I would have to add a "boot" command at the end?
Personally, I think it would be easier to change your Ubuntu menu.lst, and then simply add an Ubuntu entry in EasyBCD, under the Linux tab, leaving either the box titled "Grub isn't installed to the bootsector" unchecked (which will give you an entry that works with Bootpart), or checking that box (which will give you an entry that works with NeoGrub, which will read the Ubuntu menu.lst on the Ubuntu partition in that instance). All you need to do, as has been previously stated is replace the bolded UUIDs which I pointed out in my last post with "root (hd1,0)" without the quotes, and it should work fine. :wink:
Addendum:

Then again, I may have a more serious problem than I thought. It looks like grub4dos cannot even read from my linux partitions at the command prompt (it can detect them--they are ext3 partitions, although grub4dos detects them as ext2fs). For example, "find /boot/grub/menu.lst" gives me "Error 17: File not found." "find /NST/menu.lst" does work and gives me the Vista partition. This is especially troubling since I seem to have the same problem within Vista when using explore2fs (can't see any files on the partitions). Then again, the partitions must work sometimes since I can boot into ubuntu after changing the BIOS... Quite a mystery to me!

Maybe I'm going to have to repartition and reinstall ubuntu to get this to work. I'll keep you posted.
Don't use "find /boot/grub/menu.lst", use "find /boot/grub/stage1" after first getting to a grub prompt by running "sudo grub" in the Terminal. This command should locate grub for you, and tell you where exactly grub is located at the moment, which should be at "hd1" (that is...if your second drive is still second in the BIOS), or possibly "hd0" which would be if your second drive is now first in the BIOS drive order.

Let us know if it works. :smile:

-Coolname007
 

JustinW

Super Moderator
Staff member
#11
Instead of editing \boot\grub\menu.lst, could I just put the proper commands into C:\NST\menu.lst? I only ask because, if something goes wrong, I want to still be able to boot into ubuntu by changing the boot order in the BIOS...

...Then again, I may have a more serious problem than I thought. It looks like grub4dos cannot even read from my linux partitions at the command prompt (it can detect them--they are ext3 partitions, although grub4dos detects them as ext2fs)...

... Then again, the partitions must work sometimes since I can boot into ubuntu after changing the BIOS... Quite a mystery to me!...
1) Yes if you're using neogrub in the manual configuration which you probably are since a menu.lst is present at \NST. In this case, you already know the one at /boot/grub/menu.lst on your linux partition is perfectly fine since you can boot Ubuntu normally by changing boot device. So delete the contents of the entries in \nst\menu.lst and copy over from the Ubuntu one. Than you just need to change x in the "root (hdx,y) lines in \nst\menu.lst so it is pointing to the right disk (most likely 1 here)

2) Yeah notice ext2 in your description there. I think ext2 and ntfs at the basic level is all grub4dos supports at the moment. So stick to ext2 for your linux installs. Ext2fs in Windows was only designed to support reading/writing to ext2 partitions. Ext3 is supposedly backwards compatible, but there are new features like anything else so you wouldn't be able to use files on the partition taking advantage of features provided with the ext3 filesystem.

3) It works "sometimes" because you're booting directly from the device. Normal grub (at least the one that comes with Ubuntu) can read ext3 because it allows you to install Ubuntu to an ext3 partition.

...If Grub installed to the MBR, wouldn't it also have installed to the PBR of some partition (presumably the first primary)?...

...To kairozamorro: I did not install Neogrub manually. It installed automatically when I added the Linux entry in EasyBCD with the little box checked...
1) Not always. It might depending on the OS's installer, but for the most part it doesn't. Look at cools post above correcting me for it...

2) Ok, so we've established its in the automatic configuration. The problem here is that it will use the menu.lst from the linux partition which in turn you'd need to modify the entries there in order to get it working which goes against your wishes to have it be bootable on its own. So uninstall neogrub in the neogrub tab in EasyBCD, remove the linux entry, and than click install to re-install it. Follow my advice above to copy /boot/grub/menu.lst to \nst\menu.lst and modify it.
 
#12
1) Yes if you're using neogrub in the manual configuration which you probably are since a menu.lst is present at \NST. In this case, you already know the one at /boot/grub/menu.lst on your linux partition is perfectly fine since you can boot Ubuntu normally by changing boot device. So delete the contents of the entries in \nst\menu.lst and copy over from the Ubuntu one. Than you just need to change x in the "root (hdx,y) lines in \nst\menu.lst so it is pointing to the right disk (most likely 1 here)
Yeah, in your question you posted in the following quote, you left out the title part of the Ubuntu menu.lst Ubuntu entry. That goes above the "root (hd1,0)" part, and would look something like this: title Ubuntu 8.10, kernel 2.6.27-7-generic

Instead of editing \boot\grub\menu.lst, could I just put the proper commands into C:\NST\menu.lst? I only ask because, if something goes wrong, I want to still be able to boot into ubuntu by changing the boot order in the BIOS. I'm pretty sure that I won't be able to do that if I put (hd1,0) in \boot\grub\menu.lst, because when my ubuntu disk comes first in the boot order, Grub sees it as (hd0) not (hd1). Basically, keeping the UUID in there would make things easier for me if I screw up.

So I was thinking I could replace my current C:\NST\menu.lst:

with this:

# NeoSmart NeoGrub Bootloader Configuration File
#
# This is the NeoGrub configuration file, and should be located at C:\NST\menu.lst
# Please see the EasyBCD Documentation for information on how to create/modify entries:
# EasyBCD Documentation Home - NeoSmart Technologies Wiki

root (hd1,0)
kernel /boot/vmlinuz-2.6.27-9-generic root=(hd1,0) ro quiet splash
initrd /boot/initrd.img-2.6.27-9-generic
quiet


# All your boot are belong to NeoSmart!
But I still think it would be easier modifying your Ubuntu menu.lst, and then adding a Ubuntu entry in EasyBCD, with the auto-config...:wink:

-Coolname007
 
Last edited:

JustinW

Super Moderator
Staff member
#13
Instead of editing \boot\grub\menu.lst, could I just put the proper commands into C:\NST\menu.lst? I only ask because, if something goes wrong, I want to still be able to boot into ubuntu by changing the boot order in the BIOS.
As you can see cool, he doesn't want it that way and I don't blame him. I used to dual-boot fedora/ubuntu from an external drive and though I had a working entry in my vista bootloader for it I still wanted to be able to have the option to boot from the external drive. So to get around this he must use neogrub manually and copy over the entries to \nst\menu.lst.
 
#14
Thanks for all the help guys. It looks like I'm probably going to have to reinstall ubuntu onto ext2 partitions if want to get this to work, because NeoGrub just won't read files off the ext3 partition.

One final question before I give up with the install and reformat: is it possible to use NeoGrub simply to chainload the MBR of my second disk? Something like:

rootnoverify (hd1)
chainloader +1
boot
 
#15
Thanks for all the help guys. It looks like I'm probably going to have to reinstall ubuntu onto ext2 partitions if want to get this to work, because NeoGrub just won't read files off the ext3 partition.
No, NeoGrub can read files off an ext3 partition just fine...:wink: I have personally used it to boot my ext3 Ubuntu 8.10 partition, just like you're trying to do...and it worked fine. :smile: And so I know it works. That's not the problem...the real question that remains here is if you have followed mine and Justin's directions, to see a successful boot. If you had done that, it would most likely be working right now...providing of course you don't have some other problem (like with a corrupt bootsector, for instance...) remaining with your Ubuntu partition, which is actually quite possible. :wink: But before we delve into that, I would like a simple question answered...

Have you or have you not tried following our directions, to the letter, in regard to installing Grub to the Ubuntu partition, using those commands I gave you, and tried adding a Ubuntu entry in EasyBCD? That question requires a simple yes or no. :smile:

Because until we get that question answered, I'm afraid we wont be able to help you any further, since we're not sure what exactly you have tried so far... :wink:

-Coolname007
 
Last edited:

JustinW

Super Moderator
Staff member
#16
One final question before I give up with the install and reformat: is it possible to use NeoGrub simply to chainload the MBR of my second disk? Something like:
rootnoverify (hd1)
chainloader +1
boot
Yes but doing so would be as if you're booting from the device directly with the side effect that it would still be considered the 2nd drive in the system and therefore it would use the menu.lst at /boot/grub with the incorrect entries...

Format in ext2 as my post above explains and you should be ok.
 
#17
Yes but doing so would be as if you're booting from the device directly with the side effect that it would still be considered the 2nd drive in the system and therefore it would use the menu.lst at /boot/grub with the incorrect entries...

Format in ext2 as my post above explains and you should be ok.
Yes, and then he will still need to edit his Ubuntu menu.lst! :grinning: So either way, he's going to have to edit it, like it or not...:wink:

Frankly, I'm not sure why he's having so much unwilliness to at least try it, to see if it works...especially since he could always backup his Ubuntu menu.lst before editing it, and if something goes wrong, he could simply replace what's in his (screwed-up) menu.lst with what's in his backed up version, and everything would be back to the way it was before. :wink:

-Coolname007
 
#18
Success! I used the commands from my previous post to chainload the MBR of (hd1), and booted into ubuntu. I didn't need to change /boot/grub/menu.lst, I think because all the partitions there are identified using UUID not (hdx,y).

If that hadn't worked, I would have installed grub to the PBR of (hd1,0) and then used the add entry tool without checking "Grub not installed," as Coolname suggested in one of his early replies. I'm guessing that would have worked and saved a lot of trouble for everyone. My apologies Coolname, I hadn't done that yet because I had gotten a bit confused about your instructions earlier and then forgot about them... :frowning:

No, NeoGrub can read files off an ext3 partition just fine...:wink: I have personally used it to boot my ext3 Ubuntu 8.10 partition, just like you're trying to do...and it worked fine. :smile: And so I know it works. That's not the problem...the real question that remains here is if you have followed mine and Justin's directions, to see a successful boot. If you had done that, it would most likely be working right now...providing of course you don't have some other problem (like with a corrupt bootsector, for instance...) remaining with your Ubuntu partition, which is actually quite possible. :wink:
I'm pretty positive NeoGrub was not reading off that partition. That's because if I ran grub from the ubuntu terminal (i.e. using ubuntu's version of grub), and typed the command "find /boot/grub/menu.lst" or "find /boot/grub/stage1", it would return the correct partition. Now, if I typed in the same commands at the grub4dos prompt, I would get error messages (file not found).

Another piece of evidence comes from my difficulties with another approach suggested by kairozamorro. I tried replacing the contents of C:\NST\menu.lst with /boot/grub/menu.lst. The menu came up as normal, and I selected the first option. When NeoGrub reached the "kernel..." command after, it returned "Error 2: Bad file or directory type." I'm guessing that was because it simply couldn't read the file on the partition. That's because those very same commands yield a proper boot when Grub uses to boot directly from my linux drive, so I know the kernel file is there and that it works.

As for why it's not reading my ext3 partition, I'm not sure. I'm running Vista 64-bit, so maybe NeoGrub can't read ext3 from Vista 64 (but it can from Vista 32)? I'm wondering if this might be a larger problem with NeoGrub and Vista 64 (at least for ext3), or if it's just something peculiar about my system.

Anyway, I realize I've been a pain and stubborn as hell, so thanks again you two for all your help. Let me know if you've got any more questions for me.
 

JustinW

Super Moderator
Staff member
#19
Good :smile: glad uuid lines worked for you cause the other way with configuring everything wouldn't have been much fun. And with root lines instead chainloading wouldn't be possible without modifying menu.lst. Welcome to the linux world.
 
#20
I'm pretty positive NeoGrub was not reading off that partition. That's because if I ran grub from the ubuntu terminal (i.e. using ubuntu's version of grub), and typed the command "find /boot/grub/menu.lst" or "find /boot/grub/stage1", it would return the correct partition. Now, if I typed in the same commands at the grub4dos prompt, I would get error messages (file not found).
The thing is, I don't think Grub4Dos is meant to locate Grub with those commands. :wink: But I don't know enough about NeoGrub (the most recent version of Grub4Dos) to know if it resembles at all the normal, standard, Grub that Ubuntu uses...you will need to ask CG, the creator of NeoGrub, to find out the answer to this question. But I'm guessing that "sudo grub" doesn't work with Grub4Dos, plain and simple. :wink: But you shouldn't relate that back to NeoGrub not being able to read ext3 partitions, because I know for a fact it can, because it does on mine. :smile:
Another piece of evidence comes from my difficulties with another approach suggested by kairozamorro. I tried replacing the contents of C:\NST\menu.lst with /boot/grub/menu.lst. The menu came up as normal, and I selected the first option. When NeoGrub reached the "kernel..." command after, it returned "Error 2: Bad file or directory type." I'm guessing that was because it simply couldn't read the file on the partition. That's because those very same commands yield a proper boot when Grub uses to boot directly from my linux drive, so I know the kernel file is there and that it works.
Again, that is no real surprise that Justin's suggestion didn't work, because I don't think NeoGrub and the standard Grub mix very well. I don't believe you can put your Ubuntu menu.lst entries in your NeoGrub menu.lst, and see it work. :wink: But then again, like I mentioned before, I haven't had enough experience with NeoGrub yet to understand all of its complexities, but it seems like to me that the reason why Justin's suggestion didn't work is because Ubuntu menu.lst entries can not be entered into a NeoGrub menu.lst, because they must use different code...:wink:

Anyhow, I'm glad you finally got it working...despite choosing not to try what I suggested (which would have worked, though, I'm quite sure...)! :lol:

-Coolname007
 
Last edited: