Dual Boot Vista & Linux on separate HDDs

Associate
Joined
2 Jan 2005
Posts
189
Hi All,

I've recently shrunk a partition with Vista so i have about 9Gb of free space. As per this guide.

I've got Ubuntu 7.10 on a live CD, I've gone through the installation wizard, but it's not aware of my Vista installation. My best guess as to why this is happening is because they are both on separate physical HDDs.

The guide says:
"On the "Ready to install" screen, you'll see that Ubuntu now has enough information to commence the installation. In the summary under Migrate Assistant, it should say "Windows Vista/Longhorn (loader)". This means that regardless of whether Ubuntu found any user account to migrate, it certainly knows that Windows Vista is installed on the other partition and is aware of it. Click Install."

I haven't installed Ubuntu yet because I don't want to screw up my ability to boot into Vista.

Has anyone else had this problem? If so what did you do?

Am I right in thinking there is one bootloader on a PC or is there 1 boot loader per HDD (if so does that mean if I point my BIOS to boot from the Vista HDD it will load Vista, or point it towards the Linux HDD and it will load Linux?)

Oh and would, EasyBCD be of any help to me at somepoint?

Any guidance/help would be appreciated.
Alien
 
Hi

If you select a separate hard drive the migrate assistant will not detect the Windows Installation so will not let you import your settings across from Windows.

The boot loader will install on the disk you are installing Ubuntu to. In order to reach the boot loader you must set the computer to boot from that drive before the vista drive. This will give you a choice of Ubuntu or Windows, the default is Ubuntu. If you want to change the default you must install start-up manager after you finish installing ubuntu.

If you set the Windows Drive to boot first, you get no option and it goes straight into Windows. Which is good if someone else is borrowing you computer or you are leaving a house sitter when you go on holiday.

As for EasyBCD i Don't know what it is but it is not needed.

I hope that helps you out.
 
You will still be able to access the Win files in Ubuntu though.
Ubuntu also installs a bootloader called GRUB.

When you switch on your pc you get a black (with white text) screen with O/s choices on it. You have about 8 seconds to make a choice or it will boot the superior O/s by default.

Here's a C& C of my menu.lst (grub loader)

title Ubuntu 7.10, kernel 2.6.22-14-generic
root (hd1,2)
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=aa62207a-d2e7-47a3-8fe0-87af43cfb371 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 (hd1,2)
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=aa62207a-d2e7-47a3-8fe0-87af43cfb371 ro single
initrd /boot/initrd.img-2.6.22-14-generic

title Ubuntu 7.10, memtest86+
root (hd1,2)
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/hda1
title Microsoft Windows NumptyOS Pro
root (hd0,0)
savedefault
makeactive
chainloader +1
 
EasyBCD is brilliant. Slap ubuntu on, make sure grub is installed into the boot drive (i.e; the drive ubuntu is installed on), then put on Vista and install EasyBCD :D
 
I've just done similar.

I booted from the Gutsy Live CD and ran through the installation, selecting a clean and empty hard drive (drive 3) and telling the installer to deal with it by itself.

Once the install was all done and dusted, I have the grub boot menu now with Ubuntu as the default and Vista as the bottom option.

I assume that in the future if I want to remove Ubuntu then it's just a case of blatting that drive because grub would have installed itself on that particular hard disk.
 
See my answer in this thread in the Windows forums.

I've seen too many automatic (GUI) installers making the mistakes and ****ing up the windows MBR to even bother with them myself anymore - they're great on disks where the windows/linux partitions are on the same disks, but if they're not, the installer can be more hassle than they're worth.
 
Hi,

I've finally got round to installing Ubuntu, managed not to screw my VIsta boot up.

I installed Ubuntu on the free space, but chose NOT to install the boot loader becaue I had EasyBCD installed on Vista and thought it'd sort it for me.

Well, I've used EasyBCD and now when I boot up I get the option for Vista or Linux (good times!) but when I boot into linux it goes into command line "thing" (bad times!) kinda like a shell rather than to a nice looking desktop.

I'm guessing this is because I didn't install the boot loader. How can I install the boot loader to the partition of *** HDD where Linux is installed (so as not to screw up the MBR).

I'm sure the answer lies within .walls link but I'm a complete Linux Noob and don't want have a guess since I got this far without breaking anything lol!

Many thanks.
 
Sounds like you need a "startx" in the script. Try typing that at the prompt.

I've had a similar thing happen with a debian 64 install when no Display manager got installed. That took a few reboots (so I could read all the bumph scrolling up the screen) before I realised what Wasn't happening.
 
Having just done a bit of reading I'm certain it's because I didn't install GRUB during installation.

I will def try startx, but if that doesn't work, if i type

setup (hd1,0) - where hd1,0 is the partition where linux is installed (it is the ext3 format)

will that install grub to that partition?
 
Hi - I quickly tried startx last night before going out but it didn't recognise the command, and running setup (hd1,0) didn't work either but I can't remember the error now.

Any suggestions are welcome, thank you.
 
Righty ho... setup (hd1,0) will install the boot loader on the first partition - in this case, we want it on the mbr of the second disk (hd1).

Only problem is... if you haven't installed grub at all, you won't have the necessary files required and the setup command will fail because it can't find the relevent files in /boot/grub (so copy the files from your live cd). Once you have these files, we can go back to grub.

EDIT: just read your previous post - if EasyBCD is working for you, don't bother with GRUB, but you might want to get the GUI issue sorted... have you tried starting gdm?
 
Last edited:
Arg, I'm so confused now! lol - just thought I'd try reinstalling Linux over itself but choose to install the boot loader this time (knowing that I can set it to (hd1)) but now the Live CD has decided it's not happy and just doesn't seem to want to work, and when I ask it to check the CD it errors out in the same way. I might try re-burning the ISO and see if that works.

What's GDM?

This is sooooo annoying, why can't the bleedin' thing just boot into Linux!!
 
In your setup, which OS is on which drive?

I have Linux on one hard disk and Linux on another. Before Linux arrived, Windows was HDD0 in BIOS speak, set to boot after CDROM in the BIOS.

I acquired a new hard disk for Linux and it became HDD0 and Windows became HDD1. I isolated HDD1 by unplugging it before installing Linux.

After the Linux install was complete, I plugged it back in. Now at this stage Linux knows nothing about Windows, so I edited /boot/grub/menu.lst and added :

Code:
# (1) Windows
title Windows
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1,0)
#makeactive
chainloader +1

Map just switches the two drives around so that Windows thinks it's booting from the first physical hard drive.

The beauty of this set up is that in the unlikely event that you decide you no longer want Linux, you can just change the boot order in the BIOS from HDD0 to HDD1.
 
According to Vista's Disk Management:

Disk 0 = 3 x 100Gb partitions (Windows,Games,Videos)

Disk 1 = 4 partitions
2 Partitions are NTFS and are used for Music and Misc
2 Partitions are Linux (one's the ext and ones swap - Linux made these when it was being installed)

After having spent a little time thinking about it and looking around EasyBCD, I belive my error is that I installed Linux without the bootloader on *** assumption that EasyBCD would sort it all for me. Which it hasn't quite managed to do.

I didn't realise, you see, that EasyBCD takes into account GRUB.

I think It's actually a setting problem on my part with EasyBCD - I'm going to have a quick investigate and test and let you know how I get on.
 
Last edited:
Hi,

Ok, I finally managed to boot up the Live CD again. How can I install GRUB to (hd1,0)? I think once this is done I can use EasyBCD.

Many thanks.
 
I'd be tempted to disconnect the win drive then boot the live cd.. go into system/administration/Partition Manager and delete all the tux partitions.

shutdown... reconnect the win drive and live boot the cd again.

THIS TIME..... you know the pitfalls !!
 
Hi,

Ok, I finally managed to boot up the Live CD again. How can I install GRUB to (hd1,0)? I think once this is done I can use EasyBCD.

Many thanks.

Open up a terminal and enter the following commands ( NOTE : You do not enter X,Y on lines 3 and 4 but instead substitute the values from the output from line 2. In my case, I entered root (hd1,1) and setup (hd1) because Ubuntu is on physical hard disk 2, partition 2. Grub counts from zero, so zero is one and one is two. :p ) :

Code:
sudo grub
find /boot/grub/stage1
root (hdX,Y)
setup(hdX)
quit

Below are some screenshots of the whole process:



 
Last edited:
In easyBCD you should add a new entry;

1) Select the Linux tab
2) Select type as GRUB
3) Change the name to something nice; like Ubuntu ;)
4) Select your drive, make sure this is the one GRUB has been installed to

Then click ADD ENTRY, then do NOT forget to SAVE (SAVE SAVE SAVE).
 
OK, I managed to boot from the LiveCD again, but it wouldn't/couldn't see the HDDs.

When I tried find /boot/grub/stage1 it couldn't find it - so I reinstalled Linux (formatting the previous Linux - since I wasn't losing any data). This time I installed Grub to (hd1).

Now I can easily dual boot between Vista and Linux by going into the BIOS and changing the order of the HDDs. The odd thing is in my BIOS settings I can't select a specific HDD, I have to select "Hard Drive", then there's a separate option for the order the HDDs are "looked" at, so I set my second HDD to boot first to get to Linux.

This brings up GRUB, but I have to manually edit the first line because it's pointing at (hd1), but because I changed the order in the BIOS it's now HD0, lol.

Swings and round abouts, eh?

I think I might try and use GRUB as my main loader, when I get home I'll have a look into permanently editing the menu.lst to get Vista to work.

Thank you all so much for your help, it really is much appreciated.

PS. I tried that with EasyBCD and it's didn't work! Not sure why though.
 
Back
Top Bottom