In Windows, you can use Win32 Disk Imager's READ function instead of the WRITE function you usually use for writing images to your SD card.
In Linux, you can use Andrew Oaklay's instructions:
df -h
.sudo umount /dev/partition1 /dev/partition2
..img
file on your computer - sudo dcfldd if=/dev/sdcardmountingpoint of=imagename.img
.We're doing well! Time to shrink that image using a Linux computer (we use the latest Ubuntu LTS):
.sh
script executable - sudo chmod +x pishrink.sh
..img
file you generated earlier - sudo ./pishrink.sh imagefile.img imagefile_shrunk.img
.