Impossível formatar um cartão SD [fechado]

1

Eu tenho um cartão SD Samsung 16Go, classe 10, mas não consigo formatá-lo / adicionar / remover partições. Eu tentei usar o gparted e o fdisk, mas nada funciona. Para ser mais preciso, quando eu faço a formatação, não tenho erro (mesmo em kern.log), mas nada aconteceu, no final ainda tenho uma partição FAT32, e os dados nela nem sequer estão perdidos (mas preciso para montar manualmente o cartão SD, ele não é montado automaticamente. Aqui está uma demonstração usando fdisk:

$ sudo fdisk /dev/mmcblk0

Welcome to fdisk (util-linux 2.29.2).                                                                                                                
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): m

Help:

  DOS (MBR)
   a   toggle a bootable flag
   b   edit nested BSD disklabel
   c   toggle the dos compatibility flag

  Generic
   d   delete a partition
   F   list free unpartitioned space
   l   list known partition types
   n   add a new partition
   p   print the partition table
   t   change a partition type
   v   verify the partition table
   i   print information about a partition

  Misc
   m   print this menu
   u   change display/entry units
   x   extra functionality (experts only)

  Script
   I   load disk layout from sfdisk script file
   O   dump disk layout to sfdisk script file

  Save & Exit
   w   write table to disk and exit
   q   quit without saving changes

  Create a new label
   g   create a new empty GPT partition table
   G   create a new empty SGI (IRIX) partition table
   o   create a new empty DOS partition table
   s   create a new empty Sun partition table


Command (m for help): g
Created a new GPT disklabel (GUID: 815E4F98-52AC-4FB7-A065-8F7ACEC8ACA3).

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

leo@leodeb:/tmp/t$ sudo fdisk /dev/mmcblk0

Welcome to fdisk (util-linux 2.29.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p
Disk /dev/mmcblk0: 14.9 GiB, 16021192704 bytes, 31291392 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
Disklabel type: dos
Disk identifier: 0xe2034165

Device         Boot Start      End  Sectors  Size Id Type
/dev/mmcblk0p1       2048 31291391 31289344 14.9G  b W95 FAT32

Como você pode ver, no final o tipo de disco deve ser GPT, e ainda é DOS, e nenhuma partição deve estar disponível, enquanto aqui uma partição ainda está presente. Eu também tentei usar o dd para escrever 0 no primeiro setor, mas nada aconteceu:

$ sudo dd if=/dev/mmcblk0  count=1 of=/tmp/bs_00
1+0 records in
1+0 records out
512 bytes copied, 0.00119805 s, 427 kB/s
leo@leodeb:/tmp/t$ hexdump /tmp/bs_00 
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
00001b0 0000 0000 0000 0000 4165 e203 0000 0000
00001c0 2001 030b df50 0800 0000 7000 01dd 0000
00001d0 0000 0000 0000 0000 0000 0000 0000 0000
*
00001f0 0000 0000 0000 0000 0000 0000 0000 aa55
0000200
leo@leodeb:/tmp/t$ sudo dd if=/dev/zero count=1 of=/dev/mmcblk0
1+0 records in
1+0 records out
512 bytes copied, 0.00131818 s, 388 kB/s
leo@leodeb:/tmp/t$ sudo dd if=/dev/mmcblk0  count=1 of=/tmp/bs_01
1+0 records in
1+0 records out
512 bytes copied, 0.00116998 s, 438 kB/s
leo@leodeb:/tmp/t$ hexdump /tmp/bs_01 
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
00001b0 0000 0000 0000 0000 4165 e203 0000 0000
00001c0 2001 030b df50 0800 0000 7000 01dd 0000
00001d0 0000 0000 0000 0000 0000 0000 0000 0000
*
00001f0 0000 0000 0000 0000 0000 0000 0000 aa55
0000200

Eu verifiquei e o botão "bloquear" do meu adaptador de cartão SD não está definido. Além disso, você pode notar que o cartão não é mais reconhecido no Android ...

Alguma ideia?

Obrigado.

EDITAR

Eu tentei:

$ sudo fsck -a /dev/mmcblk0p1 
fsck de util-linux 2.29.2
fsck.fat 4.1 (2017-01-24)
0x41: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
 Automatically removing dirty bit.
Performing changes.
/dev/mmcblk0p1: 1924 files, 1855284/1953674 clusters

No entanto, depois disso, o "bit sujo" parece estar presente, e o fdisk ainda não tem efeito no cartão SD ...

EDIT 2

Eu tentei esta solução para eventualmente remover uma proteção contra gravação, mas parece que não há gravação proteção foi definida ...

leo@leodeb:~/Logiciels/Bidouille/SD_card/sdtool$ sudo ./sdtool /dev/mmcblk0 status
[+] Found RCA for /dev/mmcblk0: 59B4.
[+] Card CSD: 400E000B5B590000775D7F800A40003D.
[+] Write protection state: Off.
leo@leodeb:~/Logiciels/Bidouille/SD_card/sdtool$ sudo ./sdtool /dev/mmcblk0 unlock
[+] Found RCA for /dev/mmcblk0: 59B4.
[+] CSD unchanged.
[+] Write protection state: Off.

Mesma coisa com o hdparm:

$ sudo hdparm -r /dev/mmcblk0

/dev/mmcblk0:
 readonly      =  0 (off)

Nb: com o hdparm, se eu definir o readonly, desconectar o cartão sd e conectá-lo novamente, a sinalização readonly sumirá ...

** EDIT 3 ** O comando mmc não funciona:

$ sudo mmc extcsd read /dev/mmcblk0
ioctl: Connection timed out
Could not read EXT_CSD from /dev/mmcblk0
    
por tobiasBora 17.08.2017 / 11:36

0 respostas