So, I decided to get a Lenovo ThinkPad x120e for development purposes. The Chromebook I got from Google I/O made me appreciate the value of a light laptop with massive battery life, and the experience of installing Ubuntu on it made me think that I could actually start using something like that for development purposes. Of course, the disadvantages of the Chromebook are that it’s not necessarily easy to install different OSes on it, and the stupid, stupid touchpad. The SSD can be upgraded, so that’s not a big deal.
One of the reasons I got into Android way back in the G1 days was that I wanted a decent smartphone, but having played around with iPhones, I really liked physical keyboards as well, so along comes the G1, and I was instantly sold. The trend towards buttonless trackpads is terrible for the same reasons soft keyboards aren’t the end all, be all. A soft keyboard will NEVER be as comfortable as a real one for extended typing sessions, and buttonless trackpads will ALWAYS misinterpret your touches a certain percent of the time.
Anyway, the x120e comes with a few disadvantages too:
1) It’s default Windows 7 installation comes with a ton of bloatware, and
2) For something that’s supposed to have a ton of battery life, an HDD seems silly.
So of course I ripped the HDD out, and replaced it with a Samsung 470 series 128gb SSD. Works great.
Of course, the next step was Ubuntu. There’s a number of pages detailing what you need to do to get Ubuntu running on the x120e, and I’ve already posted about one of the pitfalls I encountered, so ’nuff said for the mo.
Eventually, I decided I wanted to dual-boot Windows 7 though, since Ubuntu is great, but it’s not as well supported as it could be, software-wise (GIMP is just bad) and WINE isn’t perfect. Here’s where I ran into problems.
I’d reserved some space, knowing I was going to install Windows 7 eventually, but when the time came to do it, Windows refused to install, saying that it couldn’t be installed to a GPT type disk or something. Googling it didn’t help much, so I decided to backup the Ubuntu installation using dd, nuke everything, and try again. I repartitioned the disk using the Windows 7 installer, and installed.
Windows installed fine at that point, but then the Ubuntu installer couldn’t see the Windows install, and tole me the disk was blank. Googling around led me to some people saying that if you use GParted to create an NTFS partition, everything works, so I did that, and it did. I then re-installed Windows, and when it came time to install Ubuntu, it saw the Windows install, and everything was hunky-dory.
Until I rebooted, and I never got the GRUB menu. Well huh. I tried installing EasyBCD, but then when I tried going to Ubuntu, all I got was a GRUB prompt, and nothing else.
The solution to that eventually wound up being to take the hard drive out, put it in a USB enclosure, hook it up to another Ubuntu machine, and use sudo grub-install to reinstall GRUB.
The full process:
1) Hook the drive up to Ubuntu machine #2
2) Use GParted to figure out which device the drive was. (In this case, /dev/sdc. The Ubuntu partition was /dev/sdc5)
3) sudo mount /dev/sdc5 /mnt
4) sudo grub-install –root-directory=/mnt /dev/sdc
On reboot, I got a bunch of scary “Error, file not found:” messages that went away after awhile. Eventually, I got to an actual command prompt, typed sudo grub-update, and after that, everything was cool.
Because I was restoring from a disk image, and because the drive configuration had changed in the meantime, I had to go into /etc/fstab, and change the UUIDs there to the appropriate ones for the new configuration. You can find the UUIDs for your partitions using GParted.
There were a ton more dead ends and missteps that I’ve left out, but those were the major pain points. At the moment,the only problem is that if you go from Windows 7 to Ubuntu with a warm boot, Ubuntu freezes, but cold booting works fine.