Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I've recently purchased a SSD where I plan to install Windows 7 from scratch. I't has a SATA 6Gbps interface.

The machine where it is going to be installed is a dual-boot PC with a single HDD containing Windows XP and Ubuntu (and the bootloader). After installing the new SSD it would be a triple-boot system. After Windows 7 is installed, I'll finally replace the old Ubuntu partition with the newer version 12, so it will add a new bootloader recognising all three OSes. I've two questions on how to proceed:

  1. (UPDATE: I removed this point since it was answered in a separate question).

  2. When Windows 7 is installed, it will also install its own bootloader. I don't really mind the drive it gets installed since Ubuntu 12 will reinstall a nice GRUB after that. But I guess the drive with higher boot priority will get its MBR overwritten with the W7 bootloader. Should I configure the new SSD as first boot device, then install W7 (and let the bootloader get installed in the SSD), then change first boot device to HDD and install Ubuntu 12? Or should I let HDD in first place, then connect SDD, install W7 (bootloader will get installed in HDD) then install Ubuntu 12?

Any help will be much appreciated.

Thanks in advance.

share|improve this question

4 Answers 4

So you want to have your old installation of WinXP on the old drive and on the new and fast SSD drive Win7 and Ubuntu 12.04. Ok, then the safer way to proceed is:

  1. remove the old drive and install the new SSD drive
  2. partition the new SSD drive (e.g. using a livecd or even better a USB pen with gparted) to have (at least) three partitions. The first NTFS, the second ext3 or ext4 and the third swapspace.
  3. install Win7 on the new drive
  4. add to the system the old drive
  5. (optional) repartition the old drive to host a ext3/ext4 partition to be used as storage for huge, disk-hungry programs (e.g. eclipse, matlab, etc.). This will somehow load-balance the disks usage without the need of a striped raid. If you don't plan to dismiss your WinXP soon and if you think you'll need a similar thing on Win7, create also another NTFS partition.
  6. install Ubuntu on the new drive, indicating the newly created swapspace and the new disk's MBR (/dev/sdx - grub2 doesn't love to be installed inside a partition) as destination for the boot loader.
share|improve this answer
In fact it is easier, since I don't need to partition SSD. The Ubuntu 12 installation will overwrite an existing Ubuntu 8 currently installed in the HDD. So the SSD it is going to be entirely for W7. –  Mister Smith May 25 '12 at 7:15
BTW, it is good practice to remove the HDD when installing W7? What are the advantages of doing it instead of installing W7 on the SSD with the HDD already connected? –  Mister Smith May 25 '12 at 7:18
Yes, it's a good practice when installing any Windows OS. Because Win is not like Linux. It doesn't simply look at your drives and continue to do its business. No, it likes to touch (yes, like a child) and this may cause problems to other OSes or just to the user's mental health. –  Avio May 25 '12 at 8:06
Lol, I thought this would have improved in W7 since it installs a bootloader. I expected it to recognise the existing OSes properly. Now I'm starting to think my expectations were to high. –  Mister Smith May 25 '12 at 8:19
Followed your method of removing existing HDD prior installing W7 and everything went OK. One thing I learned is that disk boot order is not configurable in the BIOS, but depends on how the SATA connectors are plugged to the motherboard (each socket has its ordinal). Then installed Ubuntu and immediatelly reformatted its partition since that unity thing is horrible. So installed a new Linux Mint which is a decent ubuntu-based OS and also LTS. I've not seen the sunlight this weekend since I had tons of things to configure XD, but it was worth the effort. –  Mister Smith May 28 '12 at 7:34

I think this happens because at the time Windows XP was installed AHCI was disabled, so it didn't install the AHCI drivers (Am I right?)

You are corrrect. You will have to reinstall Windows XP with AHCI enabled.

Along with the AHCI option, there's another option in BIOS named "SATA port0-3 native mode". I'm totally puzzled about it. Should I enable it also if AHCI is enabled?

Check the documentation for your motherboard.

Should I configure the new SSD as first boot device, then install W7 (and let the bootloader get installed in the SSD), then change first boot device to HDD and install Ubuntu 12? Or should I let HDD in first place, then connect SDD, install W7 (bootloader will get installed in HDD) then install Ubuntu 12?

Windows 7 will appreciate being installed first.

share|improve this answer

Whatever the order of installation, one rule : Do not change the device number of a system device!
That is, unless you wish to have serious problems.

I detail below what I think is the logical way to do this.
(this is entirely theoretical, so my apologies if it doesn't work.)

  • Set the SSD as device 0, and the HDD as device 1. I will call the SSD as C and the HDD as D.
  • Use the XP boot CD to format C as NTFS.
  • Still using the XP boot CD, do Repair Install of the installation on D (hoping the CD can see it). If this works, it will write the "repaired" XP boot code to C as the boot disk, while using D as system disk for XP.
  • Install W7 in dual-boot on C
  • Install Ubuntu in its partition on D and let grub setup the triple-boot.

Take good backups before you start, since the smallest mistake in such operations can cost you the contents of the existing HDD.

share|improve this answer
Why the formatting in step 2? Doesn't W7 let you format the drive? And why the repair? –  Mister Smith May 24 '12 at 15:58
The formatting (and allocating) is to be sure that the C partition is recognized and will have the drive-letter C for XP after fix. The repair is to transfer the boot code of XP to C. Thinking about it, Repair Install itself can be problematic. You might be better off applying all the steps that apply from this article. The first method from it can be done using this other article. –  harrymc May 24 '12 at 20:29

Any answers you get are going to be very subjective, because you haven't fully specified your use-cases or the percentage of time you spend in each OS. I think the only correct answer to your question is, "It depends," or, "Whichever way makes the most sense to you." That said, I think if you take a step back and reassess your needs, you might find that multi-booting is not the best solution in the first place. With CPU virtualization, cheap RAM, and multi-core CPUs, dual/triple-booting is unnecessary in most cases, and at the very least, it's inconvenient.

Personally, I would install the OS that you use the most often on the SSD as the host OS, then virtualize the other OSes (i.e., import them into VMware, VirtualPC/Windows XP mode, VirtualBox, XEN, etc.). If you have a fancy graphics card that you use for computationally-intensive tasks in a particular OS (e.g., 3D games or simulations, or scientific computations), you might want to make that your host OS and run the other OSes in VMs. There are several reasons to do this over dual/triple-booting:

  • You never have to reboot to run the other OS (on a multi-boot system, it's a hassle having to close your programs and boot into another OS).
  • You can set up shared folders between the host OS and the VMs, so you can save a file in one OS and immediately access it in the other without rebooting.
  • You can drag and drop files between the host OS and the VMs.
  • If the VMs are small enough, they can also live on the SSD. And if they grow too large or if you need to free up space, it's easy to move them to another disk without repartitioning.
  • You can suspend the VMs whenever you want, so if you need to reboot the host OS, you usually won't have to close any programs or documents in the other OSes.
  • Some virtualization software even lets you configure the VMs to start up when the host OS boots.
  • Some virtualization software allows you to convert a physical machine or hard drive backup into a VM.
  • Most virtualization software now offers a "seamless" mode (in VMware, it's called Unity), where programs running in the VMs can be displayed as windows in the host OS.

If you really want to, some virtualization software (e.g., VMware Workstation) also allows you to mount the raw disk in a VM, without converting it to a virtual hard disk image (.vmdk, .vhd, etc.). However, it can be dangerous to modify the that disk's contents from the host OS.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.