- Using USB—Right-click on the USB icon on the bottom-right of the guest VM window. Click the checkbox corresponding to the device (e.g. scanner or printer) you want to enable. Deselect it when you're finished with it. Only enable a device when you need it; when a device is enabled on the VM, the host can't access it anymore.
- Printing and Scanning—Find the XP drivers for your printer and scanner. Install them as you usually would for XP, making sure the USB devices you want to install drivers for are enabled.
- Virtual Hard Disk Compacting:—To compact the virtual disk to make it give up unused space, first you have to write zeros into every byte of free space. For Windows, the answer is here. As the article says, defrag using the Windows utility first. While the advice is for MS Virtual Server, it should serve you equally well. Once this is done, shut down the guest. Then, shut down the xVM console.
Then, run this command on the host:
VBoxManage modifyvdi /home/username/.VirtualBox/VDI/Kubuntu.vdi compact
The above is a single line regardless of how line wrap makes it look. Use the correct filename if you called it something else.
I recommend not keeping critical files on a guest VM filesystem. They're still flakier than the physical systems on which they run. During my first experiments with the earlier OpenSource VirtualBox, I had a Kubuntu guest come up both unbootable and inaccessible. However, replacing the installation didn't bother me; it was a new install with not much more than the base OS on it. You can keep your data on your host using the Shared Folders feature whose implementation is discussed in the Guest Additions setup section above. You can use the Snapshot feature to help you keep a backup on your host if you prefer, but I'd rather keep my data in its usual place and simply back up the whole system including the VM regularly.