Depois de ter um sistema de arquivos corrompido no meu cartão SD devido (provavelmente devido à fonte de alimentação insuficiente) eu quero fazer um novo sistema de arquivos. ( e2fsck
falha, registre abaixo.)
No entanto, todas as alterações relacionadas a arquivos no cartão SD são magicamente desfeitas!
- Primeiro exemplo: quando montei o cartão SD, apague alguns arquivos, os arquivos desaparecem. Quando eu desmontar e montar novamente, os arquivos estão lá novamente! Da mesma forma, quando modifico o conteúdo de um arquivo, o conteúdo original volta após a montagem.
- Segundo exemplo: quando eu crio uma nova tabela de partição com
fdisk
, a tabela de partições antiga é colocada de volta imediatamente. (Log abaixo)
- Terceiro exemplo: while eu corro
dd if=/dev/zero of=/dev/mmcblk0 bs=1M
, fdisk
razoavelmente disse Disk /dev/mmcblk0 doesn't contain a valid partition table
. Quando dd
foi concluído, a tabela de partições antiga estava de volta.
Eu não tranquei o cartão SD fisicamente com o pequeno interruptor. Eu não recebo nenhum erro somente leitura. Na verdade, não recebo nenhum erro! dmesg
não reporta nada, exceto que estou montando um sistema de arquivos com erros.
O problema também ocorreu rodando um live cd do Xubuntu (12.10). Infelizmente não tenho acesso a outros computadores e / ou leitores de cartão SD no momento.
Isso é um problema do meu computador, meu cartão SD, ou estou perdendo alguma coisa o tempo todo? Alguma sugestão que eu poderia tentar?
e2fsck
falha:
$ sudo e2fsck /dev/mmcblk0p2
e2fsck 1.42.5 (29-Jul-2012)
/dev/mmcblk0p2: recovering journal
Superblock needs_recovery flag is clear, but journal has data.
Run journal anyway<y>? yes
e2fsck: unable to set superblock flags on /dev/mmcblk0p2
/dev/mmcblk0p2: ********** WARNING: Filesystem still has errors **********
Este é o log que mostra que fdisk
não tem efeito:
$ sudo fdisk /dev/mmcblk0
Command (m for help): p
Disk /dev/mmcblk0: 31.5 GB, 31460425728 bytes
4 heads, 16 sectors/track, 960096 cylinders, total 61446144 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: 0x00017b69
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 8192 122879 57344 c W95 FAT32 (LBA)
/dev/mmcblk0p2 122880 61446143 30661632 83 Linux
Command (m for help): d
Partition number (1-4): 1
Command (m for help): d
Selected partition 2
Command (m for help): p
Disk /dev/mmcblk0: 31.5 GB, 31460425728 bytes
4 heads, 16 sectors/track, 960096 cylinders, total 61446144 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: 0x00017b69
Device Boot Start End Blocks Id System
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
$ sudo fdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 31.5 GB, 31460425728 bytes
4 heads, 16 sectors/track, 960096 cylinders, total 61446144 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: 0x00017b69
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 8192 122879 57344 c W95 FAT32 (LBA)
/dev/mmcblk0p2 122880 61446143 30661632 83 Linux