I was very much surprised just how easy it is to convert a Microsoft Windows 7 laptop into a virtual machine running within Sun’s VirtualBox. This is what I did:
- Pull the hard drive from the laptop. On my Dell Latitude, it was simply unscrewing the two screws on the bottom of the laptop marked with the hard drive simble
- Attach the drive to a SATA to USB connector and plug it in to your Linux box
- If you don’t have VirtualBox installed, do so now using apt-get, rpm, or whatever you use to install software
- Follow How to migrate existing Windows installations to VirtualBox but make sure you specify the entire drive (i.e. /dev/sdh) and not individual partitions else you will miss the hidden partitions that Vista and Windows 7 create
You should have a working Windows 7 Virtual Machine. You’ll notice that you probably have a huge vdi file. Let’s shrink that down:
- Within Windows
- download and install sdelete from Microsoft
- download and install PowerDefragmenter
- Run PowerDefragmenter on your c: drive (as administrator)
- Run “sdelete -c c:” from a cmd window (as administrator)
- shutdown windows
- On the host
- run “VBoxManage modifyvdi my_disk.vdi compact” replacing “my_disk.vdi” with the name of your vdi file you created earlier
- Note that if you get a “Shrink hard disk operation is not implemented” error, then you’ve hit bug #2833 and you will want to download the latest VirtualBox to fix it.



