After building my new computer, I wanted to keep the SSD exclusively for Windows 7 and it’s most important applications and games, and have a second mechanical hard drive containing less important apps, games, browser caches, downloads folder, shared media and the pagefile system… all in an effort to avoid frequent random writes and clutter on the SSD. I also wanted a partition on the second drive dedicated to Linux distro-hopping. In my opinion Linux is quick enough that it doesn’t need to be on the SSD.
This how-to shows my procedure for accomplishing the task. I’m very pleased with the results.
1. Install Win7 on the SSD
Be sure to first go into the BIOS and set the boot priority to boot from cd/usb first and SSD second, and set your Storage mode to AHCI (determines how SSD and HDD are handled by the system). Don’t use IDE mode with an SSD.
I tried two different approaches to putting Win7 on the SSD. The normal and most-accepted method is to have only the SSD plugged into it’s SATA3 port, raw (not partitioned at all) and assign the Win7 installer to install on the drive. Windows will then partition the drive with a gpt partition table and efi partitioning. This method accommodates the use of hard drives larger than 2tb in size and enables the use of UEFI BIOS settings adjustments from inside the Windows operating system. It also adds a small “System Reserved” partition for Windows’ own exclusive use… but I don’t know exactly what that use is. In my instance, it simply added an extra 30 seconds to the boot-up time. So I opted for the second approach (pre-partitioning).
My preferred method is to partition the SSD before installing Win7. Some people say this is a bad idea because it eliminates the benefits of efi partitioning (larger HDD’s, UEFI BIOS manipulation), but for me it is better because it quickens the boot time by 30 seconds. It also eliminates the mysterious “System Reserved” partition. My SSD contains only a single large partition formatted to NTFS, and the old-fashioned MSDOS partition table. This method also makes it easier to dual-boot a Linux distro installed in tandem with Windows on the SSD, should I choose to do so (but I don’t).
NOTE: The second method (pre-partitioning) will probably prevent UEFI BIOS working from inside Windows operating system. You’ll still be able to enter and adjust the BIOS normally at boot-up.
To partition the SSD before installing Win7. The SSD should be the only drive plugged into a SATA port at this time. First, boot up into the Xubuntu 12.04 live cd or usb flash drive. Once the Xubuntu desktop loads, go to the System menu and open gparted (the partition manager). You should see the SSD as the only available drive. From the device menu at the top of gparted, choose to create a Partition Table and select MSDOS as the type. Click the “Apply” button. Next, right-click on the drive line Unallocated space in gparted (probably listed as dev/sda) and select “New Partition”. Now set the Alignment option to “None” (from the small dropdown menu near the bottom; your choices are Cylinder, MB, None). The partition size should be the full size of the SSD minus 10% (i.e. leave 10% unallocated space as recommended by the SSD manufacturer). Select the options to be Primary and Unformatted. Click the “Apply” button. Next right-click on the new partition’s line in gparted (probably listed as sda1) and choose the option to format the partition as NTFS. Click the “Apply” button. Now you should have a single, full sized, Primary partition formatted as NTFS on the SSD. The partition won’t show as the actual full size of the SSD because it holds a number of MB’s in reserve for system operations (example: my 128gb SSD has a single partition of 119gb in size). You can now close gparted.
NOTE: In order to perform optimally, an SSD requires a 1mb offset (1mb of empty space in front of the first partition, and between any other partitions). Gparted does this automatically (newer versions of gparted), so no worry. Windows also does this automatically if you choose not to partition beforehand. Once the partition is created, you won’t be able to see the offset in gparted (meaning; it’s not unallocated space).
Now, assuming this all went well for you… you can shut-down the computer and remove the Xubuntu live cd.
It’s time to install Win7. Boot into the Windows 7 installation disk and choose to install Windows on your new, existing NTFS partition and allow the installer to do a Quick-Format of that partition if it is asked of you. After the Windows installation is complete and you have removed the installation disk: Boot into the Windows desktop and you can go to the Control Panel > System > Admin Tools > Partition Mgr and verify that you have a single, full-sized NTFS partition containing the Win7 operating system.
Now you can install the drivers, desired utilities and software that came on your motherboard’s DVD. The UEFI BIOS probably won’t work for you if you chose my second installation method (pre-partitioning). On my Gigabyte motherboard the EasyTune6 software works from within Windows and I have the system auto-overclocked to 4.47ghz (Quick Boost level 3) and it works splendidly with good temperature levels.
Shut down the computer, unplug the power cord.
2. Prepare the 2nd drive
Now you can plug-in the mechanical hard drive. Be sure to use the correct SATA port on the motherboard, depending on whether the hard drive is SATA II or SATA III. Plug the power cord back into your computer. Boot into the Xubuntu live cd.
I have a 750gb WD Caviar Black hard drive as the backbone of my storage needs. In addition to being the home of my Xubuntu 12.04 operating system the drive holds all the media shared between Xubuntu and Win7, backup images of the Win7 partition created with Clonezilla, browser caches for Firefox and Internet Explorer, most of the applications and games installed in Win7, the replay movie cache for the Dirt3 game, Win7 downloads folder and the Win7 pagefile system. Obviously, if this drive happens to die it will leave me with only a marginally functional Windows operating system (maybe even non-functional). But while it is working properly, I love the arrangement. You can see the partition layout for the drive in the picture below. You’ll probably want to adjust the sizes and layout of partitions to better suit your needs. You may want a separate /home partition for Xubuntu and maybe a larger Data partition for shared files. Maybe larger partitions for the pagefile system and Linux Swap if you use Hibernate or Sleep modes with your computer. You might not want the partition for Backups if you save them on an external hard drive (or you don’t make backups… but should). The important thing to remember is that the hard drive can only contain four Primary Partitions. But you can get around this problem by creating three Primary and one Extended Partition. The Extended Partition can contain within an unlimited number of Logical Partitions (limited by the number of gigabytes available when creating the Extended Partition).
UPDATE – Aug. 2013 — I recently added another hard drive to the system. If you’d like to see the new partition scheme… CLICK HERE.
Now running Win7 on the SSD and four Linux systems, two on each mechanical hard drive. Overkill but good fun.
Since the Windows partitioning tool cannot create partitions formatted for Linux, you’ll want to again use gparted to partition and format the hard drive.
Once you have opened gparted, select the hard drive to be partitioned from the drop-down menu at top-right of the gparted interface. My mechanical hard drive is listed as /dev/sdb in the dropdown. Don’t forget to do this first or you’ll mess up the SSD (/dev/sda).
If your hard drive has existing partitions that you’d like to keep… then you’ll need to decide how to work around them. For me, the easiest way to deal with them is to copy their contents over to an external hard drive (or another drive using a docking device) then delete all the existing partitions on this 2nd drive. That way I’m starting with a clean drive for this project.
I’m going to assume that you have a new, unpartitioned and unformatted hard drive to work with.
You have already selected the drive from the dropdown menu (/dev/sdb), right? Now click on the Device menu at the top of gparted and choose to create a new Partition Table, make it MSDOS. Click the “Apply” button.
A. Now to create the partition(s) for Xubuntu. If you want separate /root and /home partitions then create the / partition first. Right-click on the /dev/sdb Unallocated line in gparted and select “New Partition”. Now set the alignment options to “None”. Older hard drives might need the option set to “Cylinder” or “MB”. You’ll probably need to reset the option after creating each partition. If you forget to reset it, you’ll end up with small gaps of unallocated space between partitions. (example: see the picture above). It doesn’t affect performance on newer drives, but looks sloppy. The root (system files) partition for Linux should ideally be between 10 to 20 gb in size. Any larger is unnecessary. Twenty gb will give you plenty of room in the system temporary folder for working with DVD copying and editing. Make root larger only if you do intense video editing, even then it will mostly be wasted space. After you’ve adjusted the size of the partition, choose the options Primary and Unformatted (we’ll do the formatting after the partitions are all created). Click the “Apply” button. Gparted should now show one, small unformatted partition at the far-left of the drive. This will be the root partition for Xubuntu. If you don’t want separate root and /home partitions for Xubuntu you should choose to make this first partition much larger. The size will depend on how much stuff you’ll actually be saving in your Xubuntu personal folders (as opposed to how much stuff you’ll be immediately moving over to the shared-media partition). Personally, I don’t ever keep things for very long in Xubuntu but quickly move it to the shared partition. So, if you don’t want separate root and /home partitions… you should make this first partition 30gb or larger (100gb-300gb ??).
B. (OPTIONAL) Create the separate /home partition for Xubuntu. Right-click on the drive’s Unallocated line and select “New Partition” and adjust the size to whatever you think you’ll need for personal storage and other user accounts (30gb-400gb ??). Select the options Primary and Unformatted, alignment – “None”. Click the “Apply” button. You should now have one small Primary, Unformatted partition at the far-left for the root filesystem and one larger Primary, Unformatted partition in the second spot for the /home partition.
C. Next step: Create a large partition for the less-important Win7 apps, caches, downloads and any other stuff you might want kept separately from the SSD Windows installation. If you plan on installing lots of games into Windows but not on the SSD, then you’ll want this partition to be fairly large (100gb or more). Consider that some current games can easily require 15gb of space, and you’ll also be temporarily storing downloads here. And you’ll also need room for other applications, so you might need even more than 200gb for this partition. Right-click on the drive’s Unallocated space and select “New Partition”. Adjust the size to your needs. Select the options Primary and Unformatted, alignment – “None”. Click the “Apply” button. You should now have two (or three, if you want separate /home for Linux) Primary, Unformatted partitions showing on the left side of the hard drive.
D. You should still have a significant amount of Unallocated space remaining on the hard drive. This space will be made into the Extended Partition which will contain all the other Logical Partitions you need. Right-click on the Unallocated line and select “New Partition”. Leave the size as whatever remains on the hard drive. Select the option Extended Partition. The format option should be greyed out and not selectable. Click the “Apply” button.
NOTE: If you chose to have only one partition for Xubuntu, you can make the third partition (shared storage) a primary partition, then make the fourth an Extended Partition containing only the pagefile and Linux swap partitions. Your choice.
E. Next, create the partition for files shared between Win7 and Xubuntu. Right-click on the Unallocated space (now inside the Extended Partition) and select “New Partition”. Adjust the size to almost fill the entire partition. Leave 10gb-24gb unallocated space, depending on how large you want the Win7 pagefile and Linux swap to be. Example: if you have 8gb ram, then Windows recommends a pagefile size of more than 12gb. Linux recommends the same amount for swap. But if you plan on disabling Sleep and Hibernate these large sizes are unnecessary. Just for safety’s sake we’ll assume you want the recommended size. So let’s leave 25gb unallocated space at the end of the Extended Partition. So, after adjusting the size of your shared partition, choose the options “Logical” and “Unformatted”, alignment – “None”. Click the “Apply” button.
F. Create the partition for the Windows pagefile system. Right-click on the Unallocated space and select “New Partition”. Adjust the size to 13gb. Choose the options “Logical” and “Unformatted”, alignment – “None”. Click the “Apply” button.
G. Create the partition for the Linux Swap partition. Right-click on the Unallocated space and select “New Partition”. Leave the size as whatever remains (should be about 12gb, but if more or less somewhat… don’t worry about it). Choose the options “Logical”, alignment – “None” and format as “Linux Swap”.
Now your partition scheme should be finished, except for formatting. The hard drive should be completely full with either 2 or 3 Primary Partitions and one Extended Partition containing three Logical Partitions. If it all looks good to you, then now’s the time to format the partitions.
H. Right-click on the first partition (sdb1) and select the option to format as ext4. Click the “Apply” button.
I. (Only if you created this partition for a separate /home for Xubuntu) Right-click on the second partition (sdb2) and select the option to format as ext4. Click the “Apply” button.
J. Right-click on the third partition (assuming this is for Win7 apps, etc.) (sdb3) and select the option to format as NTFS. Click the “Apply” button. Right-click on this partition again and select “Manage Labels” and give this partition a name (maybe WIN7-APPS). Click the “Apply” button.
K. Right-click on the next partition (sdb5) and select the option to format as NTFS. Click the “Apply” button. Right-click on this partition again and select “Labels” and give this partition a name (maybe MEDIA or DATA or Shared). Click the “Apply” button.
L. Right-click on the next partition (sdb6) and select the option to format as NTFS. Click the “Apply” button. Right-click on this partition again and select “Labels” and give this partition a name (maybe PAGEFILE or WIN7-PAGING or Page). Click the “Apply” button.
M. The last partition has already been formatted as Linux Swap and doesn’t need a name, but you can label it if so desired.
Your hard drive partitioning scheme should now be fully finished. Make certain you are satisfied with it before actually moving on to the final steps to make it functional. If you decide to make any changes, you’ll need to delete the partitions from right to left til you arrive at the partition requiring modification. Make the changes, then re-make the partitions that were deleted (of course, they will be different also… afterwards). Although it’s possible to modify existing partitions, it can easily become a sloppy mess. So be careful, and try to create the perfect scheme on your first attempt. NOTE: If you chose not to have a separate /home partition for Xubuntu, but followed the outline, you might now have two Primary Partitions rather than three… which will still work as it should.
Also, a reminder that I omitted a step for creating a partition for BACKUPS. If you really want a BACKUPS partition, you can adjust the other partitions as necessary then create the BACKUPS partition NOTE: Clonezilla requires the partition to be formatted as FAT32 (VFAT). My BACKUPS partition is fairly small because I save only one backup image of each Operating System’s root partition (once a month). The other partitions’ backup images from the mechanical hard drive are saved on an external drive. The size of the OS’s root backup images will change from month to month only slightly because I store and install most stuff on the mechanical HDD’s partitions.
You can now close gparted.
3. Install Xubuntu
Since we’re still running off the Xubuntu live cd, we can now install Xubuntu. Double-click the “Install Xubuntu” icon on the desktop and follow the installation procedure. When you reach the step asking how you want to install, choose “Something Else” and you’ll be presented with the gparted interface again.
Choose the correct drive on which to install Xubuntu; select the hard drive from the dropdown menu at the upper-right of gparted (/dev/sdb). Then click on the first partition (sdb1) to highlight it. Now at the bottom of gparted select “Change” or “Modify” which will open the options for mounting and formatting. Choose the option “Use this partition” as ext4, Primary partition, mount point /, and check the format box.
(OPTIONAL for separate /home) Then click on the second partition to highlight it (sdb2) and at the bottom of gparted select “Change” or “Modify” which will open the mount and formatting options. Choose the option “Use this partition” as ext4, Primary partition, mount point /home, and check the format box.
Xubuntu will automatically detect the Linux Swap partition and use it, so no actions are needed there.
NOW: at the very bottom of gparted is a dropdown menu for choosing the location to install the GRUB bootloader. It will show the default as /dev/sda which is your SSD drive. If you want to dual-boot Win7 and Xubuntu by having the GRUB boot screen load at boot-up (and the SSD is set as the first drive option in BIOS) you can leave it as such. BUT: if you don’t want the GRUB boot screen to show up as default, and would rather boot directly into Windows as default… then you will want GRUB installed on the master boot record (MBR) of your 2nd hard drive (/dev/sdb). If you choose to install GRUB onto sdb then, in order to boot into Xubuntu, you will need to use the motherboard’s boot menu to select the 2nd drive as the boot device. You can do this at each boot-up, without changing the BIOS boot priority (which defaults to the SSD… Win7). On my Gigabyte motherboard, I hit f12 key repeatedly at the Gigabyte splash screen to pull up the Gigabyte boot menu. On ASRock motherboards hit the f11 key to pull up the boot menu. So, it’s your choice as to where GRUB should be installed. If you want to dual boot using the grub menu as default = install GRUB on /dev/sda…. If you want to boot into Xubuntu by using the motherboard boot menu = install GRUB on /dev/sdb …. either way, you’ll still be able to boot into Windows.
After you’ve decided where GRUB should be installed, click the button to complete the Xubuntu installation. When it’s finished, reboot, remove the live cd and examine the outcome. After booting into your new Xubuntu installation, open the file manager and you should see, in the left-side pane, all the partitions that you created for Windows… WIN7-APPS, MEDIA, and PAGEFILE, and the Windows system on the SSD included. If all is well, you can move along to optimizing Windows so it works nicely with the SSD and hard drive.
HINT: In Xubuntu, you might like the Gnome System Monitor more than the Xubuntu Task Manager for viewing system info. To install it, open a terminal and enter:
sudo apt-get install gnome-system-monitor
Hit “Enter”, type in your password, hit “Enter”. Wait a few moments for the installation to complete. Open System Monitor and verify that your swap partition is active and the correct size.
4. Tweak Windows 7 and Optimize the SSD Usage
Assuming that Xubuntu and Windows 7 have both been installed and are working as expected, it’s time to start tweaking Windows. Boot into the Windows desktop. Run and install the Windows Updates, probably will take a long time to finish.
Open the Start Menu and click on Computer to verify that the new partitions all show up. They should all be mostly empty.
A. Move the Downloads folder to the hard drive: Open the Windows Explorer file manager and in the left-side pane… right-click on your Downloads folder, select Properties. There you will find the option to move the folder to another drive. Use the tool to change the target location to a folder in your new WIN7-APPS partition. Files downloaded with Internet Explorer or Firefox should automatically go to the new location. When using Xubuntu you can also point the downloads to that folder if desired.
B. Move the Windows Pagefile system to the new PAGEFILE partition on the hard drive: Open Control Panel > System and Security > System > Advanced System Settings > Performance > Advanced > Virtual Memory > Change and click on C: to highlight it, then select “No Paging File”. Click “Set”. Then click on the new PAGEFILE partition to highlight it, click the “Custom Size” radio button and enter the same size in the “Initial” and “Maximum Size” boxes. Make the size a few hundred MB’s smaller than the actual size of the PAGEFILE partition. Click “Set”, then click “OK” to close the windows. You’ll probably need to reboot. NOTE: The Pagefile system is a hidden file and folder, so if you look inside the new PAGEFILE partition it will appear empty. You can un-hide the files by opening Control Panel > Appearance and Personalization > Folder Options and un-check the two hidden folder options.
C. Move Internet Explorer’s cache to the hard drive: Open Internet Explorer, click the “Tools” icon in the upper-right, click “Internet Options” and under the “General” tab in “Browsing Options” “Settings” you’ll find the means to move the cache to your new WIN7-APPS partition. You can also move Firefox’s cache to the hard drive, but it takes a few more steps.
D. Applications: Most installers will give you the option to choose an installation location besides C: but sometimes you need to select the Custom install option for the new application being installed. And sometimes when you select a new location, the installer won’t create a new folder exclusively for that application, It’s a good idea to always create a new folder for the app before installing it to the partition on the hard drive.
E. Hibernation: the Windows Hibernation file takes up a huge chunk of space on your SSD. I disable Hibernate on my system. You’ll find instructions to disable it in the link to Sean’s Guide down below.
F. System Restore is turned-off on my system. Instructions in the link to Sean’s Guide down below.
G. Never defragment the SSD… turn-off defragmenter scheduling. Do defragment the mechanical hard drive…especially after installing a number of apps or large games. Analyze the hard drive, defragment whenever the number of fragmented files rise above 5%.
And here is the link to Sean’s Win7 SSD Optimization Guide which provides plenty of tweaks to improve performance and reduce unnecessary random writes to the SSD.
Best of luck to you.
NOTE: The pictures on this page were taken at different times, so partition names and sizes might not be in agreement with each other.
UPDATE – Aug. 2013 — I recently added another hard drive to the system. If you’d like to see the new partition scheme… CLICK HERE.
My computer specs
cpu: Intel i5 2500K @4.47 ghz (Turbo) Motherboard: Gigabyte GA Z68XP UD3P RAM: Corsair Vengeance Low Profile 1600 8gb (2x4gb) SSD: Samsung 830 128gb HDD: Western Digital Caviar Black 750gb PSU: SeaSonic M12 II Bronze modular 520w Heatsink: Cooler Master Hyper 212+ Case: Lian Lancool DragonLord VideoCard: MSI TwinFrozr II HD 6870 Optical Drive: LiteOn 24x Combo burner Monitor: Dell s2740 l 27″ IPS, 1920 x 1080