I have Windows 7 installed on one of my disks. I want to boot this Windows system in my Xen HVM, but I do not want the changes to be permanent. So I want to create a snapshot of my Windows 7 partition. I checked with LVM, but it seems LVM can only create snapshot for LV it created. I am looking for a more general snapshot method.
You can use the lower level
Now you can point xen to /dev/mapper/snap instead of /dev/sda1 and any changes it makes will be discarded when you finish and use dmsetup remove to remove the snap and origin devices, and lvremove to remove the store volume.
If you aren't using LVM then you will need another partition or loop device to use as the backing store instead.
LiveCDs tend to do something like this. They have a read-only image from the CDROM and then overlay with a RAMdisk.
The filesystem in question is UnionFS. An alternative would be AuFS, but they should both be easy.
I'd tinker with it in a VM first before running it against something you care about.