PDA

View Full Version : mkfs.ext3 corrupting the partition table - bug?



sli
01-18-2008, 03:40 PM
Hi,

I'm having problem with the mkfs.ext3. It looks like that it corrupts the partition table of my compactFlash disks connected thru the USB. Here's my test sequence:

- connect a 128MB compactFlash thru USB
- execute fdisk to print the partition table => there's a primary partition
- execute mkfs.ext3 to format the disk => seems OK but ...
- execute fdisk to check and verify => partition table corrupted.

I've done this sequence repeatly, and tried with several compactFlash disks. Same result with all the compactFlash disks that i tried. For information, the compactFlash is a ScanDisk 128MB.

See trace below.

Any ideas?

Kind regards,
Shaofeng


<Beginning of trace>
------------------------

sh-3.00# fdisk /dev/sda1

Command (m for help): p

Disk /dev/sda1: 128 MB, 128450048 bytes
8 heads, 32 sectors/track, 979 cylinders
Units = cylinders of 256 * 512 = 131072 bytes

Device Boot Start End Blocks Id System
/dev/sda1p1 1 979 125296 83 Linux

Command (m for help): q

sh-3.00#
sh-3.00# mkfs.ext3 /dev/sda1
mke2fs 1.38 (30-Jun-2005)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
31360 inodes, 125436 blocks
6271 blocks (5.00%) reserved for the super user
First data block=1
16 block groups
8192 blocks per group, 8192 fragments per group
1960 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729

Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 29 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
sh-3.00#
sh-3.00#
sh-3.00# fdisk /dev/sda1
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): q

<End of trace>
-----------------

hal8000
01-24-2008, 08:24 PM
As this is your first post, I'm not sure how much linux experience you have.
Chance are your compact flash card came preformatted with a fat32 filesystem,
was that the case?

If so then you can use fdisk to verify the partition table, then change the filesystem
type, write the changes, them use mkfs.ext3.


As your filesystem seems corrupted, can you create a new primary partition and
use all available flash drive space?
You need to write the table before you use format the partition as ext3.

The only thing I see missing from your initial post is using fdisk and writing
the changes, youve either omitted this step (but know about it) or missed
it out completely.

sli
01-25-2008, 09:28 AM
Actually i already found the problem: fdisk should be done on /dev/sda instead of an existing partition /dev/sda1.

Thanks anyway for the help.