- Missing drivers for lots of stuff, including the function key functionality and Battery tools, which annoyed me a bit.
- atleast one worm pre-installed, which annoyed me a LOT.
So I decided to get myself a not-so-expensive 240G Kingston A400 SSD for USD 40 (seems acceptable as per amazon's reviews), and use the correct recovery media to install W7 and proceed from there.
With the help of theterminator93 who had posted about recovery media, I got myself the recovery images and proceed to burn them onto DVDs.
With the new SSD installed, the external DVD (a Buffalo drive) attached, and OS disk 1 of the recovery set ready to boot, I turned on the laptop to get everything sorted. There I hit my first snag: as I had completely forgotten to reset the BIOS to default settings, Win7 files would load, get to the Lenovo Splash screen, and then **poof** - reboot. Not just that, this was an infinite process. After a lot of googling all over, checking MD5 sums and re-burning a DVD needlessly, I read the idiot-resistant documentation on recovery media usage by Lenovo and finally reset the BIOS to it's defaults. And lo and behold; it "worked".
The recovery process first asked for partition table creation, where I selected GPT, then proceeded to ask me to insert, in order
- Applications And Drivers Recovery Disk 1
- Applications And Drivers Recovery Disk 2
- Operating System Recovery Disk
- Product Recovery Supplemental disk **IF I had it**
After completing the copy, the laptop proceeded to reboot and start the recovery process from the SSD itself. (update #1)
Once the process completed (that took almost 2 hours, 2 DVD drive changes, and 5 or so reboots) I was presented by the first login process for the laptop. I don't remember much of the questions, just that I filled out all required information as correctly as I could, with a few exceptions - I refused to enable all bloatware that was requested by the process (Norton AV, some cloud sync and other such shyte).
On first login, I uninstalled the above bloatware (Chrome and Google search toolbar included), leaving just the Lenovo tools and utilities in place: It was nice to see the function keys work as expected without needing to do a thing. After installing Firefox, next up was M$haft Security Essentials to replace Norton.
ThinkVantage System Update (v4.x) no longer worked, and so I had to download and install Lenovo System Update (v5.x), and it's prerequisites(MS .NET 4.5.2 runtime) by downloading from their respective product pages.
Now I was ready to run the Update processes, both for Win7 and Lenovo, which being a couple of Gigs worth of downloads, took the whole night.
- Windows is auto-activated, showing a ***-OEM-*** product ID, and with a lot of ThinkPad and Lenovo branding all over (I liked the ThinkPad part).
- The recovery media has bloatware, which is hopefully not virus infected, and luckily removable, before the first connection to the internet.
- The Disk layout created by the recovery process creates 4 partitions (no questions asked, other than type of the Partition table; I chose GPT):
- An EFI system partition of 100MB
- A Microsoft reserved partition (most probably a recovery disk equivalent). (update #1)
- The Win7 OS disk which takes most of disk and depends on the Disk size.
- Lenovo Recovery partition of size 13.67GB
- A partition with no information that is exactly 8.00 GB in size of type "Intel Fast Flash" (update #1)
- Shinking the OS Disk will only reduce it to 51% of it's original size due to NTFS filesystem layout caveats: a copy of the Master file table $Mft is created right in the middle of the disk, and disk manager cannot move it to reduce the disk size further. More research needed as I want the disk in 3 parts: Win7 - Shared - Linux.
- I finally figured out that the last 8G of the disk was an "Intel Fast Flash" partition expressly kept for "Speed start" and it's size is matched to my RAM of 8G. This also means that in case I want to increase the RAM on the x230, I better keep an appropriate sized block of free space (8G) ready and available at the end of the disk **immediately before** the Fast Flash partition to keep utilizing the amazingly fast Win7 startup speed.
- With the help of Google, I finally managed to move the $Mft data to the "new" middle of the newly downsized partition and downsized it down to 80G from the 107.812 G that it was, leaving me a large chunk of free space for Linux and "shared" partitions.
- The newly freed space was divided into 5 partitions via windows as prep for Linux install:
- 20G as %home%/workspace to be cross-mounted with $HOME/workspace
- 20G as %home%/misc to be cross-mounted with $HOME/misc
- 256M as /boot (easier for grub to find boot files if the /boot is a small partition)
- 30G as root for linux
- The rest for $HOME/VirtualBoxVMs
The last time I messed around with Linux on a personal laptop was 2014 when I installed Lubuntu 14.04 on my Toshiba AC-100 tablet. Otherwise, I'm either net-installing Centos on servers or Centos/Xubuntu on VMs in VirtualBox (whatever the Host OS on my office workstation). So I was a little apprehensive on installing Linux on the laptop, and as it turned out, rightly so; the process which should've probably taken 30 minutes at most ended up taking almost 3 hours.
I'd made a bootable USB stick with the Xubuntu 18.04 ISO following the directions over at the ubuntu site, and I've been using that to live-boot, with a partition mounted as "/home" to make the user sessions persistent. This was to be my source for the install.
The installer allowed me to correctly point it to "/boot" and "/", but popped up a warning about a missing partition at the beginning of the disk for boot files. I found this weird as the EFI partition was already in place, so it should have been recognized, but I continued anyway. As you can probably guess, the install succeeded, but with no way of booting into it. A quick search pointed to EasyBCD as a possible solution to using the WinBootloader instead of the Linux one, but that didn't help at all.
So I decided to try messing around with the USB stick bootloader and passing it the appropriate parameters to chain-load the Linux on the SSD. A lot of reading on isolinux and chaining to disk booting followed, without much success.
After a couple of hours of research, I found some page that clearly pointed out the difference between UEFI vs LEGACY USB-booted Boot Menu presentations of the *ubuntu ISOs. I was clearly booting the wrong mode (aka Legacy). A quick bios setting change to prefer UEFI mode to Legacy, and I was back in business. the install process was repeated, much quicker, as this time I just needed to select Replace existing install, with the bootloader installing perfectly.
Booting into linux was awesome, with a caveat: the option `Replace existing install` does not take into consideration any mountpoints other than the root partition, which meant that my `/boot` partition was now orphaned. From personal experience I knew how to fix it so I did:
- Mount the partition to /newboot
- Clean out the old boot files in there
- Unmount /boot/efi
- Moving the contents of /boot to /newboot
- Unmount /newboot and add appropriate mountpoint record into /etc/fstab to mount the partition at /boot before the entry for /boot/efi
- mount /boot and then /boot/efi
- Run grub-update
Installing from Recovery and then setting up Dual-Boot isn't hard, but does suffer from a few gotchas:
- Hard to reduce the windows partition below 51% of original size
- Fastboot will fail to work correctly if RAM is increased after recovery CD install
- Linux installer better boot in UEFI mode or there will be issues in bootloader installation.
- Set up the correct user mappings between Windows and Linux users for each NTFS shared partition.
- Create the correct mount points for them all as appropriate.
- Finally start on work...