I've just completed a new build and I am planning to install and use Linux for the first time in the form of a dual boot with Windows 7 Ultimate & the latest Ubuntu release. I intend to use a 120GB SSD for the OS's and most applications, and to store other data on a 1TB HDD.

After scouring forums on the topic of partitioning drives for this sort of dual boot, I've come up with the following partition scheme, and I am looking for feedback on it:

SSD - 120GB (Samsung 840 EVO):

  • [C:] 60GB (NTFS) -> Windows system partition
  • [sda1] 20GB (ext4) -> /
  • [sda2] 10GB (ext4) -> /home ... (symbolic links to folders for docs, media files, etc moved to HDD)
  • [sda3] 10GB (ext4) -> /usr
  • ~20GB -> unallocated

HDD - 1TB (Western Digital Caviar Blue)

  • [D:] ~700GB (NTFS) -> Windows data partition
  • [sdb2] ~300GB (ext4) -> Ubuntu data partition (folders for docs, media files, etc moved from /home on SSD)
  • [sdb3] 4GB (ext4) -> /var
  • [sdb4] 8GB (ext4) -> /swap (= my 8GB RAM)


  • Is this partition scheme reasonable for what I'm trying to do and my usage (usage described below)?
  • Are each of the partition sizes reasonable and appropriate?
  • Do I need a /boot partition? Am I missing any other advisable partitions or including unnecessary ones?
  • I've read conflicting advice about leaving unallocated space on SSDs. Is this necessary? Would I be better off allocating some/all of that space to Windows, or something else?
  • Is it a better practice to create a separate NTFS partition on HDD for data sharing between the Windows/Ubuntu than to just access the "Windows data" NTFS partition from Ubuntu?

If I am misunderstanding anything please let me know that too.

Notes about my usage: I will be using Windows 7 for most day-to-day work as well as 3D computer graphics work (applications such as Maya, Unity). I will be using Ubuntu, initially, for some software development work (nothing very intense) and for learning more about Linux in general. I hope to use Ubuntu more and more as time goes on and hope to have some headroom for both OS's.

closed as primarily opinion-based by user68186, user117103, Charles Green, waltinator, George Udosen Dec 29 '17 at 19:12

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    Your /swap should be on your SSD. You should definitely use the remainder of the unallocated space to your Windows Partition - otherwise all your virtual memory usage when running Windows apps will be on your HDD which will slow your system down significantly. You have actually given more than you really need for Ubuntu, based on what you have described I really don't think you need to make / (root), /var and /home and /usr separate partitions. Just stick with / @ 15GB total + the 8GB /swap and give the rest to Windows. Just keep your HDD as NTFS don't need to separate anything. – Benjamin R Apr 2 '14 at 9:49
  • P.S. To be honest, though, 120GB is actually the minimum I would want for a usable Windows 7 Ultimate install, especially if you are using any pro apps like Maya. Don't underestimate the need for available space on an SSD as a scratch disk when running any application like that. Using an HDD for Virtual Memory is really negating the true performance gains of having an SSD. – Benjamin R Apr 2 '14 at 9:56
  • in general, it is a good practice to have at least 3 partitions: 1. / (root) <= 20GB (usually 10GB is enough, but.. that depends on how you install custom software) 2. /home ${as much as you need} 3. swap from 1xRAM size up to 2xRAM size – Rodislav Moldovan Apr 2 '14 at 10:55
  • @BenjaminR personally I put swap on a HDD because I've experienced a broken SSD some years ago. The ideal hardware configuration would have 2 SSD and one HDD, but that would of course cost more. – Eero Aaltonen Nov 20 '14 at 9:21
  • @RyanM: Just to check, will you need disk encryption? – Eero Aaltonen Nov 20 '14 at 9:29

(I) For dual-boot systems with only one hard-drive and assuming you prefer MBR (as GPT are a really bad way to handle your partitioning):

 a) Three PRIMARY Partitions:
    - sda1 ->   C:\      NTFS    [minimum size 50 GB, max size 100 GB] 
    - sda3 ->   /boot    ext2    [300 MB]
    - sda4 ->   /        ext4    [minimum size 20 GB, max size 40 GB]
 b) One EXTENDED Partition:
    - sda2, divided as many LOGICAL partitions as required.

 A nice and handy way to divide the EXTENDED partition can be:
    - sda5 ->  /swap    unformatted [size equal to *three times* your RAM memory]
    - sda6 ->  D:\      NTFS        [size depends on size of hard-drive]
    - sda7 ->  /home    ext4        [minimum size 20 GB]

 Optionally, you can add other LOGICAL partitions (as many as you want), such as:
 - E:\ [NTFS,for back-up purposes], 
 - F:\ [NTFS, for program installation files storage], 
 - G:\ [NTFS, to install your games], 
 - /var, 
 - /usr, 
 - etc.

(II) For dual boot systems with two or more hard-drives simply use the second hard-drive to hold one or more LOGICAL partitions [other than the Linux SWAP partition] that would be located in the EXTENDED partition of the first hard-drive (the one you use to boot your dual boot machine), remembering that it is a good idea always to partition ANY hard-drive in at least two partitions (a smaller PRIMARY and a larger EXTENDED partition).

P.S.: With modern and fast machines with plenty of RAM and space and in the case that you:

(a) must have a Windows program available at all times and

(b) want to take advantage of virtualization,

you can partition your "/home" [file-system ext4] Linux partition to a size of about 60 to 100 GB, install in your Linux system a program such as the freeware VMware Player and use this big partition to hold the file of a virtual machine with WINDOWS 7, 8, Vista or even XP installed and where you can install your must-have Windows program(s).

One particular advantage of this approach is that you can configure your VM without Windows having access to the Internet and thus not be exposed to Windows virii and spyware (simply run Unity to invoke your must-have Windows programs and use your Linux programs to access the Internet). Ain´t that neat?

  • 2
    +1 for the answer, but please use formatting here instead of SHOUTING. – Eero Aaltonen Nov 20 '14 at 9:27
  • I thought swap was supposed to be == total physical memory? – Benjamin R Nov 20 '14 at 19:21

Comment 1: About swap size. Please see this new rule of thumb for swap space

So if you do not use hibernation and your memory is in excess of 1GByte the new rule of thumb is round(sqrt(RAM)) where RAM is obviously your RAM size in GB.

I use for my 8GBytes desktop system 4GBytes for swap size and for my 8GBytes laptop (since I use hibernation) I set it to 11GBytes

Comment 2: Sorry to say but GPT is really GOOD! Say goodbye to MBR limitations. Please learn more here: Make the most of large drives with GPT and Linux

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