I've been doing a lot of tekkers googling this weekend. I got a new laptop last week and have spent the whole weekend setting it all up.
Basically it came as Windows 10 with 256GB SSD + 1TB HDD. Being a linux web developer (are there any other kind besides Mac? :P), the first plan of action was to get linux on there. When I did a fresh setup a couple of years ago the obvious choice seemed to be Ubuntu and I didn't pay for a functioning version of Windows, so it was all pretty straight forward. Save a little bit of space for the trail version of Windows that I may use once in a blue moon and use the rest for linux.
This time my new laptop came with a full home version of Windows 10 and people don't hate it (and neither do I on first look). And from my last build I actually ended up using most of the space in the Windows partition so I underestimated my use of Windows (mostly for playing Elite Dangerous, but nevermind).
So getting to the point, I had a few choices to make.
- How do I partition my system? Basically I wanted a Dual Boot machine with Windows and Linux on the SSD and with the multimedia data on the HDD which I wanted to be accessible through both systems.
- What version of Linux to install? At my work people have been migrating toward the Mint and Debian camp, but Ubuntu/xOS were probably still the dominant OS-es in use.
Part answer to question 1: How do I partition my system?
After reading about this and that I just decided to split the SSD down the middle, 125GB to each OS (roughly.. some default windows recovery partitions and a linux 8 Gb swap space means it's not exact). Windows 10 had only occupied 39GB at the time of installation and Linux wasn't going take up nearly that amount, so it was a completely no brainer decision in thinking that I had plenty of space for each, so really doesn't matter too much. Now for the clever bit (for me). Setting up the 1TB HDD so that it contained a partition that would store all my Documentuts/Pictures/Downloads/Music/Videos files and that both systems can access and edit. This article provided most of the inspiration on how to do that http://www.howtogeek.com/howto/35807/how-to-harmonize-your-dual-boot-setup-for-windows-and-ubuntu/. I partitioned off 500 GB for that. It was already a NTFS-formated partition so I just had to shrink it down. The only hitch I encountered was that after I had setup all the new home subfolders, my Linux menu links were still pointing to the old /home folders. So what did I do? I deleted the home subfolders and setup symlinks to the new folders on the shared partition. Then I was able to resave them into my Mint 'Places' folder by adding them as bookmarks in the file system. A bit of extra faff, but it all works pretty well!
Answer to question 2: What version of Linux to install?
After doing a bit of reading (and advice of JUST PICK ONE) I decided that I would go with Mint. It wasn't quite as tekkers as Debian (I didn't want to bother with all the potential 'quirks' I might encounter) but it was something different (yet pretty much the same) as Ubuntu. But nevertheless, I encountered a couple of hitches setting it up, mainly from the fact that the hardware was too modern for software (ooh, first world problems ). 1. The first one was related to my bootable USB. I used an old usb and this just didn't work. I fortunately had gotten a new SanDisk Cruzer Edge USB and this worked fine. 2. The second one was related to my NVIDIA graphics cards and was mentioned in the release notes for 17.3 https://www.linuxmint.com/rel_rosa_cinnamon.php. Basically I had to replace 'quiet splash --' with 'nomodeset' and I was off. 3. The third issue was the biggest and potentially show stopping. When I got Mint up and running, it didn't have a driver that picked up my Wifi adapter. WAAAAT??? I had to do the steps outlined in http://askubuntu.com/questions/693109/intel-wireless-8260-unclaimed-network?answertab=votes#tab-top which basically meant me downloading some backported versions of the kernel drivers, changing 1 character in the code and then recompiling the driver to work with my kernel version. It looked scary on first look, but really wasn't so bad (from the fact that it actually worked!). Also a shout out to https://tutorialsformyparents.com/how-i-dual-booted-linux-mint-alongside-windows-10-on-a-uefi-system/ that helped outline the process of the steps of setting up dual boot.
Follow up answer to question 1: How do I partition my system?
125 GB Windows/Mint with 500 GB shared storage leaves me 500 GB of more space on my HDD. What to do? I decided to then setup two partitions in that, one for my linux /home directory (which would contain most of my user specific stuff like drush aliases (drupal related), ssh keys and anything else I wanted to chuck in there, PhpStorm, Sublime, etc...) and one for my /var folder which would contain all my website code and misc /var things. So 50 GB for my /home folder (didn't need too much as all the Documents and things of that nature is already getting stored on the shared storage partition) and 450 GB for /var. This guide pretty much lead the way https://www.maketecheasier.com/move-home-folder-ubuntu/. I repeated the same steps for the /var folder and it worked just as well. The only problem I had when I went to install my local webserver (php, apache, mysql) is that my permissions in for /var/www were wrong but that was easily remedied by setting the correct ones (easy google search).
So there you have it. I don't claim to have the right or wrong answer. Only time will tell if I have setup my system appropriate to me but I reckon that I have so much space it all won't matter and it will all be fine. Oh what a fun weekend I've had...