This article explains in detail how to combine your favourite gaming laptop and your favourite Operating System. The MSI GE72 2QD Apache laptop is a very respectable machine, having Intel Core i7-4720HQ and GeForce GTX 960M (2GB GDDR5) out of the box, also with 1TB 7200RPM + 128GB SSD (Super Raid) storage combination. This being my workplace laptop, and myself being an Android developer, I prefer to work using Ubuntu rather than Windows 8.1. There are several sources online that reported problems when trying to install Ubuntu on this machine (see here and here), and I can verify that indeed it is not a straightforward task. Others have installed the boot partition of both Operating Systems on the SSD drive. If this is more to your tastes, I suggest you take a look at this. I decided to compile this information (thanks to several sources) for those who want a step by step guide on how to install Ubuntu 14.04.3 on the SSD drive, and having Windows 8.1 in a partition on the 1TB SATA drive; with an option to boot into either at startup.

Originally, the Windows 8.1 Operating System is pre-installed on the 128GB SSD drive. Since I will be using Ubuntu more often than Windows, I have decided to move Windows onto the bigger 1TB SATA2 drive instead (inside a partition), whilst Ubuntu will be installed on the SSD drive. These tasks are divided into the following sections for better clarity:

  • Transferring Windows 8.1 to the bigger 1TB SATA2 drive.
  • Installing Ubuntu on the 128GB SSD drive.

Creating a Windows Recovery image:

The purpose of creating a Windows Recovery image is to have a backup of the system, including drivers, as per factory defaults, in case something goes awry. We would also benefit from this process by installing the Recovery image directly onto the 1TB SATA2 drive.

To create a Recovery disk/s, open the MSI’s “Burn Recovery” application from within Windows 8.1. The application allows us to create a Recovery disk/s, USB Recovery stick or create a Recovery ISO image (which can later be burned to a Recovery disk using applications such as Nero). In this example we shall assume that Recovery disks were used: 6 DVDs in total. I suggest that the Recovery disks are created as soon as the first laptop boot, before any applications are installed on Windows. This keeps the image clean when it is used to restore the system. Note that the Recovery disks include both the Windows 8.1 OS image and its recovery partition (accessible by pressing F3 during machine start-up).


Steps to install Windows 8.1 using Recovery Disks on the 1TB SATA2 drive

Since we are moving Windows 8.1 from the 128GB SSD to the 1TB SATA2 drives, we can use the Recovery disks just created to restore the Windows 8.1 image + recovery partition onto the 1TB SATA2 drive. The steps followed in restoring Windows are described below:

  • Insert the 1st Recovery disk (DVD) just created and restart the PC.
  • Press (continuously) F11 whilst the PC is booting (alternatively, set the BIOS boot priority settings to read from the DVD drive before the Hard Disk drives).
  • Select “Boot from DVD“. When the Recovery System menu is loaded, choose Hard disk recovery. This gives us the option to restore Windows 8.1, and its recovery partition, on the 1TB SATA2 drive as we require.
  • Replace the subsequent Recovery disks, when prompted, to complete Recovery.
  • The machine will restart several times during set-up of the new Windows. Wait until configuration is complete. Set up the new Windows using your information and preferences.
  • Note that the Recovery process has altered the partitions on the hard drive. The 1TB SATA2 drive is now split in 2 main partitions: OS_Install (C:/) and Data (D:/) partitions being the most important (the other partitions are Recovery related).  The freshly installed Windows 8.1 resides in the OS_Install partition of the 1TB SATA2 drive. The new Data partition of the same 1TB SATA2 drive is empty. There are also 2 Recovery partitions and an EFI System Partition, which we shall not touch.
  • At this stage both the 128GB SSD drive and the new partition OS_Install (from 1TB SATA2) now have Windows 8.1 installed. The bootloader does not let us choose which OS to boot from at start-up because it always defaults to the OS in the OS_Install partition. In our case, the Recovery process split the partitions on its own accord, leaving a huge chuck of the 1TB hard-disk assigned to OS_Install. Since we will only use Windows for personal reasons and a little testing, we will shrink the OS_Install partition to 200GB. The rest of the unpartitioned space will be allocated to the newly created Data partition. The Data partition will be used by Ubuntu to host any files which do not fit on the SSD drive.
    • We can shrink/extend volume partitions from a utility tool from Windows itself: Disk Management.
    • Open the Control Panel and search for “disk partition”.
    • Open the Disk Management menu to view the partitions as they stand in both hard drives.
    • To shrink the OS_Install (C:/) partition, right click on the partition and select Shrink volume.
    • The amount (in MB) of how much volume we want to shrink is input. Click on Shrink to start the process.
    • Now we are left with the Data partition and a chunk of unallocated space. We need to combine these 2 partitions together.
    • Firstly, delete the Data (D:/) partition: right click on the partition and select Delete volume. This leaves us only with the unallocated space.
    • Right click on the unallocated space and choose New Simple Volume option. Choose the maximum size available for the volume and format the new partition. A letter is to be assigned (default D:/) and also a partition label. To avoid confusion, instead of the Data partition label used before, we shall name this new partition Ubuntu-files; since the partition is to be used to store Ubuntu-related files and data.
    • We can format the 128GB SSD drive from Disk Management utility itself. However, this will be managed whilst we are installing Ubuntu on the 128GB SSD drive. We decided to let Ubuntu manage the SSD drive as Window’s NTFS file system will be replaced by Linux’s ext4 anyway.
      This information was extracted from: Partitioning a HD (Windows) and Alter/Format HD partitions (Windows)

Steps to install Ubuntu 14.04.3 using a bootable USB stick on the 128GB SSD drive

Download the latest LTS (Long Term Support) version of Ubuntu: Ubuntu for Developers. During the time of writing this article, the latest version is: 14.04.3. Burn the .iso file downloaded to USB bootable stick (over 1GB file image size). NOTE: Prior to this, I attempted to burn the .iso image to DVD, without success. Since the laptop is equipped with UEFI, the DVD could not be booted at start-up, for some reason even with “SecureBoot” option disabled in BIOS. Here are the steps undertaken to create a bootable USB stick, using an Ubuntu-powered machine.

Using an Ubuntu computer, format the USB stick used to host the new Ubuntu .iso image. It is important that the USB stick does not contain any old data, it needs to be completely empty to be able to make it bootable.

Using Ubuntu’s Dash Home, search for Startup Disk Creator application and launch it.

Select the Ubuntu image under Source disc image (.iso) by clicking on Other.

The formatted USB stick should be recognised automatically under Disk to use.

Click on Make Startup Disk to create the bootable Ubuntu USB stick.
This information was extracted from: Create a USB bootable disk. If an Ubuntu-powered computer is not available, search for an alternative option to create a bootable USB stick using an application from another Operating System of choice. For example, to create a USB bootable stick using Windows, use the following application: Universal USB Installer. Extracted from the 2nd step in the following tutorial: Install Ubuntu alongside Windows

Disable “Fast Startup” from Windows 8.1. Click on the battery tray icon and select More Power Options. Select Choose what the power buttons do and disable Turn on fast startup (recommended) setting. This is to be done from the newer Windows instance (installed on the OS_Install partition of the 1TB SATA2 drive).

Download the latest BIOS for the MSI laptop from: MSI GE72 2QD Apache BIOS. The update description should include: “Update Microcode version to 13.” or have a release date equal or later than 29/09/2015.

Update BIOS using these instructions: MSI GE72 2QD Apache BIOS upgrade instructions

After the PC has rebooted into Windows, shut off the machine again.

Reboot the machine and go into BIOS settings by pressing the Delete key repeatedly on startup.

Disable the following settings from BIOS: FastBootIntel SpeedstepSecureBoot, and change the Boot mode to: UEFI with CSM. These instructions were taken from: Ubuntu Installation Freezes Randomly on MSI GE72 2QF Apache Pro 2 and Dual boot on a SSD. Additionally, make sure that USB is of a higher priority than the Hard Disk in the Boot Order Priorities setting of BIOS.

Insert the Ubuntu bootable USB stick and restart the machine.

Press the F11 button repeatedly on startup to load the boot menu and select the USB bootable stick.

GRUB menu will pop up on screen offering several options. Before choosing the “Install Ubuntu option, however, we must add the kernel boot parameters: “nomodeset” and “libata.force=noncq“. This is done by scrolling on the “Install Ubuntu option and pressing “e on the keyboard. Edit the line starting with “linux” and add the above parameters. Simply press “F10” on the keyboard once ready to launch “Install Ubuntu” with the modified parameters. The following screenshot shows the “libata.force=noncq” parameter being added.

libata.force=noncq” force disables NCQ (Native Command Queuing). When enabled, this setting improves the hard disk performance by re-ordering the commands sent by the computer to the hard disk drive. This setting is known to crash Ubuntu if left enabled. The”nomodeset” parameter instructs the kernel to not load video drivers and use BIOS modes instead until X is loaded. This is because certain graphics cards do not perform properly if video drivers are loaded before X.

Follow the instructions on screen to install Ubuntu. We ticked the Update Ubuntu checkbox, which updates Ubuntu to the latest version during install. Choose the Something Else option when prompted on how Ubuntu is to be installed. This gives us complete control over the Hard disk partitions. By observing the partitions displayed, we can deduce which Hard disk is which: “/dev/sda” refers to the 1TB SATA2 disk, which we will not touch since we already installed Windows 8.1 and partitioned the rest of the disk to our needs (see previous section). We want to install Ubuntu on the 128GB SSD drive, formatting the default Windows 8.1 OS in the process. The installation dialog refers to the SSD drive as “/dev/sdb“. All partitions under this drive are to be deleted by selecting the partition and pressing on the “” button. Once the “/dev/sdb” drive only contains free space (i.e: no partitions), we can create a new partition by selecting the free space and clicking on the “+” button. We shall create 2 partitions, one for the swap area (16GB) and the rest for “/“. The 2 partitions created are named “/dev/sdb1” and “/dev/sdb2” respectively. The latter partition should be of type “ext4” instead of Windows’ “NTFS“. Finally, the “Device for boot loader installation:” option should be set to “/dev/sdb“, the SSD drive itself. The following screenshot shows the original partitions of “/dev/sdb” prior to formatting Windows 8.1 from the drive; as well as the correct partition selected for the Ubuntu boot loader (GRUB) installation directory option.

Wait until the disk is formatted and Ubuntu installed. The machine will restart as soon as installation is complete.

The GRUB boot loader is preferred over Windows’ boot loader as it allows the user to choose between Ubuntu and Windows, amongst other options, whereas the Windows boot loader boots straight into Windows automatically. It is very normal for the machine to use the Windows boot loader, even after installing Ubuntu + GRUB. Therefore, we must fix the boot loader problem by running the Boot-Repair tool from Ubuntu. If the Ubuntu USB bootable disk is still attached, it should load before allowing Windows to boot. The “Try Ubuntu without installing” should be selected this time because we already installed Ubuntu. Prior to selecting the option, the boot parameters must be modified again, just like we did with the “Install Ubuntu” option above. Therefore, add “nomodeset” and “libata.force=noncq” to the kernel boot options and press “F10“.

Once the Ubuntu Live session has booted, open up a Terminal (CTRL + ALT + T) and type the following commands to perform a boot repair:

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

Once the application is installed, press on the “Recommended repair” option and allow the application to finish its job. The repair should finish without any issues. If there are any, follow the instructions on screen to overcome them. This is the paste log of the application on my own machine: http://paste.ubuntu.com/14086628/

Reboot the machine into BIOS (press Delete) and re-enable FastBoot setting. Boot mode can be changed back to: UEFI. I found issues when re-enabling SecureBoot, therefore I decided to leave it disabled. Some users from different sources did not have any problems re-enabling the option again. Intel Speedstep must remain disabled. Also, change the UEFI Hard disk drive BBS Priorities option to Ubuntu (from the 128GB SSD hard drive). The latter modification will prioritise the GRUB boot loader over Windows’ boot loader. NOTE: If for some reason the latter option is not available in BIOS, one can modify the Windows boot loader to point towards GRUB. This is done by logging into Windows, opening an Administrator Command Prompt and inputting the following command: “bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi“. This method is not recommended and should be researched further before attempting to execute.

Save the BIOS settings, unplug the Ubuntu USB bootable disk from the machine and restart the machine. GRUB should now be loaded during boot-up, allowing the user to choose to boot in Ubuntu 14.04.3 or Windows 8.1, amongst other options.


Configuring/testing Ubuntu 14.04.3 for the MSI laptop

Now that Ubuntu is installed on the SSD drive, we have a final step to configure the Nvidia drivers and checking that all hardware is recognised and working. We need to update the Nvidia drivers by opening a Terminal window and executing:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-352 nvidia-settings

A restart is recommended after the above commands have been executed. As a reassurance that Ubuntu is working perfectly with the machine, one could do the following tests:

  • Check that the laptop’s Steelseries keyboard hotkeys work (the FN key overrides the keys into hotkeys).
  • Check that Connectivity works: WIFI and Bluetooth.
  • Check that the Webcam works: open Cheese Webcam Booth application to test. Note that by default the Webcam is turned off. Press the key combination: FN + F6 hotkey to turn On/Off the Webcam.
  • Check that the Sound works.
  • Note that the Steelseries keyboard lacks the driver for the Linux platform. The driver in Windows allows the keyboard’s back lid LEDs to be programmed. The following links contain unofficial source code to make the LEDs work also in Ubuntu: MSI keyboard and MSI keyboard CLI. Note that I did NOT test the source code. I left the links here as reference only for the brave ones (smile)

Helper links and references (not mentioned above):

http://askubuntu.com/questions/507969/compatibility-ubuntu-and-msi-ge60

http://askubuntu.com/questions/221835/installing-ubuntu-on-a-pre-installed-windows-with-uefi

http://askubuntu.com/questions/313081/what-tool-should-i-use-for-a-bit-by-bit-copy-of-my-hard-drive

http://askubuntu.com/questions/362026/cannot-boot-after-ubuntu-13-10-install-on-uefi-machine

http://askubuntu.com/questions/370208/what-mount-point-should-i-use-for-data-free-space

https://help.ubuntu.com/community/BootFromCD

http://www.eightforums.com/performance-maintenance/60212-uefi-does-not-recognize-dvd-drive-but-works-windows-3.html

http://www.everydaylinuxuser.com/2015/11/how-to-install-ubuntu-linux-alongside.html

http://ubuntuforums.org/showthread.php?t=2218742

http://ubuntuforums.org/showthread.php?t=2302353

http://ubuntuforums.org/showthread.php?t=2298912

http://ubuntuforums.org/showthread.php?t=2222388

http://ubuntuforums.org/showthread.php?t=2286717

I hope you have enjoyed this blog post and found it useful. Please leave comments/suggestions. 🙂