Usb Fat32 with 16GB capacity seen as 4MB : possibile to solve by merging two partitions?

Hello everyone.
I’ve a external usb key whose declared size is 16 GB.
Indeed it was, but somehow aver having formatted it (Fat 32) in Windows 7 now on both Windows and Opensuse 13.1 the capacity of the drive results to be just 4 MB.

Since I’m not very fancy with Windows formatting utility (but I tried twice to format it! And the size has remained the same) I gave a try to Linux.

So (following this tutorial How to Mount, Unmount and Format USB pen drive using Terminal in Ubuntu/Linux Mint | It’s All About Linux ) I opened a GNOME terminal did:

Password: ******************* 

Disk /dev/sda: 500.1 GB, 500107862016 bytes
.............................. (information about Main HDD)]

Disk /dev/sdb: 16.0 GB, 16012148736 bytes
64 heads, 32 sectors/track, 15270 cylinders, total 31273728 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x1bf0d4df

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            4248       12439        4096    1  FAT12
/dev/sdb2   *       12440     9162751     4575156   17  Hidden HPFS/NTFS

What I noticed here is that there are TWO devices (partitions?) associated with my USB key , and infact 1 of them is just 4 MB! (4096 blocks)

What does

 /dev/sdb2   *       12440     9162751     4575156   17  Hidden HPFS/NTFS 


I tried to run


the output is (the label is “openSUSE-12.3-DVD-x86_640110” because at first I used this usb key to install Opensuse, but I formatted it later):

/dev/sdb1 on /run/media/manuel/openSUSE-12.3-DVD-x86_640110 type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=100,fmask=0022,dmask=0077,codepage=cp437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)
/dev/sdb1 on /var/run/media/manuel/openSUSE-12.3-DVD-x86_640110 type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=100,fmask=0022,dmask=0077,codepage=cp437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro)

The I UNmounted the drive:

umount /run/media/manuel/openSUSE-12.3-DVD-x86_640110 type vfat

Finally i tried to format /dev/sdb1 , in FAT32 by:

 mfks.vfat /dev/sdb1 

==> output:

 mfks.vfat (12 Sep 2010) 

I alsy tried to do mkfs.vfat on /dev/sdb2 as well , the output is the same as the line above, but when I mount the drive again (I just removed and reinserted the usb key to let Linux do it automatically), I still get 1 USB DRIVE only whose capacity is 4 MB (4.2 MB exactly).

Any suggestion is really appreciated.
Thanks very much in advance

On 2013-11-30 13:56, drag123mnl wrote:

> the output is (the label is “openSUSE-12.3-DVD-x86_640110” because at
> first I used this usb key to install Opensuse, but I formatted it
> later):

Ah. Read this:

How to recover the USB stick for “normal” use again

Cheers / Saludos,

Carlos E. R.
(from 12.3 x86_64 “Dartmouth” at Telcontar)

There are indeed two partitions. When you need only one partition using the whole devicve, then repartition as such (this will of course delete all data on both partitions).

You used that USB for a DVD image (an install iso). If it looks like 4G, that’s because the iso was 4G.

There are two partitions, because UEFI systems require that. The first small partition is the EFI partition, and is formatted as FAT. It contains the UEFI boot code, for use when booting this on a UEFI box. The larger partition is the bulk of the installer and packages for installing.

If you are only going to use this USB as an install USB, then leave it as it is until you are ready to copy another iso on top of it. If you want to restore it to use as a data USB, you’ll have to do some reformatting. Carlos provided information on how to do that.