OErjan:
Thanks for your information again. I understand everything you say. I now have a 250GB USB drive and it IS the same 'geometry' as the main HD (255 heads, 64 sectors/track) but I think this is a 'virtual geometry' and not real.

I have partitioned the USB drive with two partitions (sda1, sda2) which are exactly the same sector-size as the hda2 (the C: drive where Windows XP is located) and another 32GB FAT2 partition. Below is the output of the fdisk -l -u command:
++
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/sda1 63 111266252 55633095 7 HPFS/NTFS
/dev/sda2 111266253 222532442 55633095 7 HPFS/NTFS
/dev/sda3 222532443 288061514 32764536 c W95 FAT32 (LBA)

Disk /dev/hda: 60.0 GB, 60011642880 bytes
255 heads, 63 sectors/track, 7296 cylinders, total 117210240 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 63 160649 80293+ de Dell Utility
/dev/hda2 * 160650 111426839 55633095 7 HPFS/NTFS
/dev/hda3 111426840 117194174 2883667+ db CP/M
/dev/hda4 117194175 117210239 8032+ 83 Linux
++
I did this partitioning with fdisk itself so that I could be certain that the sizes were exact - the partition tool in XP will only partition in integer multiples of 1MB. On hda I saw that the NTFS partition starts on a cylinder boundary but I didn't do this on sda, just start the first partition on sector 63 as usual. Windows seems to be happy about this. I formatted sda1, sda2 and sda3 in Windows and I can work with all partitions in both operating systems (but the NTFS partitions are read-only in Knoppix of course).

Next job was to execute "dd if=/dev/hda2 of=/dev/sda1" but I found a problem - it's very slow (139kB/sec). The backup and restore operations will take more than 4 days at this speed! I checked a few other dd commands like "dd if=/dev/zero of=/dev/sda1" (fill sda1 with zeros) and that is also the same slow speed; "dd if=/dev/hda2 of=/dev/null" (read hda2 only) is 32MB/sec so that's OK. In Windows XP the transfer rate from the HD to the USB is 4MB/sec but that is copying a folder as files so maybe it could be faster for a single unfragmented file. But 4MB/sec would be acceptable for my purpose (~4 hours).

So I have some work to do, to find why Knoppix is so slow. Maybe I experiment with the bs= parameter. Maybe Knoppix is driving my USB port in USB 1.0 mode. Maybe someone else reading this can help me with this?

I don't think I will get into trouble with the NTFS filesystem inside sda1. Windows will only need to read/write inside the NTFS filing system on hda2. For the backup operation Knoppix will ONLY read hda2 and write sda1 as a single device. For the restore operation Knoppix will read sda1 and write hda2 as a single device. There will be no need for Windows or Knoppix to write to the NTFS filesystem in sda1. I could make it read-only. I think it will be OK for Windows to read files from the NTFS filesystem on sda1 if I need to do it. Knoppix could read files from sda1 but there will be no need for this for the backup/restore job.

I think it will be easy to backup/restore the MBR/partitiontable on hda with ..
dd if=/dev/hda of=/.../mbr.dat bs=512 count=1
dd if=/.../mbr.dat of=/dev/hda

Similarly for the other partitions on hda if I ever need them again, but they can be restored in other ways.

Peter