Multiboot configuration corrupted after adding HD/Vista

#1
Hi,
I have a box that was set up with Windows2k, Windows XP64, and Ubuntu. Using GRUB I was able to choose which OS I wanted to boot to and everything worked fine. Due to random reboot issues with (and only with) XP64 I purchased a copy of Windows Vista Ultimate 32bit. I didn't want to corrupt my current OSes so I also bought a couple of hard drives and set them up in RAID0 (nForce 4) configuration for the Vista install. I WAS going to disconnect all the other drives before installing Vista to keep it's boot manager's grubby fingers off of the other OSes but once I hooked up the RAID drive my GRUB would no longer boot giving me an Error 22. I tried reinstalling GRUB but no joy. So I then decided to follow the guide here:
How to dual-boot Vista with Linux (Linux is already installed) | APC Magazine

After the Vista install I am able to boot only into Windows 2000 and Vista. For some reason it didn't detect the XP64 and I knew I was going to have to add Ubuntu manually. Next I reinstalled GRUB according to the instructions. It installed into hd2,4 based on the results of the 'find /boot/grub/stage1' command.

Grub reinstall:
Code:
grub> find /boot/grub/stage1
find /boot/grub/stage1
 (hd2,4)
grub> root (hd2,4)
root (hd2,4)
grub> setup (hd
setup (hd
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd2)"...  17 sectors are embedded.
succeeded
 Running "install /boot/grub/stage1 (hd2) (hd2)1+17 p (hd2,4)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
Done.
grub> setup (hd
setup (hd
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd2)"...  17 sectors are embedded.
succeeded
 Running "install /boot/grub/stage1 (hd2) (hd2)1+17 p (hd2,4)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
Done.

geometry (hd2)
drive 0x82: C/H/S = 30401/255/63, The number of sectors = 488397168, /dev/sdb
   Partition num: 4,  Filesystem type is ext2fs, partition type 0x83
   Partition num: 5,  Filesystem type unknown, partition type 0x7
   Partition num: 6,  Filesystem type unknown, partition type 0x7
   Partition num: 7,  Filesystem type unknown, partition type 0x7
grub>

Now here is the 1st problem... when I go to add Ubuntu Linux in EasyBCD THERE IS NO OPTION for hard drive 2, partition 4.
The main Linux partition shows up as hard drive 2, partition 0! I tried this option and it does not boot me into Linux. :frowning:

Output from 'fdisk -lu':
Code:
ubuntu@ubuntu:~$ sudo fdisk -lu

Disk /dev/hdc: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x34e434e3

   Device Boot      Start         End      Blocks   Id  System
/dev/hdc1   *          63   111683879    55841908+   b  W95 FAT32
/dev/hdc2       111683880   312576704   100446412+   f  W95 Ext'd (LBA)
/dev/hdc5       111683943   312576704   100446381    7  HPFS/NTFS

Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0xbc3bbc3b

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *     4193028   488392064   242099518+   7  HPFS/NTFS
/dev/sda2              63     4192964     2096451   82  Linux swap / Solaris

Partition table entries are not in disk order

Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x383e1ca8

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1           16065   488392064   244188000    f  W95 Ext'd (LBA)
/dev/sdb5        10506510   215303129   102398310   83  Linux
/dev/sdb6           16191     6313544     3148677    7  HPFS/NTFS
/dev/sdb7         6313608    10506509     2096451    7  HPFS/NTFS
/dev/sdb8       215303193   488392064   136544436    7  HPFS/NTFS

Partition table entries are not in disk order
Warning: invalid flag 0x0000 of partition table 5 will be corrected by w(rite)

Disk /dev/sdc: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x5b056ae8

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1              63     3148739     1574338+   7  HPFS/NTFS
/dev/sdc2         3148740     6297479     1574370   82  Linux swap / Solaris
/dev/sdc3         6297480    79698464    36700492+   7  HPFS/NTFS
/dev/sdc4        79698465  1250274689   585288112+   f  W95 Ext'd (LBA)

Disk /dev/sdd: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x00000000

Disk /dev/sdd doesn't contain a valid partition table

Disk /dev/sde: 1015 MB, 1015021568 bytes
255 heads, 63 sectors/track, 123 cylinders, total 1982464 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x001d6da1

   Device Boot      Start         End      Blocks   Id  System
/dev/sde1   *          63     1982463      991200+   e  W95 FAT16 (LBA)
Partition 1 has different physical/logical endings:
     phys=(122, 254, 63) logical=(123, 102, 43)

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        7

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

## 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=e8179619-6399-4dbc-ab0a-1db833e9deae ro

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

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

## 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 7.10, kernel 2.6.22-14-generic
root        (hd2,4)
kernel        /boot/vmlinuz-2.6.22-14-generic root=UUID=e8179619-6399-4dbc-ab0a-1db833e9deae ro quiet splash
initrd        /boot/initrd.img-2.6.22-14-generic
quiet

title        Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)
root        (hd2,4)
kernel        /boot/vmlinuz-2.6.22-14-generic root=UUID=e8179619-6399-4dbc-ab0a-1db833e9deae ro single
initrd        /boot/initrd.img-2.6.22-14-generic

title        Ubuntu 7.10, kernel 2.6.20-16-generic
root        (hd2,4)
kernel        /boot/vmlinuz-2.6.20-16-generic root=UUID=e8179619-6399-4dbc-ab0a-1db833e9deae ro quiet splash
initrd        /boot/initrd.img-2.6.20-16-generic
quiet

title        Ubuntu 7.10, kernel 2.6.20-16-generic (recovery mode)
root        (hd2,4)
kernel        /boot/vmlinuz-2.6.20-16-generic root=UUID=e8179619-6399-4dbc-ab0a-1db833e9deae ro single
initrd        /boot/initrd.img-2.6.20-16-generic

title        Ubuntu 7.10, kernel 2.6.20-15-generic
root        (hd2,4)
kernel        /boot/vmlinuz-2.6.20-15-generic root=UUID=e8179619-6399-4dbc-ab0a-1db833e9deae ro quiet splash
initrd        /boot/initrd.img-2.6.20-15-generic
quiet

title        Ubuntu 7.10, kernel 2.6.20-15-generic (recovery mode)
root        (hd2,4)
kernel        /boot/vmlinuz-2.6.20-15-generic root=UUID=e8179619-6399-4dbc-ab0a-1db833e9deae ro single
initrd        /boot/initrd.img-2.6.20-15-generic

title        Ubuntu 7.10, memtest86+
root        (hd2,4)
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/hdc1
title        Microsoft Windows 2000 Professional
root        (hd0,0)
savedefault
makeactive
chainloader    +1


# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title        Windows XP Professional x64 Edition
root        (hd1,0)
savedefault
makeactive
map        (hd0) (hd1)
map        (hd1) (hd0)
chainloader    +1

device.map:
Code:
(fd0)    /dev/fd0
(hd0)    /dev/hdc
(hd1)    /dev/sda
(hd2)    /dev/sdb
(hd3)    /dev/sdc
(hd4)    /dev/sdd

Additionally, I tried to add Windows XP64 to EasyBCD, but for some reason it appears to still be using either the boot.ini or bootloader from Win2k because I get an error stating that \WINNT\SYSTEM32\CONFIG\SYSTEM file is missing or corrupt (while WinXP64 is actually in a \WINDOWS directory). I copied the WinXP64 boot files onto the Vista drive but no improvement.

EasyBCD settings:
Code:
There are a total of 4 entries listed in the Vista Bootloader.
Bootloader Timeout: 10 seconds.
Default OS: Vista_32

Entry #1

Name:  Vista_32
BCD ID:  {current}
Drive:  C:\
Bootloader Path:  \Windows\system32\winload.exe
Windows Directory:  \Windows

Entry #2

Name:  Windows XP64
BCD ID:  {5716b016-9c3e-11dc-bcf8-003018ae10c0}
Drive:  E:\
Bootloader Path:  \NTLDR

Entry #3

Name:  Windows 2000
BCD ID:  {ntldr}
Drive:  D:\
Bootloader Path:  \ntldr

Entry #4

Name:  Ubuntu Linux
BCD ID:  {5716b01a-9c3e-11dc-bcf8-003018ae10c0}
Drive:  D:\
Bootloader Path:  \NST\NeoGrub.mbr

What do I need to do to add Ubuntu and WinXP64 to EasyBCD so they function? I don't mind trying NeoGRUB if you think that will help. I've attached all the info I think will be helpful.


 

Attachments

Last edited:
#2
OK, I've been looking at this more and I'm really confused why EasyBCD lists my Ubuntu partition as Drive 2, Partition 0.... it then lists the two swap partitions after it (when in reality they are prior to the Linux partition)... could this be a bug in EasyBCD?
 

Mak 2.0

Mod...WAFFLES!?!?
Staff member
#3
Actually if you look at the Disk Management screen i am guessing that the first partition shown is the Linux partition at 97.65GB. If you look Vista also recognizes the 2 swap partitions AFTER the Linux install at 1.5 GB and 2.0 GB. So no this isnt a bug in EasyBCD as this is how they are shown in your Disk Management screen.

Also lookin at this pic i see that your Linux partition is on HD2,3 with the XP X64 Swap and the Win2K Swap before it. So maybe if you switch your GRUB to that partition and try that. Maybe that could work.

I see the 2GB Swap partiiton on HD1,0 and the 1.5GB SWAP located at HD3,1. So your partitions look really out of whack compared to what you think they are. The Disk Management picture shows a different setup that what you described.
 
#4
Makaveli213,
Doesn't the extended partition (in which the Linux partition resides) also "count" in the partition number scheme? That would make it hd2,4 as reported by the 'find /boot/grub/stage1' command in Linux. Also, I performed a test where I disabled the new (RAIDed) drives in BIOS. I booted into Ubuntu using a SuperGRUB disk and then setup GRUB on (hd2.4) again. After I rebooted I was able to boot into Ubuntu using GRUB like before I added the hard drives & Vista without the Error 22 message. I bet the Error 22 will again show it's face when I re-enable the drives in BIOS.

The extra SWAP partitions on Hard Disk 3 aren't being used.. I just made the partitions for future use.
 

Mak 2.0

Mod...WAFFLES!?!?
Staff member
#5
But looking at your Disk Management screen you see disk 2. There are the 2 first partitions then the 3rd which i pointed out. There is a 4th NTFS partition but that is AFTER the Linux partition. That partition is 137GB in size. Correct? So from what i am seeing is that Linux and Windows are labeling the drives differently. In Windows Linux is hd2,3 while in Linux it is hd2,4. So there is a discrepancy some where in there that is not being accounted for.

At least this is what i am seeing as i look at your drive setup. Even looking at your 2rd attachment with the pic. Look at that closely. There is unallocated space first. It says 2047.9GB then it gives a tree diagram for the Extended partition table. That is where you are getting confused i think. That initial part of the tree isnt a actual drive itself. That is where your 3 NTFS drives and your Linux drive are located.

The 3 NTFS drives and the Linux drive are making up that "Extended Partition" that Linux is seeing. Which it shouldnt be seeing that way. That is where all the confusion is coming in. Linux is seeing that drive as 4 drives within a extended drive. While Windows is not.
 
#6
Is there a way to completely remove GRUB from Ubuntu, and then reinstall it again having it rebuild the menu.lst and device.map files? I noticed that running GRUB/setup does not do this. Maybe then GRUB would "see" the new drives I installed and adjust the files accordingly....

Let me know what you think...

Thanks!
 

mqudsi

Mostly Harmless
Staff member
#7
GRUB lists all logical partitions (members of an extended partition) from 4, regardless of their order.

So if you had one primary partition, and 3 logical partitions, it would be (hd0,0), (hd0,4) .... (hd0,6)
 
#8
OK, a couple of questions... is there a way to get EasyBCD to do a "drive swap" prior to booting my Windows XP64 or do I have to use GRUB or NeoGRUB for this? I'm concentrating on trying to get my Windows XP64 back up on running with the Vista loader. Windows 2000 loads up fine but I need to do a disk swap to boot up Windows XP or switch the drive order in BIOS to get it to boot up (when I do this I loose the ability to boot up Vista/Windows 2000).

2nd, if I took the menu.lst file from my GRUB would it directly "drop in" to NeoGRUB or would I have to re-adjust some things?

Thanks,
Wayne
 

mqudsi

Mostly Harmless
Staff member
#9
You need to update your boot.ini to get Windows XP x64 to load. Instructions at Windows XP - NeoSmart Technologies Wiki

You should be able to drop-in replace GRUB's menu.lst with NeoGrub's, no questions asked.
 
#10
The thing with the boot.ini files is that I was never able to get NTLDR to boot both my Windows 2000 and Windows XP system with just one boot.ini. I tried many times with different configurations. I guess the reason is that they both point to the same drive & partition. See here:

boot.ini file for Windows 2000:
Code:
;
;Warning: Boot.ini is used on Windows XP and earlier operating systems.
;Warning: Use BCDEDIT.exe to modify Windows Vista boot options.
;
[boot loader]
timeout=5
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /FASTDETECT /USEPMTIMER
boot.ini file for Windows XP64
Code:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Professional x64 Edition" /noexecute=optin /fastdetect /usepmtimer
Believe it or not this setup functioned fine with GRUB. The drive with Windows 2000 came from an older computer on which it was originally installed as a second hard drive and second OS (I think with Windows 95).

This is why I think the SWAP command in GRUB was/is necessary for me to be able to boot into both XP and Windows 2000. I'd love to just drop Windows 2000 but I still use some hardware and programs that do not work with Windows XP or Vista.
On an unrelated topic I think Windows 2000 was a great OS. I originally only switched to XP because it didn't support Cleartype.
 

mqudsi

Mostly Harmless
Staff member
#11
You can't have more than one boot.ini file.
One boot.ini file should contain multiple entries for each of your legacy NT-based operating systems.
 
#12
Yeah, that's how it's supposed to work, I know. Unfortunately I was never able to get it to work that way. :frowning: I tried using the Win2k boot files & boot.ini with no luck, and then the XP64 boot files and boot.ini file with the same results. Needless to say the boot.ini files looked different since I was trying to use one boot.ini file for both OSes so the additional text was there.

It looks like I'm stuck having to use either GRUB or NeoGRUB along with EasyBCD. Oh well, I probably would have to have it anyway to boot into Ubuntu.
 

mqudsi

Mostly Harmless
Staff member
#13
You can't just merge the files, you have to create a boot.ini from scratch references the correct entries... all of them.
 
#14
You can't just merge the files, you have to create a boot.ini from scratch references the correct entries... all of them.
Yes, I did do that... but I think the fact that the drives were not "swapping" prevented this from working correctly.

I tried NeoGRUB last night and it doesn't seem to act the same way as GRUB based on the fact that it's having issues with my menu.lst file which worked under regular GRUB.

First, for some reason NeoGRUB keeps putting itself in two entries. I removed both entries, tried reinstalling NeoGRUB again and again it appears twice. Not a big deal, it functions the same way (I think). Here's the debug info from EasyBCD:

Code:
Windows Boot Manager
--------------------
identifier              {9dea862c-5cdd-4e70-acc1-f32b344d4795}
device                  partition=D:
description             Windows Boot Manager
locale                  en-US
inherit                 {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
default                 {5716b017-9c3e-11dc-bcf8-003018ae10c0}
displayorder            {5716b017-9c3e-11dc-bcf8-003018ae10c0}
                        {5716b016-9c3e-11dc-bcf8-003018ae10c0}
                        {466f5a88-0af2-4f76-9038-095b170dc21c}
                        {5716b01f-9c3e-11dc-bcf8-003018ae10c0}
                        {5716b020-9c3e-11dc-bcf8-003018ae10c0}
toolsdisplayorder       {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout                 10

Windows Boot Loader
-------------------
identifier              {5716b017-9c3e-11dc-bcf8-003018ae10c0}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Vista_32
bootdebug               No
osdevice                partition=C:
systemroot              \Windows
resumeobject            {60961dd5-9c40-11dc-8756-806e6f6e6963}
nx                      OptIn
pae                     ForceDisable
sos                     No
debug                   No

Real-mode Boot Sector
---------------------
identifier              {5716b016-9c3e-11dc-bcf8-003018ae10c0}
device                  partition=C:
path                    \NTLDR
description             Windows XP64

Windows Legacy OS Loader
------------------------
identifier              {466f5a88-0af2-4f76-9038-095b170dc21c}
device                  partition=D:
path                    \ntldr
description             Windows 2000

Real-mode Boot Sector
---------------------
identifier              {5716b01f-9c3e-11dc-bcf8-003018ae10c0}
device                  partition=D:
path                    \NST\NeoGrub.mbr
description             NeoGrub Bootloader

Real-mode Boot Sector
---------------------
identifier              {5716b020-9c3e-11dc-bcf8-003018ae10c0}
device                  partition=D:
path                    \NST\NeoGrub.mbr
description             NeoGrub Bootloader
The menu.lst file I'm using is:
Code:
# NeoSmart NeoGrub Bootloader Configuration File
#
# This is the NeoGrub configuration file, and should be located at D:\NST\menu.lst
# Please see the EasyBCD Documentation for information on how to create/modify entries:
# http://neosmart.net/wiki/display/EBCD

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

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

## 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=e8179619-6399-4dbc-ab0a-1db833e9deae ro

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

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

## 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 7.10, kernel 2.6.22-14-generic
root        (hd2,4)
kernel        /boot/vmlinuz-2.6.22-14-generic root=UUID=e8179619-6399-4dbc-ab0a-1db833e9deae ro quiet splash
initrd        /boot/initrd.img-2.6.22-14-generic
quiet

title        Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)
root        (hd2,4)
kernel        /boot/vmlinuz-2.6.22-14-generic root=UUID=e8179619-6399-4dbc-ab0a-1db833e9deae ro single
initrd        /boot/initrd.img-2.6.22-14-generic

title        Ubuntu 7.10, kernel 2.6.20-16-generic
root        (hd2,4)
kernel        /boot/vmlinuz-2.6.20-16-generic root=UUID=e8179619-6399-4dbc-ab0a-1db833e9deae ro quiet splash
initrd        /boot/initrd.img-2.6.20-16-generic
quiet

title        Ubuntu 7.10, kernel 2.6.20-16-generic (recovery mode)
root        (hd2,4)
kernel        /boot/vmlinuz-2.6.20-16-generic root=UUID=e8179619-6399-4dbc-ab0a-1db833e9deae ro single
initrd        /boot/initrd.img-2.6.20-16-generic

title        Ubuntu 7.10, kernel 2.6.20-15-generic
root        (hd2,4)
kernel        /boot/vmlinuz-2.6.20-15-generic root=UUID=e8179619-6399-4dbc-ab0a-1db833e9deae ro quiet splash
initrd        /boot/initrd.img-2.6.20-15-generic
quiet

title        Ubuntu 7.10, kernel 2.6.20-15-generic (recovery mode)
root        (hd2,4)
kernel        /boot/vmlinuz-2.6.20-15-generic root=UUID=e8179619-6399-4dbc-ab0a-1db833e9deae ro single
initrd        /boot/initrd.img-2.6.20-15-generic

title        Ubuntu 7.10, memtest86+
root        (hd2,4)
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/hdc1
title        Microsoft Windows 2000 Professional
root        (hd0,0)
savedefault
makeactive
chainloader    +1


# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title        Windows XP Professional x64 Edition
root        (hd1,0)
savedefault
makeactive
map        (hd0) (hd1)
map        (hd1) (hd0)
chainloader    +1
When I try to boot into any of the Linux entries I get:
Code:
root (hd2,4)
Error 27: No such Partition
I tried switching the values in menu.lst to (hd2,6) & (hd2,5) with the same results. :frowning:

When I try to boot XP64 from NeoGRUB (which works under GRUB), I get the following:

Code:
root (hd1,0)
Filesystem type is ntfs, partition type 0x7
Savedefault
error occurred while Savedefault
makeactive
map (hd0) (hd1)
map (hd1) (hd0)
chainloader +1
And then it crashes and just sits there.:x
 

mqudsi

Mostly Harmless
Staff member
#15
I don't think you understand. You should have to swap drives (or letters) around or anything of that sort to get multiple copies of Windows to boot from a single boot.ini file.

You just need (as the documentation fully explains) boot.ini, ntldr, and ntdetect.com on your boot drive. Boot.ini should contain a different entry for each of the legacy operating systems you are trying to boot into.

The "map" command in GRUB/NeoGrub is a hack, and absolutely unnecessary for what you're trying to do. A single, properly-composed boot.ini should do the trick, no questions asked.
 
#16
Hmmm, well I finally was able to get all my OSes to boot using GRUB, and as a subset, the EasyBCD menu. It's not pretty but it works. Now I'm going to try giving this boot.ini thing one more shot... going to hit those docs again...

Thanks!