OK, after knowing that I can install Ubuntu from a USB drive, how about XP? Re-installing XP takes a lot of time, mainly because the slow speed of optical drives. It would be great to be able to install XP from USB drive. I found this guide, which details how to create a bootable XP install on a USB drive. The guide focuses on eeePC, but it can work for any other PCs. I used a slipstreamed XP SP3 install disc.
1. In preparation of the USB drive, change its drive letter to be something above the regular drive letter, something like K: or P:. At first, I have my USB drive as the D: drive, and the process was halted in the middle where one of the process said D: drive is invalid. Changing it to P: works.
2. I tried booting the USB drive on my old desktop, it went through the first loading of drivers, but when windows setup said "starting windows," it BSOD. Dunno why. I tried the same thing on my old laptop (the one I installed Ubuntu from USB drive because the optical drive is busted), and it worked.
3. During the reinstall process, don't change the boot order of the computer until you are actually get into the XP desktop. There will be 2 or 3 reboots, keep the USB drive as the boot drive and pick option 2 to "continue install/start XP." If you switch the boot drive to the computer's C drive before the whole process finishes, you'll get missing hal.dll error.
There we go. Loving this USB install as it is much faster than installing from a CD.