ThinkPad X13 Bluefin Dual Boot

Generation X Change

After 10 years of almost daily use I finally retired my trusty Lenovo X220 and inherited it to my seven year old daughter. She was very excited. As a replacement I got a Gen 5 X13 with Intel Ultra Core 155u processor. I took the cheapest storage option with 512 GB SSD because I wanted to replace it with a faster 1TB Samsung EVO 990 Pro NVMe anyway.

Initially I wanted to get a bit more oomph in the graphics department so I was hoping for a 155h option with the new ARC iGPU but it was not available. The fellow nerds over at r/thinkpad also hinted that the poor cooling capabilities of the X13 being similar to the X1 would from their experience just leave the 155h constantly throttling under GPU load anyway so in the end I would be left with 155u-like performance but more fan noise.

Here are some notes on how I got my machine set up as a dual boot configuraion with one single SSD.

Deshittifying Windows 11

The Windows 11 installation went smoothly and I already anticipated the excessive amounts of Microsoft and Lenovo bloatware that greeted me when I eventually logged in.

So my first step was to install and run the very easy to use and quite amazing Win11Debloat PowerShell script. It has a default mode that removes the most common annoyances and an interactive custom mode in which you can choose in detail which of the bloatware you want to remove, how far to declutter the Start menu and do things like reverting to the old Windows 10 right click dialog in Windows Explorer. I ran custom mode and got rid of almost everythin, including all the Cortana and Copilot AI shenanigans and useless tools that just eat up precious storage space. I kept the Xbox Game bar because I like its easyto use screencapture capabilities.

The Edge browser can only be easily removed if the Windows 11 system is licensed in the EU. In the rest of the world there is no customer protection, but usually there are several Registry hacks to enable being able to uninstall it. My laptop is neither European nor did the Regedit hacks work, so I used Shadow Whisperer's Remove MS Edge script that did the job efficiently and without hassle.

I then installed Chocolatey and WingetUI for all open source package management needs I am so used to from Linux, ran all system updates and important Lenovo settings (swapping Fn and Ctrl keys!) and ended up with a nice, decluttered, and compact 29 GB large Windows system instead of the 90+ GB it had before. I also installed the open source WinBtrfs driver to be able to access my to be installed Linux partition later.

My system came with Bitlocker activated by default. This creates issues with Secure Boot if another OS will be present. So make sure to disable it before proceeding.

The final step was to use Windows 11's built in disk settings to shrink the system down to 128GB to leave the rest for my daily driver Linux system.

Disable Secure Boot

The X13 has Secure Boot enabled by default and that prevents you from being able to boot from any USB media. To disable it temporarily and prepare UEFI for enrolling Linux Secure Boot keys later

SSD Replacement and Cloning

Lenovo shipped the device with a built in Western Digial SN740 SSD that performs at a sequential read speed of up to 3,400 MB/s and write speed of up to 2,800 MB/s. The replacement Samsung EVO 990 Pro eaisly outperforms that with reads up to 7450 MB/s and sequential writes up to a whopping 6900 MB/s. But before replacing the SSD I wanted to get the Windows 11 Pro setup done so I could clone it to the new drive and keep the old one as a backup.

I turned the laptop off, carefully unscrewed the bottom panel and even more carefully replaced the M.2 SSD. I placed the old WD SSD into an external USB-C enclosure.

Notes: Unscrew the single screw that holds the SSD. Be very gentle pulling it out to the side. Take extra care to not break the M.2 connector. The drive will resist a bit due to thermal pad on its bottom side that sticks to the mainboard. Once the SSD is out carefully take the thermal pad off and stick it to the underside of the replacement SSD. Now push it carefully into the M.2 connector until it is firmly placed and reapply the screw.

In the meantime I downloaded the latest CloneZilla ISO and applied it to my USB drive.

To clone the SSD drive,
- Start the system, hit Enter and F12 and choose to boot from the USB Drive
- Inside CloneZilla select your language and keyboard
- Select 'device-device' mode
- Select 'Beginner' mode
- Select 'disk_to_local_disk' clone mode
- Choose the source SSD (WD Drive in USB-C enclosure)
- Choose the target SSD (Samsung Drive built in)
- Select 'sfsck - Skip checking/repairing source file system'
- Select '-k0' to use the exact same partition table as the source drive
- It will ask two more times to confirm source and destination
- Then you will see the 'Partclone' screen and follow the progress
- The whole process took around 20 minutes on the X13

Unleashing Bluefin

Bluefin has been my daily driver on my other machine for months now and I am very satisfied with it. It's a robust Fedora system with a radical 'cloud native' approach, shipping with distrobox containerization for everything commandline related and other opinionated and dev related but very much down my alley distro choices. Naturally I wanted to continue using it also on this new laptop.

To install it you first need to prepare a bootable USB drive with the Bluefin DX ISO. I used the latest branch instead of the default GTS version because it gives you Fedora 40 instead of 39.

The USB drive should now boot into the Anaconda Fedora installer.

Fixing the Bootloader

At this stage my system rebooted into Windows 11. I don't know why. I guess the GRUB bootloader installation didn't work for some reason. If you find yourself in the same situation I fixed it by making a bootable USB drive with Super GRUB Disk and booting from that. If not, just proceed with the next section.

Once inside Bluefin, open a terminal and execute sudo grub2-mkconfig -o /etc/grub2-efi.cfg to fix the GRUB bootloader.

Secure Boot Activation

Inside Bluefin open a Terminal and enter the following commands to enroll the Safe Boot keys into UEFI on the next boot. Follow the interactive terminal instructions closely.

ujust enroll-secure-boot-key
systemctl reboot

On the next boot you will be greeted by a blue screen confirming to enroll the boot key and then load GRUB and start into Bluefin.

The final step is to reboot into the UEFI Setup using the terminal command systemctl reboot --firmware and re-enable Secure Boot under the Security settings.

If everything works, you should now be able to successfully boot into Bluefin or Windows from GRUB with Safe Boot enabled.