My old laptop retired and I need to move everything over. I initially thought it would be simple as I always backup my disk with Norton Ghost. But the real story is everything but simple.
The image was made from a 40GB partition and I was restoring it to 100GB disk. Ghost has an option to resize the partition to fill unused space after restore and I used that. Of course, it didn't work and ended with a corrupted file system that couldn't be recognized. OK, let's restore the 40GB as is and resize later. This gave me a sound C: drive but when I try to boot Windows XP, BSOD!
OK, we are on a new hardware platform, I understand that Windoze can never be that smart. The BSOD was fixed by running repair installation with original Windows XP installation CD.
I finally booted into XP on the new laptop with an outdated SP2. I immediately started the update but got 0x8007043b error. It turn out to be a well known issue and fix is here.
What's left are the audio and modem drivers. The driver downloaded from Lenovo/ibm site doesn't install. The installer complains about the missing of the HD Audio Bus driver. I found out a good article here that provided the detail instruction of how to install that.
The last thing left was to resize the hard drive. This time I used qtparted and ntfsresize to resize the partition. You can get those utilities in knoppix. A lot of information are available online about how to reduce the ntfs partition size but I needed to do the opposite. Using qtparted and ntfsresize was a smooth ride. You must use qtparted to resize the partition and then ntfsresize to resize the volume if you are making a partition bigger.
Overall this saved me a lot of time, otherwise I'm still reinstalling all my applications and migrating data. Mostly likely, digging around for the installation media.