I use DD, generally from a Linux environment, for absolute 'bit by bit' copies of anything. I'd recommend using a Live Linux CD like Ubuntu or any other that floats your boat. There are lots of good tutorials out there for using this program but try it out first on some non-critical hardware. This command is powerful and will do what you ask, without question, even if that is hosing you PC's system partition. If you really want to play, I'd disconnect all HDD from the PC and boot from the CD, then you can experiment all you want.
In general it looks like this from a Terminal window:
dd if=/dev/yoursdcardhere of=/path/to/image/filename
dd if=/path/to/image/file of=/dev/newsdcardhere
dd is the command, the default block size is 512 bytes and it will go until it reaches the end of the device
if=/dev/yoursdcardhere is the argument that tells dd where to read from, as in if= stands for 'input file'
of=/path/to/image/file is the argument that tells dd where to write the data that is read and what to call the file, of= stand for 'output file'
The command can go from one SD to another directly by specifying of=/dev/othersdcardhere. You'd have to plug in the card, unmount it and see what the device is called with dmesg.
Bookmarks