Dual Booting on the ThinkPad T440p
For a regular user, fully committing to a Linux-only system can be too big of a leap forward. On my blog, I have been describing how the 'small steps' approach can make the process feel safer. One of those steps is setting up a dual-boot system.
Experimenting with Linux on older laptops can help you become familiar with distros like Ubuntu, Pop!_OS and Manjaro over time, while keeping the fallback option of the proprietary system you've grown used to over the years. Setting up Linux on these older laptops can also help develop confidence with the installation process, and help familiarise you with the different physical parts of a laptop.
With this iterative learning process in mind, I recommend trying a dual-boot system. I had experimented with this on a ThinkPad E540 I bought second-hand, and was now ready to move on to the oft praised ThinkPad T440p.
Below, I will describe two dual-boot setups:
- Windows main <--> Linux secondary
- Linux main <--> Windows secondary
Taking steps in this order helped me eventually commit to a Linux-only system.
Lenovo ThinkPad T440p
Linux content creators (like Wolgang's Channel) seem especially fond of the T440p. As an older laptop, the T440p is easy to find online and relatively cheap for what is inside. It is also very customisable, which is great for learning. Jérôme Loisel's extremely thorough Octoperf article about the T440p and all its potential modifications finally persuaded me to get one.
Looking over my notes written at the time, here are a couple of key elements that helped with the decision:
- The T440p is the last ThinkPad model with socketed CPUs; after that CPUs are soldered on. Socketed CPUs can be swapped out easily
- The CPU has 4 cores and 8 threads, which is more than enough for regular use, and even for the audio processing work I do
- It has 16GB of RAM, which is on par with many regular use laptops in shops today
- By replacing the DVD tray with a special SSD cache, the laptop can house three separate hard drives. This is not only a remarkable amount of storage space for a single laptop, it also gives flexibility with dual booting and archiving large projects
- ThinkPad docking stations with multiple outputs are cheap and easy to find
- a 1920 x 1080 HD screen can be fitted (most T440p have 1600x900)
It should be noted that the T440p is not great for gaming. I use consoles.
I found a seller online who had already swapped in the HD screen and helped out by installing a bigger SSD drive prior to mailing the device. I got the sense the previous owner had really loved this laptop and taken very good care of it. Once it arrived, I could get started setting up my operating systems.
Das Dual boot - Windows first
My first setup was a dual-boot system that started up in Windows 10 Pro by default. This is surprisingly easy to set up, and having spent some time previously learning how hard drives store data helped.
This blog is not a technical guide, but, if I recall correctly, as long as Windows is installed on the main drive first, then installing a commonly used Linux distro like Ubuntu or Pop!_OS on a second hard drive doesn't require any adjustments to the BIOS, which is great; adjusting BIOS stuff feels quite risky to me.1
All of this was made easy by having three separate physical hard drives, which meant I didn't have to worry about drive partitions:2
- Main - Windows 10 - default boot
- Secondary - Linux - manual boot
- Shared large data storage drive
To start up Windows, I just had to turn the laptop on.
To start up Linux, I would reboot the laptop while holding down the F12 key. This starts up a very 1980s looking menu, in which you can select the drive you want.
My plan was to use drive #3 as a shared storage between the two operating systems—easier said than done, to be honest. I spent several weeks learning about different ways you can format a drive so it is visible to both Windows and Linux systems, which was a very good learning experience. Having said that, I was glad that I could always return to my main Windows drive for day-to-day use; not having that option would have made this experience quite stressful.
Big crash
Half a year or so later, I experienced my first full system crash. I was using Clonezilla to clone my Windows drive, which contains all the audio software and plugins that I use for recording and mixing. I wanted to clone this OS because as anyone who works with digital audio will know, it can take many days to install and set up audio software and plugins correctly, so redundancy is in order.
During the process, Clonezilla picked up on some corruption on my main Windows drive that was quietly waiting to cause mayhem at a later point, and things went downhill from there. I learned a lot about corrupted drives and recovery methods during those frantic days, but in the end, I had to give up. This was not great, especially given all the time and thought I had put into the setup.
Drastic as it was, this complete system failure gave me an opportunity to start from scratch, consider the things that had annoyed me about the previous setup, and plan my ideal setup. I spent quite a bit of time planning it out on paper. I bought a new SSD drive and decided to start using Linux as my main daily system.
Dual boot - Linux first
Technicalities aside, I found setting up a reverse (Linux, then Windows) dual boot system relatively painless too. I don't have notes on making changes to the BIOS system, so I assume this was as straightforward as setting up the Windows first system before.
Having tried out a range of Linux distros by now, I decided on Pop!_OS, partly because it was recommended by people I had been following in the privacy community. So now, my setup looked like this:
- Main - Linux Pop!_OS - default boot
- Secondary - Windows 10 Pro - manual boot
- Shared large data drive
Trying to get a shared data drive working well with both systems continued to throw up complications, as was the case previously. I still run into the occasional permissions problem today.
But overall, this setup felt great. It was exciting to finally bite the bullet and fully commit to Linux for my daily use. I liked the snappy feel of Pop!_OS a lot, and it was fun learning about customisation and generally just getting into the Linux structures and applications. It's one thing to have Linux on a practice machine, but quite different to depend on it for daily use.
The Windows drive was now just for audio processing work; I could boot into that OS as needed. In hindsight, that didn't work. Eventually, I removed Windows from the device altogether, a process I'll describe in a separate post.
Problems
While fairly easy to set up, running a dual-boot system does increase the chance of complications. Here are a few I ran into:
- Backblaze, a good third party application that I had running in the background for worst-case-scenario crashes as described above, doesn't run well in Linux.3 Backblaze was what saved my files when the drive became corrupted, so I was reluctant to give up on this subscription, but later found a similarly reliable backup solution with pCloud
- I ran into problems with user permissions when trying to edit directories (folders) on the shared data drive while working from Linux. This was quite a complex problem, and still is. Having a pCloud backup running at the same time compounded the permissions issues, and at times pCloud's syncing will get stuck on certain files. A full reboot usually solves the problem. I have run into a bit of a wall on this one
- The barrier of rebooting the system to work on audio was just high enough to stop me from doing it. It is interesting just how impactful these tiny workflow barriers are. After months of denial, I admitted defeat and moved my audio work to a different device.
- I have the T440p hooked up to a docking station most of the time, but when I detach it, I have experienced annoying response issues with the touchpad.
- When booting into Windows, the backup drive would sometimes just disappear, which is not great of peace of mind. I ended up replacing that physical drive with a new one
- As already mentioned, the T440p is too old for new games. Eurotruck Simulator on Steam, for example, looks pixelated
Current use and looking ahead
I'm writing this article on the T440p I bought at the time, using Pop!_OS. Making the switch to Linux in small steps, over a long period of time, using several devices and dual-boot systems, turned out to be the right path towards full adoption of Linux.
I like the laptop so much, that I bought one for my middle child, who is now in high school. This device also runs Windows and Linux (Ubuntu is good for kids), but with Windows as the main system. This is to do with Minecraft servers and software required for school. I met the seller in person in the city, and thought I saw a hint of reluctance as he handed over his well-looked after T440p. It's just a lovely device.
As I'm typing this article, I'm well aware that these configurations and problems are highly specific and personal. However, I hope that by describing my specific hurdles and victories, I might encourage anyone thinking of switching over to Linux to take it slow and in small steps.
Documentation
Octoperf article on T440p
"Should you buy a Thinkpad T440p in 2019?" Wolfgang's Channel
Updates
A reader made the following recommendations after reading the post:
I spent a lot of time struggling with shared drives and permission errors and eventually settled on a server running samba shares; this handles all the permissions issues seamlessly across platforms with the added benefit of making my files accessible on my phone via my VPN.
My only other dual-boot 'hack' is setting up GRUB to always boot from the last OS booted. This means that if Windows decides to boot your computer for you in an attempt to update, it doesn't default to your Linux partition and end up burning power all night before you notice the next morning....Check out the Arch Linux wiki for tips - it is a very well maintained source of information and is often applicable to non Arch-based systems. Most of the pages on common packages like GRUB have detailed info about specific use-cases and configuration examples.
Thanks for the useful input!
-----Discuss on Reddit-----
Subscribe to my blog via email or RSS feed.
Find me on Mastodon and Twitter.
Back to Blog
"What Is BIOS (Basic Input Output System)?" (Lifewire, 2021)↩
A single hard drive can be divided up into separate partitions, which will be seen as separate drives by the OS.↩
While Backblaze does have a tier for backing up files that can work with Linux, it feels a bit too complicated for regular customers.↩