I had the same problem. Formatted a 2gb SD card in my camera. Place it
in a reader on my Vista laptop and only 1gb could be seen. Disk
management could see the missing gig as unallocated but would not
touch it.

Then I remembered a method I came across while playing with Windows
Embedded. You need WinPE. You can get this by searching for and
downloading the AIK sdk from Microsoft.

Open up a WinPE command window.

run the DISKPART applet by typing DISKPART at the DOS prompt

Enter the command: LIST DISK to see all the drives attached.

Identify the USB one. (Mine showed as 1998MB).

Enter the command: SELECT DISK n (where n is the disk number reported

Enter commend: DETAIL DISK (This will report the Disk in more detail
so you can confirm it is the USB drive)

If you are satisfied then enter the command: CLEAN

Now enter the command: CREATE PARTITION PRIMARY

Select this partition by entering: SELECT PARTITION 1

Make it active by entering the command: ACTIVE

Finally enter the command : FORMAT fs=ntfs

The formatting may take some time but when it has finished you will
have you 2gb back working.