Firewalker said:
I suspect somewhere around here is where my problem lies. I went to disk
managemtn after I formatted it the first time. It originally showed the card
had a capacity of 16GB even though only 960MB was available. But, when I
formatted it, that's when the 16GB capacity also turned into 960MB. How do I
delete the partition or see if one is there? The layout says "partition",
but when I right click on the drive, the "delete partition" option is grayed
out.
So it is not partitioned then.
There are a couple ways to prep a storage device. Various OSes restrict how easy
it is to do these things. If you alternate between OSes (I use Windows some times
and Linux other times), you can easily do both.
These are the two options I've seen. The first would correspond to my hard
drives right now. The first sector contains the MBR (a sector is 512 bytes).
The MBR has four entries that point to up to four primary partitions. There
is also a mechanism, for extended (logical) partitions, to allow even more
partitions than the four shown. I generally stick with the primary type.
+------+----------------+----------------+----------------+----------------+
| MBR | Partition #1 | Partition #2 | Partition #3 | Partition #4 |
+------+----------------+----------------+----------------+----------------+
The second option just writes a file system, without an MBR sector. For example,
I've done a copy of a 1440KB floppy diskette, sector by sector, to a 1GB flash
stick, and after that, the flash stick said it was 1440K in size, and I could
not store any more than 1440K in it, even though it was a whole gigabyte in
size. When I trash the info stored in that flash stick, where those 1440K
of storage are located, it stops doing that

So I got all my capacity
back, after erasing it.
+--------------------------------------------------------------------------+
| Partition |
+--------------------------------------------------------------------------+
My guess is, yours isn't erased yet.
Get a copy of the Windows port of "dd". "dd" stands for disk dump, originally
written for Unix. This one has one tiny but irritating bug, but nothing
serious.
http://www.chrysocome.net/dd
You use the executable in a DOS (Command Prompt) window. CD to the directory
containing the executable. The first command to try, is this
dd --list
That will give the names of all the storage devices and their sizes. Since
the labels or drive letters won't be shown (this is physical level info),
you must use the size info to figure out what is what.
Since your drive is currently formatted in some FATxx format, chances are
"dd" is not going to get into a snit about permissions. You should be able to
write to it. I have trouble with "dd" sometimes, working with NTFS partitions,
or trying to overwrite the system partition
After listing all the drives, you look for a likely entry. For example,
I picked this out as being my 8GB flash stick. Partition0 refers to the size
of the whole stick 8,019,509,248 bytes. Partition0 is the "raw" device and that
is the one that is going to make the erasure attempt work right. The file system
(FAT32) in the first partition is 8,013,233,152 bytes.
\\?\Device\Harddisk3\Partition0 <----- represents the whole stick
link to \\?\Device\Harddisk3\DR15
Removable media other than floppy. Block size = 512
size is 8019509248 bytes
\\?\Device\Harddisk3\Partition1 <----- my FAT32 partition
link to \\?\Device\Harddisk3\DP(1)0-0+10
Removable media other than floppy. Block size = 512
size is 8013233152 bytes
If I run PTEDIT32 by double clicking it, it shows me the contents of the MBR.
ftp://ftp.symantec.com/public/english_us_canada/tools/pq/utilities/PTEDIT32.zip
Since my flash stick currently has an MBR, PREDIT32 works, and shows one partition.
My stick is currently bootable and has Linux on it. 15650846*512= 8,013,233,152 bytes
in the first partition.
+------+-----------------------------------------+
| MBR | FAT32 Partition1 8,013,233,152 bytes |
+------+-----------------------------------------+
Type Boot Starting Cyl Head Sector Ending Cyl Head Sector Sectors before Sectors
0C 80 0 0 1 1021 246 62 62 15650846
Now, if my flash stick didn't have an MBR on it, chances are PTEDIT32 wouldn't even
show the device. It would likely be ignored.
Anyway, now it is time to erase my flash stick. I could erase the whole thing, but
this would take many minutes. In the case of this port of "dd", in fact the command
would foul up (it runs past the end and that is a bit unnerving - it scared me the
first time it happened). So don't do this to a flash memory. This command would
behave nicely if the device was a hard drive. But for some reason, it doesn't
work quite right on flash.
dd if=/dev/zero of=\\?\Device\Harddisk3\Partition0
I recommend an alternative command syntax, where you specify the size. To make
the stick "unallocated" again, try just erasing 10000 sectors. This shouldn't
take too long. The product of bs * count, is how much space will be erased (about 5MB).
dd if=/dev/zero of=\\?\Device\Harddisk3\Partition0 bs=512 count=10000
If I wanted to erase the whole stick, I'd cook up values for bs and count, such
that the whole stick would be erased. This is what I'd do if I only had the
Windows version of dd. But I don't think erasing the whole thing, is going
to make Windows behave any different, than just erasing the start of the
storage device. The block size "bs" is selected to not exceed the maximum
block size the device might support in a single write command, and I aim for
somewhere around a quarter megabyte or so. I use the Linux "factor" program,
to factor the number and make it easier to work out a value.
262144*30592 = 8,019,509,248 so the whole stick gets erased.
dd if=/dev/zero of=\\?\Device\Harddisk3\Partition0 bs=262144 count=30592
Anyway, give "dd" a try, erase the start of the 16GB device, then
go back into Disk Management and see if you can format it to your
liking.
When the "dd" command is finished, it reports the number of blocks it
processed. That too, gives some hint as to whether the device size
is correct or not. For example, if I gave bs*count of 10GB and the
device was only 5GB in size, the count returned would be only half
of what I specified. (I made a mistake just yesterday with the command,
and it is always important to verify the returned count. I nearly
flubbed a backup I was making.)
My flash stick was prepared in Linux the last time I used it, which is
why it has an MBR. Otherwise, it might not have been given one.
HTH,
Paul