Sorry for late reply.
s/sp2/sp3 - although it shouldn't make a difference from sp2 onwards.
Anyway - the tests I did were because of weird laptop, where I shrinked
whole win7 stuff and having no primary partitions left to use, I tested
my usual windows xp installation I deploy with ntfsclone. Originally
that XP were installed from installation disk merged with sp3 (or how
it's usually called in windows world - slipstreamed). Of course,
windows xp itself will not present any options to install itself into
logical partition in the usual way - but during later deployment it's not
a problem to put it where one's want.
It's possible that this wouldn't work, if windows were installed first
from pre-sp2 media, and then service pack was installed (in such case,
ntldr in C:\ is not updated afaik). It's also possible, that "brute-force"
copied pre-sp2 or win2k to a partition made with either - a) xp sp2+'s disk
manager or b) mkfs.ntfs and with updated most recent ntldr - would boot as
well (the partition requirement is due to potential differences between the code
in bootsector, or more precisely - $Boot - first 8KiB of ntfs partition).
Obvious requirements besides the above (ntldr, perhaps $Boot as well) are:
- mentioned "hidden sectors" (must be manually adjusted, recent syslinux's
chain.c32 has option to do it automatically)
- adjusted boot.ini (to point to new partition, eventually other windowish
stuff as necessary)
As you can see, there're many "if"s and combinations here that I didn't test.
On a related note - ironically, while I had 0 problems making it work
through syslinux (both regular chaining and through direct ntldr loading) -
I couldn't make win7's bootmgr (bcd, bcdedit ....) do it properly. Oh well.
--