Win 7 Ubuntu 10.04 LTS Dual Boot Fails

#1
I am new to using Ubuntu and have installed it by itself on a HDD and have been successful installing a dual-boot configuration with Vista on my laptop, but since I've upgraded to Windows 7 I haven't been able to dual boot with Ubuntu. I'm aware of the issue with Windows 7 installing a small system restore partition during install and have worked around that and have Windows 7 installed on one partition, but it didn't fix the dual-boot problem with Ubuntu.

Ubuntu is installed on a separate 100 GB partition on my hard drive.

Of course, after installing Ubuntu, I had to use the Windows 7 install disc repair tools to repair the MBR to get Windows 7 to boot at all. After that, I installed EasyBCD.

I've tried with the standard release of EasyBCD with no success and have installed the Beta version EasyBCD 2.0 also without success.

I've tried every combination of adding a new entry in EasyBCD 2.0, including GRUB2 and still cannot dual boot.

When I start my laptop, I get the dual-boot option screen showing Windows 7 and Ubuntu (or NeoGRUB, NeoSmart Linux, etc.) with Windows booting OK, but when I select Ubuntu I just get a grub> command prompt.

I've installed the Ubuntu CD and run it from the CD and have looked around the partition that Ubuntu is installed on and it looks like it's all there.

I'm fed up with this dual-boot problem and really miss being able to run Ubuntu...but can't get anything to work.
 

mqudsi

Mostly Harmless
Staff member
#2
Hi,

When you installed Ubuntu, it looks like you opted NOT to install a bootloader with it. Is that correct?
 
#3
I wasn't aware that there was an option for this. I have attempted to install with all default settings, or like this last time, selected the partition that I installed it to.

Is there an option to de-select installation of a bootloader?

I'll format that partition and try again. Do you recommend installation "alongside the existing OS", or in the largest unallocated space option?

Thanks much for the reply!

Addendum:

OK, I deleted the partition that I created, extended volume C: with the former partition so that I would have enough room for install and ended up with a 200 GB partition.

I inserted the live CD and installed Ubuntu with all of the default settings, setup created a 90 GB partition and a 4 GB partition. I then used the Windows 7 disc to repair the MBR (bootrec.exe/fixmbr) and got Windows to boot.

I used EasyBCD 2.0 and added a Linux/BSD entry with the GRUB2 option...

...and still doesn't work.

I still get a GRUB> command prompt when I select NeoSmart Linux from the Boot menu.
 
Last edited:

mqudsi

Mostly Harmless
Staff member
#4
INteresting. What build are you using?
 
#5
hi! same for me
i cant start win7 from the normal grub of ubuntu 10.04... now that i did the bootrec from dos with the /FixMbr i can boot win7 but no way to boot ubuntu again,
i can only start from liveCD and install grub again, but i again cant start win7 like previously
what can i do?
 
#6
I am using:

EasyBCD build 2.0.0.97
Ubuntu 10.04 LTS
Windows 7 Pro 32 Bit
HP Compaq tc4200 Tablet PC, Intel Pentium M @ 2.00 GHz, 2.0 GB RAM
Western Digital 320 GB ATA HDD

As I mentioned in my earlier post, I have had Windows Vista Ultimate on this PC along with a successful dual-boot with Ubuntu 9.10.

Thanks Again!
 
#7
Don't know if you got it working yet..., but here is how I think you might need to install Ubuntu.

Start the installer and figure out which partition you are installing Ubuntu to
On the last step there is a "Advanced" button. It says something like install GRUB to... click the drop down box and click the partition you are installing Ubuntu on to.

The reason why I think you are having problems is because you are installing GRUB to the MBR, then you are wiping it to the Windows Boot Loader

When you choose to install GRUB to a partition it does not overwrite the Windows Boot Loader.

This is how I installed Ubuntu 9.10 with Windows 7 already installed and now I can dual boot happily without disturbance :smile:
 
#8
hi! same for me
i cant start win7 from the normal grub of ubuntu 10.04... now that i did the bootrec from dos with the /FixMbr i can boot win7 but no way to boot ubuntu again,
i can only start from liveCD and install grub again, but i again cant start win7 like previously
what can i do?
Check your /boot/grub/boot.cfg for a mis-configured entry for W7 in Grub2.
And if we're going to help you boot both from the W7 boot menu, you're going to need to post some more info. A screenshot of Disk Management and the EasyBCD View Settings/Debug (Detailed Mode) text (you can copy/paste into your next post) will be a good start. Also, what build of EasyBCD are you using?

Try the latest:
[thread=642]EasyBCD 2.0 Beta Builds[/thread]

Note that when creating an entry for Ubuntu in EasyBCD, you need to select the Grub2 option.
 
#9
OK, I've installed the latest build of EasyBCD 2.0, selected the Grub2 option and I still get the same thing: a grub> command prompt when I select Ubuntu from the boot menu.

Here is a copy of my EasyBCD settings in Debug mode:

Windows Boot Manager
--------------------
identifier {9dea862c-5cdd-4e70-acc1-f32b344d4795}
device partition=C:
description Windows Boot Manager
locale en-US
inherit {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
default {f80ce627-367c-11df-ae38-b87f10f6c533}
resumeobject {f80ce626-367c-11df-ae38-b87f10f6c533}
displayorder {f80ce627-367c-11df-ae38-b87f10f6c533}
{f80ce650-367c-11df-ae38-b87f10f6c533}
toolsdisplayorder {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout 30
displaybootmenu Yes

Windows Boot Loader
-------------------
identifier {f80ce627-367c-11df-ae38-b87f10f6c533}
device partition=C:
path \Windows\system32\winload.exe
description Windows 7
locale en-US
inherit {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
recoverysequence {f80ce628-367c-11df-ae38-b87f10f6c533}
recoveryenabled Yes
osdevice partition=C:
systemroot \Windows
resumeobject {f80ce626-367c-11df-ae38-b87f10f6c533}
nx OptIn

Real-mode Boot Sector
---------------------
identifier {f80ce650-367c-11df-ae38-b87f10f6c533}
device partition=C:
path \NST\AutoNeoGrub0.mbr
description NeoSmart Linux

Also, a screenshot of Disk Management and the Grub> prompt that I get when I attempt to boot Ubuntu:
 

Attachments

#10
I got pretty much the same problem. The only variation is that I have a triple-boot system: Win 7 64-bit, Win XP SP3 (32bit), and Kubuntu 10.04. Win 7 and Win XP boot OK (thanks to EasyBCD), yet Kubuntu does not boot, I get into grub prompt instead.

I installed XP first, long ago, then added a new 2 TB disk and put Win 7 on it. Edited the loader menu with EasyBCD, and made the Win 7 partition the system one (right after Win 7 install, the Win XP partition on the old disk was the system). The disk with Win 7 boots first in BIOS. All disks are SATA.

Then I installed Kubuntu exactly as the guide for Ubuntu here indicates:
1) I made some free space on the 2 TB disk, after the Win 7 and data partitions.
2) I selected "Install on the largest contiguous free space". Kubuntu said it will install ext4 as sdb, partition #5, and swap as sdb, part #6
3) I went to Advanced (in Summary screen) and changed the location of the loader from dev/sda to dev/sdb5. The check-box "Install loader" was checked.
During the install, there were messages about preparing grub2 for dev/sdb5
4) After Kubuntu was installed, I booted into Win 7, started EasyBCD 2 (build 100) and added Kubuntu, with grub2 option.

If I select Kubuntu in the boot menu, the following things appear on the screen (had to use a video camera to catch the first commands):
1) Try (hd0,0) : NTFS5:
2) Get lower
3) Starting cmain()
4) and finally the grub4dos prompt

I issued geometry command at the prompt, but grub4dos recognized only the ntfs partitions.
With root (hdx,y) command, it again could mount all ntfs partitions, but could not mount the linux ones.

Here is EasyBCD info:
Code:
Windows Boot Manager
--------------------
identifier              {9dea862c-5cdd-4e70-acc1-f32b344d4795}
device                  boot
description             Windows Boot Manager
locale                  en-US
inherit                 {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
default                 {9d20d553-75ec-11df-aa22-0019dbb1d8bf}
resumeobject            {a002ac18-2cbd-11df-88ac-b7d015f3b7dd}
displayorder            {a002ac19-2cbd-11df-88ac-b7d015f3b7dd}
                        {9d20d553-75ec-11df-aa22-0019dbb1d8bf}
                        {9d20d555-75ec-11df-aa22-0019dbb1d8bf}
toolsdisplayorder       {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout                 10
displaybootmenu         Yes

Windows Boot Loader
-------------------
identifier              {a002ac19-2cbd-11df-88ac-b7d015f3b7dd}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Windows 7
locale                  en-US
inherit                 {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
recoverysequence        {a002ac1a-2cbd-11df-88ac-b7d015f3b7dd}
recoveryenabled         Yes
osdevice                partition=C:
systemroot              \Windows
resumeobject            {a002ac18-2cbd-11df-88ac-b7d015f3b7dd}
nx                      OptIn

Real-mode Boot Sector
---------------------
identifier              {9d20d553-75ec-11df-aa22-0019dbb1d8bf}
device                  boot
path                    \NTLDR
description             Windows XP

Real-mode Boot Sector
---------------------
identifier              {9d20d555-75ec-11df-aa22-0019dbb1d8bf}
device                  partition=C:
path                    \NST\AutoNeoGrub0.mbr
description             Kubuntu Linux
I copied the grub.cfg from the installed Kubuntu (using the live cd):
Code:
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
  set saved_entry=${prev_saved_entry}
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z ${boot_once} ]; then
    saved_entry=${chosen}
    save_env saved_entry
  fi
}

function recordfail {
  set recordfail=1
  if [ -n ${have_grubenv} ]; then if [ -z ${boot_once} ]; then save_env recordfail; fi; fi
}
insmod ext2
set root='(hd1,5)'
search --no-floppy --fs-uuid --set 9df03469-8270-44ec-9d78-0499a724b5a5
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  insmod gfxterm
  insmod vbe
  if terminal_output gfxterm ; then true ; else
    # For backward compatibility with versions of terminal.mod that don't
    # understand terminal_output
    terminal gfxterm
  fi
fi
insmod ext2
set root='(hd1,5)'
search --no-floppy --fs-uuid --set 9df03469-8270-44ec-9d78-0499a724b5a5
set locale_dir=($root)/boot/grub/locale
set lang=en
insmod gettext
if [ ${recordfail} = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, with Linux 2.6.32-21-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd1,5)'
    search --no-floppy --fs-uuid --set 9df03469-8270-44ec-9d78-0499a724b5a5
    linux    /boot/vmlinuz-2.6.32-21-generic root=UUID=9df03469-8270-44ec-9d78-0499a724b5a5 ro   quiet splash
    initrd    /boot/initrd.img-2.6.32-21-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-21-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd1,5)'
    search --no-floppy --fs-uuid --set 9df03469-8270-44ec-9d78-0499a724b5a5
    echo    'Loading Linux 2.6.32-21-generic ...'
    linux    /boot/vmlinuz-2.6.32-21-generic root=UUID=9df03469-8270-44ec-9d78-0499a724b5a5 ro single 
    echo    'Loading initial ramdisk ...'
    initrd    /boot/initrd.img-2.6.32-21-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
    insmod ext2
    set root='(hd1,5)'
    search --no-floppy --fs-uuid --set 9df03469-8270-44ec-9d78-0499a724b5a5
    linux16    /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    insmod ext2
    set root='(hd1,5)'
    search --no-floppy --fs-uuid --set 9df03469-8270-44ec-9d78-0499a724b5a5
    linux16    /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Professional (on /dev/sda1)" {
    insmod ntfs
    set root='(hd0,1)'
    search --no-floppy --fs-uuid --set 44ec66a9ec6694c8
    drivemap -s (hd0) ${root}
    chainloader +1
}
menuentry "Windows 7 (loader) (on /dev/sdb1)" {
    insmod ntfs
    set root='(hd1,1)'
    search --no-floppy --fs-uuid --set 32902d3d902d08c5
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
And finally, the Disk management screenshot is attached.

I'm very willing to diagnose the problem as much as needed, thanks in advance!
 

Attachments

#11
I installed XP first, long ago, then added a new 2 TB disk and put Win 7 on it. Edited the loader menu with EasyBCD, and made the Win 7 partition the system one (right after Win 7 install, the Win XP partition on the old disk was the system). The disk with Win 7 boots first in BIOS. All disks are SATA.

Then I installed Kubuntu exactly as the guide for Ubuntu here indicates:
1) I made some free space on the 2 TB disk, after the Win 7 and data partitions.
2) I selected "Install on the largest contiguous free space". Kubuntu said it will install ext4 as sdb, partition #5, and swap as sdb, part #6
Since "sdb" means the second HDD in the boot sequence of the BIOS, that means you must have still had XP as first when you installed Kubuntu...
3) I went to Advanced (in Summary screen) and changed the location of the loader from dev/sda to dev/sdb5. The check-box "Install loader" was checked.
During the install, there were messages about preparing grub2 for dev/sdb5
4) After Kubuntu was installed, I booted into Win 7, started EasyBCD 2 (build 100) and added Kubuntu, with grub2 option.

If I select Kubuntu in the boot menu, the following things appear on the screen (had to use a video camera to catch the first commands):
1) Try (hd0,0) : NTFS5:
2) Get lower
3) Starting cmain()
4) and finally the grub4dos prompt

I issued geometry command at the prompt, but grub4dos recognized only the ntfs partitions.
With root (hdx,y) command, it again could mount all ntfs partitions, but could not mount the linux ones.

Here is EasyBCD info:
Code:
Windows Boot Manager
--------------------
identifier              {9dea862c-5cdd-4e70-acc1-f32b344d4795}
device                  boot
description             Windows Boot Manager
locale                  en-US
inherit                 {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
default                 {9d20d553-75ec-11df-aa22-0019dbb1d8bf}
resumeobject            {a002ac18-2cbd-11df-88ac-b7d015f3b7dd}
displayorder            {a002ac19-2cbd-11df-88ac-b7d015f3b7dd}
                        {9d20d553-75ec-11df-aa22-0019dbb1d8bf}
                        {9d20d555-75ec-11df-aa22-0019dbb1d8bf}
toolsdisplayorder       {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout                 10
displaybootmenu         Yes

Windows Boot Loader
-------------------
identifier              {a002ac19-2cbd-11df-88ac-b7d015f3b7dd}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Windows 7
locale                  en-US
inherit                 {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
recoverysequence        {a002ac1a-2cbd-11df-88ac-b7d015f3b7dd}
recoveryenabled         Yes
osdevice                partition=C:
systemroot              \Windows
resumeobject            {a002ac18-2cbd-11df-88ac-b7d015f3b7dd}
nx                      OptIn

Real-mode Boot Sector
---------------------
identifier              {9d20d553-75ec-11df-aa22-0019dbb1d8bf}
device                  boot
path                    \NTLDR
description             Windows XP

Real-mode Boot Sector
---------------------
identifier              {9d20d555-75ec-11df-aa22-0019dbb1d8bf}
device                  partition=C:
path                    \NST\AutoNeoGrub0.mbr
description             Kubuntu Linux
I copied the grub.cfg from the installed Kubuntu (using the live cd):
Code:
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
  set saved_entry=${prev_saved_entry}
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z ${boot_once} ]; then
    saved_entry=${chosen}
    save_env saved_entry
  fi
}

function recordfail {
  set recordfail=1
  if [ -n ${have_grubenv} ]; then if [ -z ${boot_once} ]; then save_env recordfail; fi; fi
}
insmod ext2
[B]set root='(hd1,5)'[/B]
search --no-floppy --fs-uuid --set 9df03469-8270-44ec-9d78-0499a724b5a5
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  insmod gfxterm
  insmod vbe
  if terminal_output gfxterm ; then true ; else
    # For backward compatibility with versions of terminal.mod that don't
    # understand terminal_output
    terminal gfxterm
  fi
fi
insmod ext2
[B]set root='(hd1,5)'[/B]
search --no-floppy --fs-uuid --set 9df03469-8270-44ec-9d78-0499a724b5a5
set locale_dir=($root)/boot/grub/locale
set lang=en
insmod gettext
if [ ${recordfail} = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, with Linux 2.6.32-21-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    [B]set root='(hd1,5)'[/B]
    search --no-floppy --fs-uuid --set 9df03469-8270-44ec-9d78-0499a724b5a5
    linux    /boot/vmlinuz-2.6.32-21-generic root=UUID=9df03469-8270-44ec-9d78-0499a724b5a5 ro   quiet splash
    initrd    /boot/initrd.img-2.6.32-21-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-21-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    [B]set root='(hd1,5)'[/B]
    search --no-floppy --fs-uuid --set 9df03469-8270-44ec-9d78-0499a724b5a5
    echo    'Loading Linux 2.6.32-21-generic ...'
    linux    /boot/vmlinuz-2.6.32-21-generic root=UUID=9df03469-8270-44ec-9d78-0499a724b5a5 ro single 
    echo    'Loading initial ramdisk ...'
    initrd    /boot/initrd.img-2.6.32-21-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
    insmod ext2
    [B]set root='(hd1,5)'[/B]
    search --no-floppy --fs-uuid --set 9df03469-8270-44ec-9d78-0499a724b5a5
    linux16    /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    insmod ext2
    [B]set root='(hd1,5)'[/B]
    search --no-floppy --fs-uuid --set 9df03469-8270-44ec-9d78-0499a724b5a5
    linux16    /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
[/code[
[/quote]See all the [B]bold[/B]ed lines above? Change all the 1s to 0s instead, and Kubuntu should now boot. Since you installed Kubuntu on the second HDD according to the BIOS, then after the install, changed the boot sequence, and made W7's HDD as first, Grub2 is no longer looking in the right places.
[quote]
[code]
### BEGIN /etc/grub.d/30_os-prober ###
[B]menuentry "Microsoft Windows XP Professional (on /dev/sda1)" {
    insmod ntfs
    [/B][B]set root='(hd0,1)'
    search --no-floppy --fs-uuid --set 44ec66a9ec6694c8
    drivemap -s (hd0) ${root}
    chainloader +1
}[/B]
[/quote]Replace the bolded entry with this:

[code]menuentry "Microsoft Windows XP Professional (on /dev/sdb1)"  {
drivemap (hd0) (hd1)
drivemap (hd1) (hd0)
set root=(hd0)
chainloader  (hd1,1)+1
Code:
menuentry "Windows 7 (loader) (on /dev/sdb1)" {
    insmod ntfs
    [B]set root='(hd1,1)'[/B]
    search --no-floppy --fs-uuid --set 32902d3d902d08c5
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
And finally, the Disk management screenshot is attached.

I'm very willing to diagnose the problem as much as needed, thanks in advance!
Change the final bolded line to (hd0,1), and you should be all set, and you'll be able to boot all systems with the Ubuntu HDD as first in the boot sequence if you have to, as well as boot all systems now with your current setup booting from the W7 HDD.

Cheers.

Addendum:

OK, I've installed the latest build of EasyBCD 2.0, selected the Grub2 option and I still get the same thing: a grub> command prompt when I select Ubuntu from the boot menu.

Here is a copy of my EasyBCD settings in Debug mode:

Windows Boot Manager
--------------------
identifier {9dea862c-5cdd-4e70-acc1-f32b344d4795}
device partition=C:
description Windows Boot Manager
locale en-US
inherit {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
default {f80ce627-367c-11df-ae38-b87f10f6c533}
resumeobject {f80ce626-367c-11df-ae38-b87f10f6c533}
displayorder {f80ce627-367c-11df-ae38-b87f10f6c533}
{f80ce650-367c-11df-ae38-b87f10f6c533}
toolsdisplayorder {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout 30
displaybootmenu Yes

Windows Boot Loader
-------------------
identifier {f80ce627-367c-11df-ae38-b87f10f6c533}
device partition=C:
path \Windows\system32\winload.exe
description Windows 7
locale en-US
inherit {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
recoverysequence {f80ce628-367c-11df-ae38-b87f10f6c533}
recoveryenabled Yes
osdevice partition=C:
systemroot \Windows
resumeobject {f80ce626-367c-11df-ae38-b87f10f6c533}
nx OptIn

Real-mode Boot Sector
---------------------
identifier {f80ce650-367c-11df-ae38-b87f10f6c533}
device partition=C:
path \NST\AutoNeoGrub0.mbr
description NeoSmart Linux

Also, a screenshot of Disk Management and the Grub> prompt that I get when I attempt to boot Ubuntu:
Ok, all of that looks good.
Post the contents of your /boot/grub/grub.cfg on your Ubuntu partition, and we'll take a look at that too.
 
Last edited:
#12
Here is the code from /boot/grub/grub.cfg in my Ubuntu Partition:

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
set saved_entry=${prev_saved_entry}
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi

function savedefault {
if [ -z ${boot_once} ]; then
saved_entry=${chosen}
save_env saved_entry
fi
}

function recordfail {
set recordfail=1
if [ -n ${have_grubenv} ]; then if [ -z ${boot_once} ]; then save_env recordfail; fi; fi
}
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 5fc5e33f-c23c-4789-96b9-c2eceaa4da0c
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640x480
insmod gfxterm
insmod vbe
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don't
# understand terminal_output
terminal gfxterm
fi
fi
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 5fc5e33f-c23c-4789-96b9-c2eceaa4da0c
set locale_dir=($root)/boot/grub/locale
set lang=en
insmod gettext
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, with Linux 2.6.32-21-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 5fc5e33f-c23c-4789-96b9-c2eceaa4da0c
linux /boot/vmlinuz-2.6.32-21-generic root=UUID=5fc5e33f-c23c-4789-96b9-c2eceaa4da0c ro quiet splash
initrd /boot/initrd.img-2.6.32-21-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-21-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 5fc5e33f-c23c-4789-96b9-c2eceaa4da0c
echo 'Loading Linux 2.6.32-21-generic ...'
linux /boot/vmlinuz-2.6.32-21-generic root=UUID=5fc5e33f-c23c-4789-96b9-c2eceaa4da0c ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.32-21-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 5fc5e33f-c23c-4789-96b9-c2eceaa4da0c
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 5fc5e33f-c23c-4789-96b9-c2eceaa4da0c
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" {
insmod ntfs
set root='(hd0,1)'
search --no-floppy --fs-uuid --set 8204fd4b04fd42a9
chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

Thanks!!
 
#13
Here is the code from /boot/grub/grub.cfg in my Ubuntu Partition:

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
set saved_entry=${prev_saved_entry}
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi

function savedefault {
if [ -z ${boot_once} ]; then
saved_entry=${chosen}
save_env saved_entry
fi
}

function recordfail {
set recordfail=1
if [ -n ${have_grubenv} ]; then if [ -z ${boot_once} ]; then save_env recordfail; fi; fi
}
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 5fc5e33f-c23c-4789-96b9-c2eceaa4da0c
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640x480
insmod gfxterm
insmod vbe
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don't
# understand terminal_output
terminal gfxterm
fi
fi
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 5fc5e33f-c23c-4789-96b9-c2eceaa4da0c
set locale_dir=($root)/boot/grub/locale
set lang=en
insmod gettext
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, with Linux 2.6.32-21-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 5fc5e33f-c23c-4789-96b9-c2eceaa4da0c
linux /boot/vmlinuz-2.6.32-21-generic root=UUID=5fc5e33f-c23c-4789-96b9-c2eceaa4da0c ro quiet splash
initrd /boot/initrd.img-2.6.32-21-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-21-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 5fc5e33f-c23c-4789-96b9-c2eceaa4da0c
echo 'Loading Linux 2.6.32-21-generic ...'
linux /boot/vmlinuz-2.6.32-21-generic root=UUID=5fc5e33f-c23c-4789-96b9-c2eceaa4da0c ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.32-21-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 5fc5e33f-c23c-4789-96b9-c2eceaa4da0c
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 5fc5e33f-c23c-4789-96b9-c2eceaa4da0c
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" {
insmod ntfs
set root='(hd0,1)'
search --no-floppy --fs-uuid --set 8204fd4b04fd42a9
chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

Thanks!!
(hd0,5) is not right. Go back and check your Disk Management, and count the number of partitions starting from the first one on the left, and see if you can determine for yourself what the 'y' value should be:

(hdx,y)
'x' (HDD) values start at 0, and 'y' (partition) values start at 1 in Grub2. :wink:
I could tell you what it should be, but I want you to learn something from this experience.
 
#14
Change all the 1s to 0s instead, and Kubuntu should now boot.
Thanks for your help! Unfortunately, Linux still does not boot after I changed these 1s to 0s in grub.cfg, as you suggested. I still get into grub4dos prompt.

Coolname007 said:
Since "sdb" means the second HDD in the boot sequence of the BIOS...
I'm not sure. Some Linux wikis say it's the order of SATA ports. Some say it's the order the system loads them and could be random. But this Win 7 drive is booted first, and yet live Kubuntu CD sees it as sdb.

Coolname007 said:
that means you must have still had XP as first when you installed Kubuntu...
No, I gave accurate information. Win 7 is first, and has been that way well before I got the idea to install Kubuntu. I deleted Kubuntu partitions and reinstalled it already 3 times, nothing changes.

How come grub4dos does not even see Kubuntu partitions?
And I thought grub2 works by uuid, so it should not depend on the sdX assignments?
 
Last edited:
#15
Well, I am like a bloody Newbie and without to much attention (only why I work with HDD-Image-Backups).
I have installed Win7, then the EBCD and controled the function of the EBCD-Menu.
For this, I have written in the Name-Field (EBCD - Edit Boot Menu) Test on the End.
If I can see this "Test" on the End of my Win7 Boot menu (Time is setting 10 Sec.) I know, EBCD-Boot-Menu is presend.
The I have tested all Menu, like Standard Win7-Boot, Emergency Win7 Boot and so on.
Was all OK, then I have Installed WinXP, installed EBCD and the same "Play" again, including Win7.
Was this OK, then come the Ubuntu installation.
Ubuntu is easy with EBCD.
Start Booting and in the Ubuntu-Grub-Menu pleasure Win(7).
Win(7) Start up and the go to EBCD, Add new Entry with "Neo Grub 2" (it is automatic detection).
Remember to click " Add Entry".
I was going then to "Edit Boot Menu" and have written my own Text" + click "Save Settings"
Then I have controled in "View Settings" in "Detail (Debug Mode) the Entrys.
Was that OK, so I have restart the Computer and see my Win7-Boot-Menu with all optional Booting-OS:

There are a total of 5 entries listed in the bootloader.
Default: Windows 7 German ORIGINAL
Timeout: 10 seconds
EasyBCD Boot Device: C:\
Entry #1
Name: Windows 7 German ORIGINAL
BCD ID: {current}
Drive: C:\
Bootloader Path: \Windows\system32\winload.exe
Entry #2
Name: Microsoft Windows XP
BCD ID: {53c47a71-2e32-11df-a536-f1da61ff9182}
Device: boot
Bootloader Path: \NTLDR
Entry #3
Name: MACRIUM WinPE 32
BCD ID: {53c47a70-2e32-11df-a536-f1da61ff9182}
Device: [C:]\boot\Macrium32\sources\boot.wim
Bootloader Path: \Windows\System32\Boot\winload.exe
Entry #4
Name: PARAGON NST WinPE Image
BCD ID: {53c47a47-2e32-11df-a536-f1da61ff9182}
Device: [C:]\boot\Paragon\SOURCES\BOOT.WIM
Bootloader Path: \Windows\System32\Boot\winload.exe
Entry #5
Name: NeoSmart Linux Grub
BCD ID: {53c47a72-2e32-11df-a536-f1da61ff9182}
Drive: C:\
Bootloader Path: \NST\AutoNeoGrub2.mbr

The Boot Menu Time -Delay in Grub is on my PC set to 15 Sec.
OK?

Greetings from Germany,

STRUPPI (next Test is MoonOS, Ubuntu is deleted, LinuxMint is in Moment my Favorite)
 

mqudsi

Mostly Harmless
Staff member
#16
Thanks for testing that, STRUPPI :smile:
 
#17
Computer Guru and other gurus, do you guys need any additional info, files, dumps to diagnose the problem with Ubuntu 10.04? Is it normal that grub4dos does not recognize Linux partition?
 
#18
Computer Guru and other gurus, do you guys need any additional info, files, dumps to diagnose the problem with Ubuntu 10.04? Is it normal that grub4dos does not recognize Linux partition?
Please the results of the:

Code:
sudo fdisk -l
(the last character is a lowercase L) command run in the Applications->Accessories->Terminal from the Kubuntu livecd.
 
#19
Here it is:
Code:
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x353e353d

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       12749   102406311    7  HPFS/NTFS
/dev/sda2           12750       60801   385977690    f  W95 Ext'd (LBA)
/dev/sda5           12750       60801   385977658+   7  HPFS/NTFS

Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xbcf62760

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1       12748   102398278+   7  HPFS/NTFS
/dev/sdb2           12749      239122  1818345722+   7  HPFS/NTFS
/dev/sdb3          239122      243202    32770049    5  Extended
/dev/sdb5          239122      243028    31375360   83  Linux
/dev/sdb6          243028      243202     1393664   82  Linux swap / Solaris

Disk /dev/sdc: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x359c359b

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1       60801   488384001    7  HPFS/NTFS
The sd order appears to follow the controller number:
sda is SCSI controller #2 (Win XP disk)
sdb - SCSI #3 (Win 7 and Linux disk)
sdc - scsi #4

The boot order in BIOS is: sdb, sda, sdc

Also, when I open (in a hex editor) the first sector of the Linux partition (sdb5), as reported by GParted (and Ranish Partition Manager too), it's empty. Is not it where grub2 was supposed to put a loader into?
 
#20
Here it is:
Code:
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x353e353d

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       12749   102406311    7  HPFS/NTFS
/dev/sda2           12750       60801   385977690    f  W95 Ext'd (LBA)
/dev/sda5           12750       60801   385977658+   7  HPFS/NTFS

Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xbcf62760

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1       12748   102398278+   7  HPFS/NTFS
/dev/sdb2           12749      239122  1818345722+   7  HPFS/NTFS
/dev/sdb3          239122      243202    32770049    5  Extended
/dev/sdb5          239122      243028    31375360   83  Linux
/dev/sdb6          243028      243202     1393664   82  Linux swap / Solaris

Disk /dev/sdc: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x359c359b

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1       60801   488384001    7  HPFS/NTFS
The sd order appears to follow the controller number:
sda is SCSI controller #2 (Win XP disk)
sdb - SCSI #3 (Win 7 and Linux disk)
sdc - scsi #4
Something like that. I don't know much about hardware, but fdisk follows the SCSI ID conventions which are first determined I think when a new device is connected. Those same SCSI IDs stay the same from then on, I believe, regardless of whether one device is disconnected and then reconnected back, or else the computer would get all confused and the boot would probably always fail.
However, this is normally the same as the BIOS numbering of drives, since most SCSI buses have a host adapter which contains a BIOS program which lets you set which HDD based on the SCSI ID to boot. So, therefore, the boot sequence of the BIOS is usually identical to those HDD values you see in fdisk, though they're not always the same, especially if the host adapter is pretty old (pre-1997).
As for the Grub numbering of HDDs, it always reflects the BIOS numbering, as you can see from this link, though the actual count for partitions are different from Grub to Grub2 (Grub counts the partitions starting at 0, while Grub2 starts the partition numbering at 1 instead). But they both (i.e. Grub and Grub2) always reflect what the boot sequence of the BIOS is.
The boot order in BIOS is: sdb, sda, sdc
Ok, that means Grub4Dos/NeoGrub was initally searching for the Linux bootsector on HDD 0 (hd0,5), which is sdb you say.
That is the correct disk after all.
That means you should change the values back to 0 instead of the 1s I told you to change them to. It also means that the problem comes from somewhere else. Possibly because Grub4Dos (or EasyBCD's version of it, NeoGrub) is unable to read your SCSI disk for some reason. Maybe it has something to do with the Kubuntu partition being a logical partition.
Also, when I open (in a hex editor) the first sector of the Linux partition (sdb5), as reported by GParted (and Ranish Partition Manager too), it's empty. Is not it where grub2 was supposed to put a loader into?
Yeah, there should be boot code in the boot sector of the Linux partition.
When you installed Kubuntu, did you tell it to install Grub2 to the Linux partition?
Maybe it failed to, for some reason.

EDIT: And obviously, since you're coming to a Grub4Dos prompt, the boot was never getting as far as Grub2 to begin with either, so even if the values in the grub.cfg were right with 1s instead of 0, it still wouldn't have booted. I don't know what I was thinking...

Addendum:

What happens when you run these commands at the Grub4Dos prompt:

Code:
root (hd0,4)
kernel /boot/initrd.img-2.6.32-21-generic
boot
? Note that I wrote 4 as the partition value because NeoGrub still uses the 0-based values for partitions, AFAIK, unlike Grub2.
 
Last edited: