Thursday, October 10, 2013

Linux Dual Booting Adventures - Part 1: Getting the LiveCD Working

Last Wednesday, I finally managed to get the Linux Mint Live CD running on my new laptop, after over a week of failed attempts and a lot of reading online. Moments later, there was a strange wind outside, and the sky looked something like below:

Some backstory of my Windows and Linux experience so far...
For many years, Windows has been my primary operating system. During that time, I've always avoided Macs, since the mental models used there always seemed to alien and tricky to grasp, though I've admittedly come around (due in no part to watching and working alongside some awesome colleagues, and seeing how expert-level Mac users actually used their machines) to the fact that, apart from the 2-3 major dealbreakers for me, there a handful of other ways in which they are actually superior from an HCI perspective - toolbar icon sizes + presentation, file browsing features (e.g. marking/tagging folders, columns view), some good-looking apps (Grapher and Keynote in particular) being top of that list.

From the first computer I ever used in dad's office (a Windows 3.1 box - I still remember the awesome starfield screensaver, Netscape Navigation, and a certain "WinWord" from that thing) to now, I've used a wide range of Windows machines over the years including Windows 95 back at Primary School (back when there were only a handful of these around, and only the "good" kids got to go anywhere near them ;), my first home machine running Windows 98 (and which I learned to program on), a second machine running Windows XP (which I learned to *really* program on, and on which I learnt Blender and started developing Blender), my Toshiba laptop running Vista, and now my HP running Windows 8.

Linux on the other hand has been something I've tinkered with in some for or other for the past decade or so. The story starts around 2004 or so when one thing lead to another, and I ended up downloading (on dialup!) Cygwin to the Windows XP box in order to run tool which only worked on Linux-like systems (and which now has a semi-native setup where it simply contains a stripped-down Linux layout inside its directory) and which piggybacked off TeX to produce its final output. Thus began my association with two of the most important computing tools in my workflow these days!

Fast forward a year or two, and after hearing good things about Linux and LiveCD's, I ended up grabbing Damn Small Linux (DSL), and managed to easily get that running on the XP box. Unfortunately, as a combination of the compromises they had to make to get things to fit on that small distro (and realistically, I was still on dialup at the time, and even downloading 50mb was quite a stretch - GetSmart or something like that; all I remember is that it had a Globe as its icon, and allowed having resumable and multi-segment downloads), the rather rudimentary/90's style themes (with a few quirks) that distros back then employed, the sluggish mouse-gain, and the fact that the damned thing would always crash/hang on shutdown for no good reason, I never really "warmed" to Linux back then. If anything, it was like an exhilarating novelty - hey, I can run this weird operating system on my computer, which lets me browse the internet, but looks nothing like I've ever seen before - than something I'd consider as being a serious replacement OS. The novelty eventually wore off though, and I eventually abandoned playing with it, as Blender development was really taking off (and a lot of fun at the same time!)

My next encounter with Linux was at university. The labs ran a dual-boot setup with Windows XP and Linux (Fedora). Of course, the Windows setup was administered by the university IT Department, and as such, was heavily locked down (by 2nd or 3rd year, it was impossible to even click on zip file to select it without some insidious "Insufficient Privileges" or "Access is Denied" error coming up). Thus, it only made sense to work in Linux exclusively while on those machines! Not only did they have working compilers, but almost every open source tool I was using by that stage (and a few more I hadn't yet started to use, but would soon pick up) were already on there.

Life was sweet - if a little clunkier than what I was used to on my Toshiba by that stage - and I came to seriously love the multiple workspaces that Gnome2 offered. Still, with the lack of my favourite text editor (Notepad++) on the platform at the time and being forced to use the next best alternative (Geany - which I settled on after almost 6 weeks of trying out different text editors), there was always the nagging sensation that I wasn't quite as productive on that platform as I was on my Toshiba. So, in practice, I actually did most of my work on Windows Vista, and only occasionally ended up actually using Linux.

Cue a little interlude after 3rd year, when I spent the summer working with the Mars Bio-imaging team (developing a Spectral CT scanner) to redevelop their GUI (fully PyGTK based, interfacing with a low-level C-library with a Python wrapper, and a dollap of threads created using different libraries/toolkits at each level, and all running on top of a specific version of Ubuntu). Since these machines all used a fairly standard Ubuntu setup, it only made sense to try and get a box setup with the same Ubuntu version on it to develop on.

Now, in the office I was working in at the HITLab, I ended up getting a HP Touchsmart (one of those all-in-ones) to work with (since they were kindof running out of machines at the time with a bumper crop of interns that year). And it was this machine that I got my first taste of trying to install Linux on a machine. Crucially, a HP machine. (Years later, when staring down the "black screen on boot" problem for the nth time on my HP laptop, I started kicking myself for forgetting this experience; that trying to get HP boxes to run Linux can be quite a challenge). So, after procuring a Ubuntu LiveCD with the appropriate version, I set about trying to install this on the all-in-one. The first challenge was getting the CD into the slot on the side (which, for the record is IMO really horrid! Luckily I wasn't trying to get it to load a disk of precious family photos, or else, I'd have been running for the hills after using that thing more than once, since you practically have to grab hold of the surface of the disk - both sides! - to yank/push it in and out, when it ends up scraping against the sides of the slot while you're at it). Once the CD loaded, things started booting up, and welcoming/loading screen showed up. Nice. And then the screen went black, the disk drive kept seeking for 30 seconds or so, and then it would fall silent. Dead. No more noises, no response to (standard/obvious) key inputs like ESC and so on, obviously no mouse input, a blank screen, and a practically dead computer, except for the power indicator. After several failed attempts, I called in the tech support guy for the lab, who pressed some magic combo at some point, and got it to show 2 more screens than it had shown to me. But eventually, it ultimately ended up stalling on another screen. The writing was on the wall: the HP was not going to let me/us get Linux onto it.

The rest of the story goes that I ended up getting an octocore beast - it literally had a big, blocky and black case, where the power buttons were hidden behind a little "darth-vader flap" of sorts. Although this machine ran the required Ubuntu version, there were heaps of problems with it, some of which seemed to be caused by the peculiar networking setup used in that building (which resulted in needing to do a double-startup - the first time you logged in after a cold reboot, everything ran incredibly sluggish and the internet wouldn't work, so you'd have to kill it with the physical power button as even the shutdown commands the GUI didn't work and would actually end up spewing out errors if you did), as well frequent problems recognising my flash drive if I tried plugging it in a second time during a session (cue some fumbling around with GParted to "mount" and "unmount" the volume a few times until it finally showed up, each and every time I needed access to it).

Back in the department last year, they had just upgraded to Fedora 16, and with it, Gnome3/KDE 4. What disasters both of these were/are! For a few weeks, I tried to adapt to Gnome3. But, it was so radically unproductive and frustrating, that by the 3rd week or so of trying, I started looking at the alternatives - namely KDE 4 (the other two alternatives included one or more completely demented blindingly-white+black+(0, 255, 0) "simplified" environments for kids to use - the only "simple" things about those were the fact that there was hardly any functionality to speak of, dozens of cryptic monochrome icons, and absolutely no easy/obvious way to get out of that mess - perhaps those schools which recently gave iPads to all kids, only to have them quickly hack over the firewall settings should have tried this crap instead first!).

Given, that I finally had a dedicated workstation and office space, I could really start to get used to working with Linux (on a dual monitor setup too), and start trying to customise it so that it worked for me. Although KDE 4 was miles ahead of Gnome 3 at that stage, it certainly left a lot to be desired: 1) it was sluggish as hell, frequently randomly freezing and other ills, 2) the default themes were crap, but at least made it possible to try a Aero-like themes, 3) buttons were annoyingly tiny and cramped (especially vertically) unlike their GTK kin. There were of course other ills that I found. Namely, the plasma workspaces (or whatever you call those bizzare modes which can mask off all your running apps + desktop icons + everything else after clicking on the icon with three coloured dots on the taskbar), and the way that the start menu thing is really nasty to navigate (no easy back button! You must carefully click on part of the breadcrumb hierarchy, and then re-expand the sections to try another one). Having originally planned on using KDE instead of GNOME (hey, it uses the brilliant Qt toolkit instead of that nasty old GTK dinosaur, which surely should make it easier for developers to create "decent" apps as they aren't spending all their time fighting arcane limitations/quirks of a verbose old hunk of trash) when first toying with the idea of moving to Linux someday, this experience rammed home the fact that KDE (or at least the KDE of today) is really not something for me.

Now, earlier this year, the department upgraded the Linux distro used on all machines again to Fedora 18, and set Cinnamon as the default window manager instead. Having used this for a few months extensively, I can say that finally this is something that works really nicely. It seems almost like a credible drop-in replacement for Windows Vista (minus a few applications) and with the added benefit of multiple workspaces. In fact, having progressively weaned myself from using a lot of Windows based tools (e.g. MsWord) over the course of 5 years, and two years intensively coding and writing reports using open source tools and decades old technology (LaTeX + Linux), a move to Linux finally seemed possible.

The final straw it seems was Windows 8.

Although the start screen of Windows 8 takes over the entire screen like the Gnome 3 and Unity switchers, I personally don't mind it that much (and in fact, like some aspects of it - like the live tiles, if only there were some which displayed content I was really interested in!), unlike many people who hate it vehemently. I do however mind that they've made it so bloody hidden and annoying to quickly suspend/shut down your machine, the nasty new clustering and arrangement of items on the taskbar (ARGH! This is soo annoying - I want my open windows shown in order of opening thanks. NOT clustered by application, making it hard to quickly toggle between two windows from the same app, and NOT arranged so that windows for pinned items are shown when the pinned items are. Blegh! Even after telling it not to collapse groups, things are still quite dire, and impacts my workflow quite a bit). Similar horrors await in the file browser, especially with the way that it deals with allowing me to quickly open up important locations as "real folders" that I can manipulate use a console or any other application/shell extension. These problems I've discussed in my earlier post. (Not a problem here though is the Ribbon usage. Sure, some classifications of things are still a bit iffy, but realistically speaking, it offers considerable usability advantages over rows and rows of tiny and unlabelled 16px icons rendered in all their 8-bit pixellated glory)

Of course, the flat look of everything - particularly the windows but also common controls (most notably the scrollbars - Why on earth is everyone trying to kill these off?! They serve many goddam useful roles). Although installing the "Aero Glass" hack by "bigmuscle" (remember to use the "win8rp.png" custom buttons skin too, or else the effect is not quite right) recently has brought things back up a notch to a more tolerable level, the flat look of various controls (and how broken they look in Qt and other non-native toolkits), and the various productivity killers mentioned above mean that Windows 8 in total is not really such a great option as a primary environment for everyday work.

Preparing for the Linux Transition
What was clear to me once I made this decision, was that whatever I did, I'd need to start doing this fast. It's one thing to try changing operating systems when you've got hardly any files and/or special configs nutted out on a machine. It's another when that machine now has several weeks of work and files on it (though backing up and restoring them makes it a bit less risky, the more files you have, the less likely you'll want to do anything drastic).

First up was deciding which distro to use. After checking on a few, I ended up settling with Mint 15 + Cinnamon. Key factors included:
1) Finding something that was popular, and likely to have been tested out on a wide range of hardware
2) Finding something that offerred Cinnamon as a default window manager
3) The availability/possibility of downloading propriety drivers and tools from the distro repos without a lot of hassle if things got down to that (i.e. some things just not working on the opensource alternatives, at least currently)

After ruling out Ubuntu (Unity/Gnome3), Fedora (Gnome3), and OpenSuse (KDE), that practically left Mint. Something like Arch on the other hand is probably a step too far at this stage!

So, the first step was to download the live disc and burn it. I had originally been planning on downloading it back in the office, since the nearest mirror is actually on campus, which means that if I downloaded it there, I'd practically save on the bandwidth cost associated with grabbing 900mb of stuff. The problem was, I was a bit busy over the next few days at that point (it was another Wednesday), and probably wouldn't make it into the office for long enough to actually download + burn the disc in one sitting anytime soon enough to satisfy my desire to start trying to get this working. So, in the end, I downloaded it at home, and burned the ISO to one of a stack of discs I had lingering at home from ages ago.

Having burned the disc, and uncertain whether I'd changed the BIOS to use appropriate boot order, I stuck the newly burned disc into the drive and got it to restart the computer as per the on screen prompts. After it briefly scanned the drive on startup, it jumped straight back into windows. Oh, so perhaps the boot order WAS still set wrong. Ok, let's reboot again and try to get into the BIOS.

Umm... I swear it was F10 that got into the BIOS... That's what one of the help texts mentioned when I tried to make the F1-F12 keys behave normally (instead of defaulting to "special functions" - the lack of easy-to-use F5 keys when you're a developer really starts to kill you after a while!). But why on earth is it not catching it now? It took several attempts of rabidly pounding a combination of F10, F9, Esc, F1, F2, etc. on startup before finally, something happened. A not-very-good something...

Beeebeeebeebeeebeebeebeebeebeebeebeebeebeebee....!!!   (sounded out in a piercingly loud noise - like a car alarm going off on a thief trying to break into a car parked in a busy but otherwise silent parking lot)

On screen, the BIOS had shown up, but in the middle, there was a dialog asking to confirm whether you wanted to save the changes or not, but NONE of the keyboard commands (or the mouse) worked at all. And the loud thief-horn was blaring away at full blast. I now have complete and utter sympathy for any pilot who's flown during an in-flight emergency, with all the Master Caution and similar horns blaring away at full blast, while they're still trying to figure out what's broken and to gain control of the situation (after perhaps being slightly shaken awake from a mid-flight daze). It's not a nice place to be in.

Fortunately, the old "classic problem solving strategy in tech" worked: Simply turn it off and on again! :D

After powering it off (and making the beeps go away), I promptly removed the disc as soon as the power came back up to avoid a possible repeat. After a bit of Googling to figure out if I had been doing anything wrong (regarding trying to get into BIOS - only to find that it was simply a matter of using ESC or F10 "quickly" after starting up), I restarted a few times to try and get into that elusive BIOS. It took perhaps 3-5 tries, but eventually one time I succeeded: by mashing the ESC key as soon as humanly possible after poking the power button. Instead of waiting for it to light up (it takes almost a second or at least 500ms to do so), you have to start pounding the very instant you've touched the power button. Finally I was in!

Since it was so tricky to get in, I did several things in one go:
1) Secure boot off
2) Boot order - dvd first; (I wavered on allowing USB drives to also be before the HD, but I can't remember what I chose)
3) Boot delay time -> 5 seconds (from 0). This was the only promising option for making it easier to get into the BIOS - something that I anticipated I may have to do quite a bit during the next while if I'm going to be doing any major OS changes...

Finally, after all this trouble, it was possible to start to Live Disc.

Grub Yes, Mint No - Purgatory of the Black Screen of Death
Very quickly on loading the disc, a black GRUB menu showed up. Strange, I thought, given that most tutorials showed that it would be quite a graphical affair, with a fancy gradient backdrop and a few logos on screen. Yet, here we have just a black screen with white lettering and lines on it. Still, at least we have several clear options here (and it's not something that I'm not familiar with, having seen it on the departmental computers for years now)

Choosing the first item, I watched as the screen blacked out and didn't come back on, the disc drive started whirring up and click-cluck-clucking a few times, reaching a crescendo, and then suddenly stopping, with everything going silent. Crap. Not this again! Frantic mashing of ESC, Ctrl-Alt-F1, Enter, F3 (backlight brightness) and a few others followed, but nothing would appear on screen. Defeated, I was forced to restart the machine.

The next time, I chose the "Compatability Mode" option instead. Maybe this time it'll work! Nope. Practically the same as before.

At this point, I started Googling. Some suggested it was a backlight issue (apparently on HP Laptops, the backlight won't turn on by default before/on the login screen, but works once you log in). Others hinted at graphics driver problems/conflicts, and recommended adding "nomodeset" to the "linux" line for the commands that GRUB uses to boot Linux, by selecting the relevant "Start Linux Mint" line, pressing e, and adding this setting to the appropriate places, and using Ctrl-X or F10 to start booting (personally, Ctrl-X never worked for me, but F10 did).

Armed with some new knowledge, I tried again, with both modes, and got tantalisingly close. (Just a quick note before proceeding any further: make sure that you insert any additional flags like nomodeset and acpi_backlight before the "--" thing, or else they are apparently ignored. I'm not sure what the "--" does, but whatever it is, I thought I'd just mention this, since no one mentions this tip anywhere!):

1) After appending the following code to the end of the Linux boot line (after "quiet splash"...)
nomodeset acpi_backlight=vendor --
Things looked a bit more promising than they had been, with a Mint logo showing in the center of the screen after the GRUB menu disappeared. It progressively went from complete darkness, to glowing brightly. And then it stopped. The disc stopped reading, and went quiet. So too did the rest of the machine, save for a brightly glowing green logo in the center of the screen. Bugger! Back to the drawing board.

2) Next I tried the compatability mode option, adding after "nosplash irqlpol\l":
nomodeset acpi_backlight=vendor --
This time there was a lot more progress. Screens of terminal test rushed past, showing various things being initialised and detected, culminating in a light-blue screen, with a basic-looking gray box in the middle. Apparently it was a message from the X-Server, which was protesting that it had encountered a "fatal error", with "no screens found". WTF?! You so can find a screen to display stuff on - how else would I be able to read this message?! Why can't it just use this basic mode and somehow patch it up to display fancy dancing bunnies on top of it?!

After finishing going through these messages I was promptly bumped off back to the commandline. At least I get to play around in a full screen terminal, and start digging around what few files have been loaded up (and the various utilities available). While there, I checked on a few things, based on various command snippets I picked up while searching for solutions on these problems, including running lspci to get a dump of all system components it has detected, and so forth. Eventually, after a bit more Googling, I learnt the command for shutting down (actually restating) the system:
$ sudo shutdown -r now

A Breakthrough at Last
A few days/weekend passed, with no significant breakthroughs. I ended up just going through and exhaustively searching Google again and again in the hope of finding some silver bullet. I also started checking carefully what hardware configuration I actually had in this box: no-where did I get the impression that there was an Intel integrated graphics card associated with this system (apart from the desktop context menu in Windows, where I thought it was just a bizzare additional tweak that somehow went on top of everything else). Only after a bit more searching did it dawn on me that the laptop actually used the new NVidia Optimus technology, that the Intel was the one used most of the time and used to power/control the screen (while the NVidia is usually left powered off to save power, though apparently it also has a role in being the thing which outputs data to the HDMI output jack), and that this was in fact hardware that was subject to the fabled Linux compatibility problems that had Linus in a bit of a stink with Nvidia. Crap. The situation didn't look that great.

Armed with this knowledge in mind though, it became apparent that perhaps the X-Server errors being reported simply meant that it was a case of the graphics drivers duking it out amongst themselves and failing to come to an agreement on who should do what. At the same time, one of the pages I saw mentioned a whole bunch of different options for flags to try for the various drivers that may be in used. Apparently nomodeset may be too broad, acting as more of a broad-spectrum antibiotic than a targetted burst of radiation. Furthermore, I also found info from one of the Linux Mint pages that they actually use nouveau (i.e. the opensource NVidia drivers) by default.

So, it was back to the GRUB terminal again:
1) This time, instead of using "nomodeset", I replaced that with "nouveau.modeset=0". After trying both Standard and Compatability modes, things were still not working. In the standard mode, the mint logo showed up, and flickered between that and a console full of text rushing by, but everything ended up still stalling.

2) Annoyed but not yet defeated, I wondered why it had to be "=0". What would happen if I supplied 1 or 2 instead? I decided to try:
   * Standard Mode: Even with a different value, things still didn't work.
   * Compatability Mode: After seeing that standard terminal loading text flying around, suddenly, a cursor appeared in the middle of the screen against a black background. Moving the mouse even moved the cursor... A few seconds later, the cursor reset to the center of the screen, and the all of a sudden, the desktop appeared! Success at last!

Woohoo! Success at last! After all that effort, I finally got to play with Linux on my laptop!

Putting Linux Through Its Paces
Now that I had this running, the first order of business was to look around. After quickly checking the start menu, and the fact the mouse (and touchpad worked), I turned my attention to wifi. A machine which cannot connect to the internet is as good as useless these days (though the ability to work offline for periods, once everything is synced up and ready for work is another matter).

Without much effort, I found that it had located my wireless router, and after typing in the password, it was connected. Starting up Firefox, it went straight to a Linux Mint page. Yay! As far as I could tell, it seemed to be working. Straight out of the box...

But, after a few minutes of trying to get to various pages, it soon became apparent that things weren't running as smoothly as anticipated. For one thing, the connection was frequently dropping out or taking ages to load some pages - usually as soon as you tried to open more than one tab at a time! But, from time to time, it worked quite well... well enough to actually load Youtube, and start playing back a video or two. With sound (though the sound was a bit "weaker" than normal - apparently because only the so called "front" speakers were being used by default). IRC also worked straight out of the box, but suffered from the bad connectivity once again.

The other problem related to wifi was that the wifi indicator LED wasn't showing the right color, even though the wireless connection clearly seemed to be working (I later found that this should be an easy fix with one package to install - thus, this is more cosmetic than functional annoyance).

Next up was the backlight control, since the screen brightness was a bit excessive. To my surprise, this worked perfectly flawlessly, as did volume control. Plus, they used some pretty semi-transparent on-screen indicators which only showed up while you were changing things around. Sweet!

Other things I had to test were the trackpad: left and right clicking work as expected (thankfully the annoying "tap to click" is not enabled or even implemented anywhere, so it didn't cause any troubles), as did scrolling (after one or two tweaks in the settings), though pinch zoom (TBH, not that great to have in desktop apps, since it often responds badly, and can be confused with scroll) doesn't work. One major problem though was that palm-detection during typing was really bad. And by bad, I mean bad to the point that the cursor is either sliding up/down/left/right or jittering all around when typing. Clearly that's something I'll need to work on in the xinput (?) config files when I get this installed properly...

Another thing to test was whether opening/closing the lid, and/or using various ways of resuming from sleep posed any significant hardware/software "freak outs". Thankfully none were detected, and everything worked smoothly.

Finally, there was one other critical question, just how well does the screen's colour representation stack up here? My verdict: Colours were spot-on out of the box - the nasty blue tint and lack of warmth (replaced with a sickly yellow-green glow) when dealing with warm yellows/reds/oranges under Windows was nowhere to be seen. And this is with Linux claiming no colour calibrations applied or performed! Hrm... this is making me suspicious whether HP had in fact distributed these machines with the wrong colour profiles set by default on Windows - colour profiles which would make sure that the screens look great when viewed alongside other machines when they all display the Metro screens (which really benefit from getting certain types of boosts for their default purple, greens, and orange tones), but which are absolutely terrible for viewing photos of real life things.

A test page of some images with "known/intended colours" - I've seen this set on many different monitors, and have a rough idea of what is "normal" color display (and/or deviations), but also what I intend each to appear like.

Speaking of photos, Mint has some awesome photo wallpapers bundled by default. These are very pretty :)

Other cool things include the fact that it was able to automatically detect and mount my Windows partition, allowing me easy and quick access to my files. However, a word of warning about this: Do NOT try and save files to the Windows partition, especially when using the LiveCD, as apparently that ends up just corrupting the NTFS filesystem (it creates empty index entries which don't point to actual locations on the drive at all). Then again, maybe I needed to unmount the partition before shutting down, so that it could flush things accordingly...

Font-size wise, the default fonts were a nicer size than on Windows, though still on the small side (pre-tweaking). This was to be somewhat expected, since from experience, Linux generally seems to use larger (and hence easier to read) fonts than Windows often does (usually for legacy support reasons). A lot of what makes us hate Microsoft's products it turns out is in fact the result of a company that has tried its best to please as many legacy corporate customers as possible, where they need to support some very very arcane legacy software which relied on certain hack or would break (e.g. the reason why "QuickEdit" - aka the ability to quickly and easily select text in the command prompt windows - is not enabled by default is that it broke some or other "Terminal GUI" app used for running POS terminals or accounting software used at some or other Microsoft corporate customer's site).

Oh, and one other problem: It appears that currently it's impossible to take advantage of the NVidia card without doing some driver installations first to get it being recognised...

Next Steps
Now that I know that it can be made to work (after certain tweaks), my attention turned to whether the major driver issues were likely to be able to be resolved. I've ended up gathering quite a few resources on this, though if anyone out there has any good step by step instructions that they've found works well on similar hardware (Intel HD Graphics 4600 +  NVidia GeForce 740M / Ralink RT3290) do let me know so that I can prioritise checking those over some of the other weirder methods out there.

After being initially a bit despirited and starting to wonder whether I'd ultimately be better off trying to find a way to stake out a usable compromise workflow in Win8, I've decided that it's still ultimately worth giving it a go.

Along the way, there have been a few more roadblocks as usual: From finding that burning the set of HP Recovery DVD's actually requires 6 x DVD-R's or 3 x DVD-R (Double Layer) discs (I only had 3 x DVD-R's left) meant that I had to delay an attempt at dual-booting for at least a day until I could head out and buy some more DVD's. However, once I had the DVD's, it transpired that the burning process for these DVD's actually takes AGES - Be warned: The HP Recovery Media for Hp Envy 17-j007tx actually takes over 2 hours to burn, and between 20-25 minutes per disk (including lengthy "data preparation", "burning" - 1% every 1.5 seconds or so, and "verifying" steps per disk).

By the time I finally got ready to try and perform the install, the partitioning step threw another curveball at me:

As seen in this screenshot of Linux accessing the Windows partition to display a screenshot of the windows disk partitioning tool, we can see that in fact, the machine had 4 partitions (though fortunately, it's in a GPT setup, instead of the more constrained MBR). I'd only been expecting 2 (C and D), but in fact, here it has both an unnamed "Recovery" and "EFI" partitions. Only after further searching did I realise that the first "Recovery" partition was likely to be the Windows one, while the "EFI" is apparently when the bootloader lives (or so it goes - someone please correct me if I'm wrong here).

I'm still trying to make sense of what this means for my attempts to fiddle with this:
1) Where does the Linux boot partition go now?
2) How big to make the system and swap partitions for Linux (I'd like to keep my Linux system and Home directory files in separate partitions, to hopefully keep things a bit more robust there)
3) What should I use to shrink down the windows C partition? I'm currently running into problems where it only lets me shrink it down to just over 450 mb, while if I get Linux working nicely, I'm definitely going to want to spend a lot of time in it (most photos would be stored there for instance, once I determine how well my camera integrates with this...)

... Still so many unanswered questions and tech issues to resolve... The saga continues on (and may need to be postponed until next month, since I need to concentrate on my studies a bit over the next few weeks - some admin work is soon due!)... Humbug.. Windows 8 lives another day (and perhaps gains yet another redeeming skin in the process)...  Mañana Mañana...


  1. I just went through a similar ordeal getting Arch Linux setup on a UEFI system. It was a lot less confusing in the BIOS days.

    1. Boot partition goes on the EFI partition. I'm not familiar with Mint, so I'm not sure what steps you need to take exactly.
    2. I have root (system) at 20GB, and home uses the rest. Arch Linux wiki can probably help you decide how you want to lay it out.
    3. GParted maybe? I haven't ever had to do that (Windows and Linux are on separate physical drives in my case).