mkfs.ext4 dan mkfs.vfat dengan file badblock yang sama memberi saya ruang yang berbeda

0

Saya memiliki flashdisk 256GB dengan bad sector, dan saya mendapatkannya dengan perintah ini:

sudo badblocks -wsvf -o 256GB.txt /dev/sdc

Tetapi ketika saya menggunakan file ini ( 256GB.txt ) untuk memformat flashdisk saya mendapatkan ruang yang berbeda tergantung pada jenis format.

Dengan FAT32 saya mendapatkan 203 GB ruang yang tersedia:

$ sudo mkfs.vfat -F 32 -v -n 256GB -l 256GB.txt /dev/sdc -I
mkfs.fat 3.0.26 (2014-03-07)
/dev/sdc has 255 heads and 63 sectors per track,
hidden sectors 0x0000;
logical sector size is 512,
using 0xf8 media descriptor, with 524288000 sectors;
drive number 0x80;
filesystem has 2 32-bit FATs and 64 sectors per cluster.
FAT size is 63985 sectors, and provides 8189999 clusters.
There are 32 reserved sectors.
Volume ID is 9029d4fa, volume label 256GB      .
50098433 bad blocks
$ df -h /media/user/256GB/
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdc        250G   48G  203G  20% /media/user/256GB

Dengan ext4 saya mendapatkan 44 GB ruang yang tersedia:

$ sudo mkfs.ext4 -v -l 256GB.txt -L 200GB /dev/sdc
mke2fs 1.42.9 (4-Feb-2014)
/dev/sdc is entire device, not just one partition!
Proceed anyway? (y,n) y
fs_types for mke2fs.conf resolution: 'ext4'
Filesystem label=200GB
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
16384000 inodes, 65536000 blocks
3276800 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
2000 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624, 11239424, 20480000, 23887872

...
Warning: the backup superblock/group descriptors at block 52297728 contain
    bad blocks.
...

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done     
$ df -h /media/user/200GB/
S.ficheros     Tamaño Usados  Disp Uso% Montado en
/dev/sdc         246G   190G   44G  82% /media/user/200GB

Apa kamu tahu kenapa?

Terima kasih

P.S .: Saya telah menulis ... sebelum dan sesudah Warning: ... karena ada banyak peringatan seperti itu.

santos82h
sumber
1
Anda menjalankan badblock dengan ukuran blok 1024 default, dan menggunakan file ini dengan mkfs.ext4 yang menggunakan 4096 ukuran blok default. Cara termudah untuk memanggil mkfs.ext4 dengan -cc (periksa blokir sebelum format).
Ipor Sircer
Terima kasih. Tidak ada cara untuk menggunakan kembali file badblock saya sebelumnya? badblock menghabiskan 3 hari untuk memindai flashdisk, jadi saya pikir mkfs.ext4 -cc akan menghabiskan kurang lebih sama. Sangat tidak efisien harus menjalankan pemeriksaan badblock setiap kali saya ingin memformat flashdisk ini. Saya berharap menjalankan badblock satu kali dan kemudian menggunakan txt yang dihasilkan kapan saja saya harus memformatnya.
santos82h
1
Cukup bagi dengan empat nilai. Atau gunakan mkfs.ext4 -b 1024
Ipor Sircer
Jangan terus menggunakan pendrive dan ganti. Apalagi jika Anda memformatnya secara teratur.
Seth