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
- Reboot and hold Enter and then hit F1 to enter the UEFI Setup.
- Go to 'Security' and then 'Safe Boot' and disable it.
- On the same page at the bottom enable 'Allow Microsoft 3rd Party UEFI CA'
- Hit F10 to save
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.
- Download Bluefin DX latest
- Create bootable USB drive using Fedora Media Writer, Rufus, or other similar tool
- Plug the bootable USB drive
- Hold Enter and then hit F12
- Boot from USB
The USB drive should now boot into the Anaconda Fedora installer.
- Select your language and localization settings and then click 'Installation Destination'
- Make sure the internal SSD is selected (black checkmark)
- Under 'Storage Configuration' select 'Custom' and then click the 'Done' button at the top left of the screen
- Now you should see the 'Manual Partitioning' screen that shows you the EFI and Windows partitions already present on the SSD. Just ignore them.
- Using the + button at the bottom I added the following additional partitions. (taken from here):
- 500 MB ESP mounted at
/boot/efi - 1 GB ext4 mounted at
/boot - 300 GB (change to how much you want) btrfs mounted at
/
- 500 MB ESP mounted at
- Hit 'Done' at the top right of the screen and proceed with the Bluefin installation
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.
- Select 'Detect and show boot methods'
- From the list select '(hd1,gpt5)/efi/fedora/grubx64.efi (hd1,gpt5)' (or similar)
- You should now boot info Bluefin. If not try another item in the list.
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.