4

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.

4 Answers4

1

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.
Avio
  • 957
0

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.

harrymc
  • 498,455
Ramhound
  • 44,080
0

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.

harrymc
  • 498,455
0

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.

rob
  • 14,388