A Brief Guide to Running Multiple OS on Lenovo ThinkPad P70 Mobile Workstation

Overview

This is a blog of my experiences getting multiple OS to reside happily and efficiently on the Lenovo ThinkPad P70 Mobile Workstation. The OS that I currently run include Windows 10, Oracle Linux (UEK4, UEK3 and Red Hat Compatible Kernels), and Ubuntu 16.04. All of my OS and all of the kernels for those OS all have wireless networking configured which did not work out of the box for some of the Oracle Linux kernels and required some work to successfully configure which I have documented as well. I also have a CentOS 7 on an NVMe that is stashed inside the SSD compartment which I can swap in by opening the chassis and replacing one of the other NVMe with CentOS, and I'm planning a Gentoo Linux NVMe that will be stashed also for occassional swap-in.

Summary

There were several things that turned out to be important for getting my system configured as summarized below.

  1. Before installing any OS reset the Lenovo BIOS to "Default Settings" and save.

  2. Before installing any OS (optionally) flash the BIOS to the most recent version using my guide here.

  3. In the BIOS set "UEFI Only" and "CSM Yes".

  4. In the BIOS set "Hybrid Graphics" (but note that when installing Oracle Linux use Discrete Graphics for the install only).

  5. Review my post here on dealing with the nouveau graphics driver with the Oracle Linux desktops.

  6. Be sure to only have one hardware drive installed when installing each OS.

  7. Consult my guides for configuring Intel 8260 wireless support on the Oracle Linux UEK3, UEK4, and Red Hat Compatible kernels.

  8. Consult my guide here for configuring Intel I219-V wired networking on the Oracle Linux UEK3 kernel.

Discussion

Lenovo P70 comes with Windows and has some settings in the BIOS that are Windows-specific and in my experience are not good or even usable for Linux installs on P70. The first step is to set the BIOS to defaults. Once you have done that, on boot you should see a big red LENOVO banner that greets you on boot and a message to "hit enter" to access BIOS, Boot Menu, etc.

Note that I make no promises about whether your from-the-factory drive with Windows on it will boot after you make these changes. I ordered my P70 online from Amazon for an amazing price of $1300 and change and tossed the 500Gb rotating rust drive because I put a Samsung Evo 850 in that bay; true, I could have transferred my Lenovo-provided Windows over from the 500Gb rotating rust to the Evo 850 (and that in fact is what I should have done) but for a variety of reasons it didn't work out that way because I was experimenting with the hardware and setups and so this guide is an attempt to save you that trouble but as always YMMV.

What I did find is that setting the BIOS to defaults is the first step for getting the Linux installs done. But note that I also opted to flash my BIOS to the most recent version as described here before doing these installs.

The second point is that when installing multiple OS, say Oracle Linux to the Samsung EVO SSD, and Ubuntu 16,04 to one of the NVMe, and Windows to the other NVMe, be sure to remove all other hardware drives from the chassis before starting the install. This is to be sure that the installer only sees one physical device install drive available and puts EVERYTHING on that drive during the install, so that each drive you install with an OS is ATOMIC, meaning that it is totally self-contained and has everything on it that it needs to boot, and so that the installer is not tempted for any reason to put something related to boot on a different drive other than the install drive.

Be sure that the BIOS is set to "UEFI only" and "CSM Yes". This will ensure that all your OS are installed as UEFI and not as Legacy. Of course if you are installing some old OS that does not support UEFI then you will have to get out of the boat at this point and go your own way into the jungle and figure it out on your own. This page is for installing all UEFI-only OS deployments.

When you install Oracle Linux you will have to use Discrete Graphics mode temporarily for the installer which is set in the BIOS. Once the install is done you can use my guide here to address the issue with the nouveau graphics driver and switch everything over to Hybrid Graphics in the BIOS. In a nutshell though, once the install is done, you can boot into the Red Hat Compatible Kernel ONLY in Discrete Graphics mode and then make the changes to the kernel configuration by editing /etc/default/grub and disabling the nouveau driver and then switching to Hybrid Graphics at which point ALL of the Oracle Linux kernels, including the UEK3 and the UEK4 will load up the desktop with no issues and with high-resolution.

That is about it for overall notes. I'm going to grow this page with additional detail and screenshots but I wanted to get these basic notes down on the blog.