Getting Ubuntu To Dual Boot With A Windows 8 Laptop (Or, Getting Ubuntu To Recognize Windows 8).

This is not the sort of thing I would normally post on this blog, but I wasted so much time doing this I thought it might be useful for someone else who is trying to do the same thing. I am a very casual user of Linux (primarily Ubuntu), and I am not a fan of the command line. I have been using Ubuntu on and off for several years now on a single boot machine. This installation refers to installation off of a USB key. The primary issue for me was the (I think very common) error in which Ubuntu cannot detect Windows 8.

Hardware: Lenovo ThinkPad Twist; Processor: Intel CORE i5 @1.70GHz; hard drive: 400GB; memory: 4GB

Software: Windows 8.1 Pro; Ubuntu 13.1

Step-by-step instructions which worked for me. Do this at your own risk. Partitioning hard drives is not for the weak of heart. There is a very real chance that something catastrophic could happen, so back up your data before beginning.

  1. Open disk management in Windows 8. This can be done using the search function of Windows 8. Alternatively navigate to control panel – system and security – administrative tools – computer management – disk management
  2. Find the primary Windows 8 partition (probably the largest). Right click and choose “shrink partition”. Shrink the partition with however much space you will need for Ubuntu. I chose 100,000MB (100GB). Once done, leave this space as “free” (i.e., don’t format it).
  3. Insert USB key containing Ubuntu into your computer and reboot. The Ubuntu site has very good detailed instructions on how to prepare this key for installation.
  4. Disable “secure boot” in the BIOS if enabled. You can enter the BIOS by pressing a key on startup (usually listed on the startup screen). In my case it was the “Enter” button.  While in the BIOS, also make sure the boot order shortcut key is enabled. In my case it is the “F12” key. NOTE: I am not positive if disabling secure boot was required for my success.
  5. Save and exit BIOS. Press boot order shortcut key (F12 for me).
  6. Select USB key.
  7. Follow Ubuntu on screen prompts; I suggest ignoring the connect to the internet warnings and connect once everything is installed.
  8. At this point, Ubuntu could not detect Windows 8, and one of the options was do “Something Else”.
  9. This brings up a partition manager which is painfully vague.
  10. Find the free space partition you just made (~100,000MB, but probably not exact), and click on it and format  it as “ext 4” and mount it as “/”. DO NOT FORMAT IT AS THE FULL SIZE! Reduce by ~10 GB so this can be used as swap memory. NOTE: this size is probably overkill for swap memory, but to be honest I just wanted to see if I could get all of this to work. Some sites suggest swap memory size should be similar to RAM size.
  11. Find the ~10GB free area reserved in #10 and format it as “swap”.
  12. Select the ~90GB partition you created in step #10 and install Ubuntu here.
  13. If you are lucky, everything will now work, including a dual boot screen at startup (managed by Ubuntu).

Interesting note: this laptop is a touchscreen laptop/tablet hybrid. The touchscreen still works in Ubuntu with no issues. Screen rotation does not work. I have not investigated if there is a workaround.


One thought on “Getting Ubuntu To Dual Boot With A Windows 8 Laptop (Or, Getting Ubuntu To Recognize Windows 8).

  1. Hey even though this is a year and a half old and no one has commented until me.. Thanks! this is exactly what I needed, no one seems to explain what to do if you cant get it to recognize Windows 8.x other than other ideas to get it to recognize Windows.. lol.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s