I've been running Vista on my work laptop since I started at the current job a couple of months ago. It's mostly been OK, though early on I ran into a fun bug where Windows Updates got stuck in an install loop that never ended, rebooting over and over again, and so had to boot off the DVD and repair the install.

Last week, however, things went all to hell after I cleaned up some unused files off the drive and tried to defragment. The file system became corrupted, apparently breaking some important system files, and the system was hanging and blue screening randomly. I tried a bunch of things, eventually booting off a DVD again and running an offline chkdsk /b (checks all blocks for bad ones and remaps). There were a bunch of logical filesystem errors found, but no bad blocks, which was both a good sign and bad sign. The type of failure I was seeing acted more like a bad drive, I thought, but on the other hand I could always reinstall. Then I ran a sfc /scannow, which scans all known system files and repairs them from backup copies. Unfortunately a bunch of them were broken, and so were the backups.

I could have repaired again, but it was more of a pain than it was worth, and I wanted to be 100% sure the corruption was gone. Which means formatting. Which means reinstall.

So I had to decide what to reinstall.

XP is the old trusty friend, but getting dated, especially since we're now rolling out Windows Server 2008 systems and the compatible tools are only available for Vista and Windows 7. Plus, we didn't have 64-bit XP, and my laptop has 4Gb of RAM and I'd like to run 64-bit virtual machines for testing.

Vista worked OK, but it was definitely a pig for memory, frequently having over 3Gb mapped to paging files even when not much was running. Plus I was nervous now about having it as the base OS, in case it became corrupted again.

Windows 7 is still pre-release. My boss has it installed as the only OS on his laptop, but I don't trust it yet. I do want to play with it, though.

So, I settled on Ubuntu Desktop 9.04 x64 as the base OS on the laptop, with Windows 7 running in VirtualBox. Ubuntu now has native support for our Cisco VPN, even integrated into Network Manager, so it's extremely simple. One thing I did learn, though, is that after you install network-manager-vpnc you have to reboot the machine in order to enable the dbus popup that prompts for passwords -- otherwise it just quietly fails and the logs are not obvious. Hopefully someday they'll make it possible to insert new dbus configs without needing to reboot.

With the combination of the base Ubuntu OS (so fast!) and the Windows 7 VM (still quite snappy, with 1.5Gb RAM allocated) I've managed to get everything running that I had before, except one -- SQL Management Studio 2008. I'll write a separate post about that. Oh, and adding/removing the external monitor isn't as smooth as I'd like -- it keeps telling me it has to adjust the virtual resolution after I wake the laptop up from sleep, and that requires a logout. I'm sure there's some way to fix this in the config files, and I'll look sometime when it bothers me more.

All in all, I'm quite happy with the setup. I'll let you know if that changes. :)