Eu tenho um micro sd de 128 gb formatado como ext4
10gb para a partição app2sd
2nd ext4
(p2) no meu telefone Android
6. Todos os meus aplicativos (80%) permanecem nessa partição ext4. Agora app2sd
não pode carregar esta partição - "incapaz de montar .... arquivo kgrinvalid"
Além disso, a partição de gordura principal ( exFat
) de 119 gb (p1) usada para armazenar meus dados é montada como RO. Eu sou rooted
em uma Sony experia Z3
Um breve histórico:
Estava gravando um filme no meu celular e ele congelou duas vezes. Depois disso, não há sorte em montar a partição ext4.
Perguntas:
- Como posso obter um fsck feito no sistema de arquivos ext4 e deixar a tabela de alocação saber que há blocos ruins?
Existe algum mecanismo embutido no cartão que detecta blocos ruins e corrupção e vai colocar o cartão no modo RO para 1 partição e outra partição ext4 não pode ser montada no telefone.
- Em algum lugar que eu li isso significa que o cartão está em seus últimos passos e depois de alguns ciclos de gravação ele se torna RO. Algum suporte técnico sugeriu isso aconteceu. Eu não estou preparado para acreditar. É apenas 4 meses de idade comprado da Amazônia e eu posso escrever para ele (como irá confirmar em frente no resto da história)
- Eu tenho driver ADB e chego ao # prompt no adb. Eu posso montar o p1 como RW. Posso confirmar no adb que P2 é visto, mas não vai montá-lo
Posso obter app2sd para montar isso e estar de volta em biz.
O que eu fiz
no live linux
CD
- Eu sou capaz de montar tanto p1 quanto p2 como RW (após comando explícito) e apenas como Su. Usuário normal - seu RO negado. Então, ao vivo
ubuntu eu posso RW para os dois
- Fiz o backup de P2 e tentei DEL e formate P2 ( gparted
+ fdisk
manualmente) - NO LUCK. Ambos dão uma mensagem bem sucedida, mas após a atualização eles mostrarão
MESMO antigo partitions
P1 e P2. Tentei mesmo no Window 7 - paragon partition manager - dá mensagem é bem sucedida, mas após a atualização, eles vão mostrar a configuração antiga P1 e P2.
--- Fsck
it@it:~$ sudo fsck.ext4 -v /dev/sdc2
e2fsck 1.43.4 (31-Jan-2017)
app2sd: recovering journal
Superblock needs_recovery flag is clear, but journal has data.
Run journal anyway<y>? yes
fsck.ext4: unable to set superblock flags on app2sd
app2sd: ********** WARNING: Filesystem still has errors **********
- executar a correção de superbloco de backup não ajuda na
it@it:~$ sudo mke2fs -n /dev/sdc2
mke2fs 1.43.4 (31-Jan-2017)
/dev/sdc2 contains a ext4 file system labelled 'app2sd'
last mounted on /data/sdext2 on Sun Jan 7 07:21:35 2018
Proceed anyway? (y,N) y
Creating filesystem with 2604538 4k blocks and 651520 inodes
Filesystem UUID: 53138787-e743-4160-9041-ac9613d44db8
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Eu tentei vários superblocos - sem sorte.
Eu usei estes guias - NENHUMA SORTE 1) Superblock restore from backup e 2) fsck.ext4 não conseguiu definir sinalizadores de superblocos após uma desmontagem incorreta
it@it:~$ sudo e2fsck -b 1605632 -B 4096 /dev/sdc2
e2fsck 1.43.4 (31-Jan-2017)
Superblock needs_recovery flag is clear, but journal has data.
Recovery flag not set in backup superblock, so running journal anyway.
app2sd: recovering journal
Superblock needs_recovery flag is clear, but journal has data.
Recovery flag not set in backup superblock, so running journal anyway.
Superblock needs_recovery flag is clear, but journal has data.
Recovery flag not set in backup superblock, so running journal anyway.
e2fsck: unable to set superblock flags on app2sd
app2sd: ***** FILE SYSTEM WAS MODIFIED *****
app2sd: ********** WARNING: Filesystem still has errors **********
e eu também tentei isso com B=4096
que testdisk
confirmou w:
mke2fs -S
-S Write superblock and group descriptors only. This is useful if all
of the superblock and backup superblocks are corrupted, and a last-
ditch recovery method is desired. It causes mke2fs to reinitialize
the superblock and group descriptors, while not touching the inode
table and the block and inode bitmaps. The e2fsck program should be
run immediately after this option is used, and there is no guarantee
that any data will be salvageable. It is critical to specify the
correct filesystem blocksize when using this option,
Veja mais algumas coisas no log do Testdisk
Partition table type (auto): Intel
Disk /dev/sdb - 127 GB / 119 GiB - Generic- SD/MMC
Partition table type: Intel
Interface Advanced
Geometry from i386 MBR: head=255 sector=63
test_FAT()
1 P FAT32 LBA 0 32 33 14247 69 30 228880384
sector_size 512
cluster_size 64
reserved 126
fats 2
dir_entries 0
sectors 0
media F8
fat_length 0
secs_track 16
heads 4
hidden 2048
total_sect 228880384
check_part_i386 failed for partition type 0C
get_geometry_from_list_part_aux head=255 nbr=2
get_geometry_from_list_part_aux head=8 nbr=1
get_geometry_from_list_part_aux head=255 nbr=2
1 P FAT32 LBA 0 32 33 14247 69 30 228880384
2 * Linux 14248 0 1 15544 254 63 20836305 [app2sd]
ext4 blocksize=4096 Large_file Sparse_SB Recover, 10668 MB / 10173 MiB
search_superblock
recover_EXT2: s_block_group_nr=0/79, s_mnt_count=83/20, s_blocks_per_group=32768, s_inodes_per_group=32320
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 2604538
recover_EXT2: part_size 20836304
Ext2 superblock found at sector 2 (block=0, blocksize=4096)
block_group_nr 1
recover_EXT2: "e2fsck -b 32768 -B 4096 device" may be needed
recover_EXT2: s_block_group_nr=1/79, s_mnt_count=0/20, s_blocks_per_group=32768, s_inodes_per_group=32320
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 2604538
recover_EXT2: part_size 20836304
Ext2 superblock found at sector 262144 (block=32768, blocksize=4096)
block_group_nr 3
recover_EXT2: "e2fsck -b 98304 -B 4096 device" may be needed
recover_EXT2: s_block_group_nr=3/79, s_mnt_count=0/20, s_blocks_per_group=32768, s_inodes_per_group=32320
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 2604538
recover_EXT2: part_size 20836304
Ext2 superblock found at sector 786432 (block=98304, blocksize=4096)
block_group_nr 5
recover_EXT2: "e2fsck -b 163840 -B 4096 device" may be needed
recover_EXT2: s_block_group_nr=5/79, s_mnt_count=0/20, s_blocks_per_group=32768, s_inodes_per_group=32320
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 2604538
recover_EXT2: part_size 20836304
Ext2 superblock found at sector 1310720 (block=163840, blocksize=4096)
block_group_nr 7
recover_EXT2: "e2fsck -b 229376 -B 4096 device" may be needed
recover_EXT2: s_block_group_nr=7/79, s_mnt_count=0/20, s_blocks_per_group=32768, s_inodes_per_group=32320
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 2604538
recover_EXT2: part_size 20836304
Ext2 superblock found at sector 1835008 (block=229376, blocksize=4096)
block_group_nr 9
recover_EXT2: "e2fsck -b 294912 -B 4096 device" may be needed
recover_EXT2: s_block_group_nr=9/79, s_mnt_count=0/20, s_blocks_per_group=32768, s_inodes_per_group=32320
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 2604538
recover_EXT2: part_size 20836304
Ext2 superblock found at sector 2359296 (block=294912, blocksize=4096)
block_group_nr 25
recover_EXT2: "e2fsck -b 819200 -B 4096 device" may be needed
recover_EXT2: s_block_group_nr=25/79, s_mnt_count=0/20, s_blocks_per_group=32768, s_inodes_per_group=32320
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 2604538
recover_EXT2: part_size 20836304
Ext2 superblock found at sector 6553600 (block=819200, blocksize=4096)
block_group_nr 27
recover_EXT2: "e2fsck -b 884736 -B 4096 device" may be needed
recover_EXT2: s_block_group_nr=27/79, s_mnt_count=0/20, s_blocks_per_group=32768, s_inodes_per_group=32320
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 2604538
recover_EXT2: part_size 20836304
Ext2 superblock found at sector 7077888 (block=884736, blocksize=4096)
block_group_nr 49
recover_EXT2: "e2fsck -b 1605632 -B 4096 device" may be needed
recover_EXT2: s_block_group_nr=49/79, s_mnt_count=0/20, s_blocks_per_group=32768, s_inodes_per_group=32320
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 2604538
recover_EXT2: part_size 20836304
Ext2 superblock found at sector 12845056 (block=1605632, blocksize=4096)
Linux 14248 0 1 15544 254 62 20836304 [app2sd]
superblock 0, blocksize=4096 [app2sd]
superblock 32768, blocksize=4096 [app2sd]
superblock 98304, blocksize=4096 [app2sd]
superblock 163840, blocksize=4096 [app2sd]
superblock 229376, blocksize=4096 [app2sd]
superblock 294912, blocksize=4096 [app2sd]
superblock 819200, blocksize=4096 [app2sd]
superblock 884736, blocksize=4096 [app2sd]
superblock 1605632, blocksize=4096 [app2sd]
To repair the filesystem using alternate superblock, run
fsck.ext4 -p -b superblock -B blocksize device
search_superblock
recover_EXT2: s_block_group_nr=0/79, s_mnt_count=83/20, s_blocks_per_group=32768, s_inodes_per_group=32320
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 2604538
recover_EXT2: part_size 20836304
Ext2 superblock found at sector 2 (block=0, blocksize=4096)
block_group_nr 1
recover_EXT2: "e2fsck -b 32768 -B 4096 device" may be needed
Exemplo de log dump2fs . Eu não posso simplesmente anexar o arquivo inteiro na pilha.
Partition table type (auto): Intel
Disk /dev/sdb - 127 GB / 119 GiB - Generic- SD/MMC
Partition table type: Intel
Interface Advanced
Geometry from i386 MBR: head=255 sector=63
test_FAT()
1 P FAT32 LBA 0 32 33 14247 69 30 228880384
sector_size 512
cluster_size 64
reserved 126
fats 2
dir_entries 0
sectors 0
media F8
fat_length 0
secs_track 16
heads 4
hidden 2048
total_sect 228880384
check_part_i386 failed for partition type 0C
get_geometry_from_list_part_aux head=255 nbr=2
get_geometry_from_list_part_aux head=8 nbr=1
get_geometry_from_list_part_aux head=255 nbr=2
1 P FAT32 LBA 0 32 33 14247 69 30 228880384
2 * Linux 14248 0 1 15544 254 63 20836305 [app2sd]
ext4 blocksize=4096 Large_file Sparse_SB Recover, 10668 MB / 10173 MiB
search_superblock
recover_EXT2: s_block_group_nr=0/79, s_mnt_count=83/20, s_blocks_per_group=32768, s_inodes_per_group=32320
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 2604538
recover_EXT2: part_size 20836304
Ext2 superblock found at sector 2 (block=0, blocksize=4096)
block_group_nr 1
recover_EXT2: "e2fsck -b 32768 -B 4096 device" may be needed
recover_EXT2: s_block_group_nr=1/79, s_mnt_count=0/20, s_blocks_per_group=32768, s_inodes_per_group=32320
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 2604538
recover_EXT2: part_size 20836304
Ext2 superblock found at sector 262144 (block=32768, blocksize=4096)
block_group_nr 3
recover_EXT2: "e2fsck -b 98304 -B 4096 device" may be needed
recover_EXT2: s_block_group_nr=3/79, s_mnt_count=0/20, s_blocks_per_group=32768, s_inodes_per_group=32320
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 2604538
recover_EXT2: part_size 20836304
Ext2 superblock found at sector 786432 (block=98304, blocksize=4096)
block_group_nr 5
recover_EXT2: "e2fsck -b 163840 -B 4096 device" may be needed
recover_EXT2: s_block_group_nr=5/79, s_mnt_count=0/20, s_blocks_per_group=32768, s_inodes_per_group=32320
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 2604538
recover_EXT2: part_size 20836304
Ext2 superblock found at sector 1310720 (block=163840, blocksize=4096)
block_group_nr 7
recover_EXT2: "e2fsck -b 229376 -B 4096 device" may be needed
recover_EXT2: s_block_group_nr=7/79, s_mnt_count=0/20, s_blocks_per_group=32768, s_inodes_per_group=32320
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 2604538
recover_EXT2: part_size 20836304
Ext2 superblock found at sector 1835008 (block=229376, blocksize=4096)
block_group_nr 9
recover_EXT2: "e2fsck -b 294912 -B 4096 device" may be needed
recover_EXT2: s_block_group_nr=9/79, s_mnt_count=0/20, s_blocks_per_group=32768, s_inodes_per_group=32320
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 2604538
recover_EXT2: part_size 20836304
Ext2 superblock found at sector 2359296 (block=294912, blocksize=4096)
block_group_nr 25
recover_EXT2: "e2fsck -b 819200 -B 4096 device" may be needed
recover_EXT2: s_block_group_nr=25/79, s_mnt_count=0/20, s_blocks_per_group=32768, s_inodes_per_group=32320
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 2604538
recover_EXT2: part_size 20836304
Ext2 superblock found at sector 6553600 (block=819200, blocksize=4096)
block_group_nr 27
recover_EXT2: "e2fsck -b 884736 -B 4096 device" may be needed
recover_EXT2: s_block_group_nr=27/79, s_mnt_count=0/20, s_blocks_per_group=32768, s_inodes_per_group=32320
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 2604538
recover_EXT2: part_size 20836304
Ext2 superblock found at sector 7077888 (block=884736, blocksize=4096)
block_group_nr 49
recover_EXT2: "e2fsck -b 1605632 -B 4096 device" may be needed
recover_EXT2: s_block_group_nr=49/79, s_mnt_count=0/20, s_blocks_per_group=32768, s_inodes_per_group=32320
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 2604538
recover_EXT2: part_size 20836304
Ext2 superblock found at sector 12845056 (block=1605632, blocksize=4096)
Linux 14248 0 1 15544 254 62 20836304 [app2sd]
superblock 0, blocksize=4096 [app2sd]
superblock 32768, blocksize=4096 [app2sd]
superblock 98304, blocksize=4096 [app2sd]
superblock 163840, blocksize=4096 [app2sd]
superblock 229376, blocksize=4096 [app2sd]
superblock 294912, blocksize=4096 [app2sd]
superblock 819200, blocksize=4096 [app2sd]
superblock 884736, blocksize=4096 [app2sd]
superblock 1605632, blocksize=4096 [app2sd]
To repair the filesystem using alternate superblock, run
fsck.ext4 -p -b superblock -B blocksize device
search_superblock
recover_EXT2: s_block_group_nr=0/79, s_mnt_count=83/20, s_blocks_per_group=32768, s_inodes_per_group=32320
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 2604538
recover_EXT2: part_size 20836304
Ext2 superblock found at sector 2 (block=0, blocksize=4096)
block_group_nr 1
recover_EXT2: "e2fsck -b 32768 -B 4096 device" may be needed
Fazer loop pela lista de nós
Outra tentativa: pegue toda a lista de supernós de backup do log testdisk e faça um loop,
Isso é interessante: quando eu corro esfsck -b <n> -B <N> /devpath
eu obtenho o mesmo padrão o / p abaixo. Nenhuma diferença
+ sudo e2fsck -b 163840 -B 4096 -y /dev/sdc2
e2fsck 1.43.4 (31-Jan-2017)
Superblock needs_recovery flag is clear, but journal has data.
Recovery flag not set in backup superblock, so running journal anyway.
app2sd: recovering journal
Superblock needs_recovery flag is clear, but journal has data.
Recovery flag not set in backup superblock, so running journal anyway.
Superblock needs_recovery flag is clear, but journal has data.
Recovery flag not set in backup superblock, so running journal anyway.
e2fsck: unable to set superblock flags on app2sd
app2sd: ***** FILE SYSTEM WAS MODIFIED *****
app2sd: ********** WARNING: Filesystem still has errors **********
Mas quando eu percorro essa lista carregada de um arquivo (testdisk.log) - para certos nós, ele dá um o / p longo como se fosse algum reparo - um piscar de esperança. Depois disso, fiz um desligamento do REISUB e o efsck novamente no Linux. NENHUMA SORTE
log de loop efsck com parte de reparo.
Para os números de bloco em que ele tentou reparar - na linha de comando, tentei definir os superblocos de backup - mas isso NÃO ajuda - volta à estaca zero!
+ for i in $(grep e2fsck testdisk.log | uniq | cut -d " " -f 4)
+ sudo e2fsck -b 229376 -B 4096 -y /dev/sdc2
e2fsck 1.43.4 (31-Jan-2017)
Superblock needs_recovery flag is clear, but journal has data.
Recovery flag not set in backup superblock, so running journal anyway.
app2sd: recovering journal
Pass 1: Checking inodes, blocks, and sizes
Inode 69709 extent tree (at level 1) could be shorter. Fix? yes
Inode 97187 extent tree (at level 1) could be shorter. Fix? yes
Inode 98194 extent tree (at level 1) could be shorter. Fix? yes
Inode 98215 extent tree (at level 1) could be shorter. Fix? yes
Inode 98646 extent tree (at level 1) could be shorter. Fix? yes
Inode 99795 extent tree (at level 1) could be shorter. Fix? yes
Inode 100170 extent tree (at level 1) could be shorter. Fix? yes
Inode 100186 extent tree (at level 1) could be shorter. Fix? yes
Inode 100825 extent tree (at level 1) could be shorter. Fix? yes
Inode 129341 extent tree (at level 1) could be shorter. Fix? yes
Inodes that were part of a corrupted orphan linked list found. Fix? yes
Inode 129343 was part of the orphaned inode list. FIXED.
Inode 129344 was part of the orphaned inode list. FIXED.
Inode 129345 was part of the orphaned inode list. FIXED.
Inode 129371 extent tree (at level 1) could be shorter. Fix? yes
Inode 129414 extent tree (at level 1) could be shorter. Fix? yes
Inode 129418 extent tree (at level 1) could be shorter. Fix? yes
Inode 129437 extent tree (at level 1) could be shorter. Fix? yes
Inode 162145 extent tree (at level 1) could be shorter. Fix? yes
Inode 162147 extent tree (at level 1) could be shorter. Fix? yes
Inode 162151 extent tree (at level 1) could be shorter. Fix? yes
Inode 194325 extent tree (at level 1) could be shorter. Fix? yes
Inode 194408 extent tree (at level 1) could be shorter. Fix? yes
Inode 194464 extent tree (at level 1) could be shorter. Fix? yes
Deleted inode 195640 has zero dtime. Fix? yes
Deleted inode 196040 has zero dtime. Fix? yes
Inode 235473 is in use, but has dtime set. Fix? yes
Inode 235473 has imagic flag set. Clear? yes
Inode 235473 has a extra size (25959) which is invalid
Fix? yes
Inode 235474 has INLINE_DATA_FL flag on filesystem without inline data support.
Clear? yes
Inode 235473, i_size is 7019251879657894515, should be 0. Fix? yes
Inode 235473, i_blocks is 81858393236329, should be 0. Fix? yes
Inode 388501 extent tree (at level 1) could be shorter. Fix? yes
Inode 420685 extent tree (at level 1) could be shorter. Fix? yes
Inode 452971 extent tree (at level 1) could be shorter. Fix? yes
Inode 452978 extent tree (at level 1) could be shorter. Fix? yes
Inode 452981 extent tree (at level 1) could be shorter. Fix? yes
Inode 550513 extent tree (at level 1) could be shorter. Fix? yes
Inode 550523 extent tree (at level 1) could be shorter. Fix? yes
Inode 550524 extent tree (at level 1) could be shorter. Fix? yes
Inode 550525 extent tree (at level 1) could be shorter. Fix? yes
Inode 551843 extent tree (at level 1) could be shorter. Fix? yes
Inode 582085 has an invalid extent node (blk 593131, lblk 0)
Clear? yes
Inode 582085 extent tree (at level 1) could be shorter. Fix? yes
Inode 582085, i_blocks is 40, should be 0. Fix? yes
Inode 582132 extent tree (at level 1) could be shorter. Fix? yes
Pass 1E: Optimizing extent trees
Pass 2: Checking directory structure
Directory inode 97167, block #0, offset 0: directory corrupted
Salvage? yes
Missing '.' in directory inode 97167.
Fix? yes
Setting filetype for entry '.' in ??? (97167) to 2.
Missing '..' in directory inode 97167.
Fix? yes
Setting filetype for entry '..' in ??? (97167) to 2.
Directory inode 97176, block #0, offset 0: directory corrupted
Salvage? yes
Missing '.' in directory inode 97176.
Fix? yes
Setting filetype for entry '.' in ??? (97176) to 2.
Missing '..' in directory inode 97176.
Fix? yes
Setting filetype for entry '..' in ??? (97176) to 2.
Directory inode 97213, block #0, offset 0: directory corrupted
Salvage? yes
Missing '.' in directory inode 97213.
Fix? yes
Setting filetype for entry '.' in ??? (97213) to 2.
Missing '..' in directory inode 97213.
Fix? yes
Setting filetype for entry '..' in ??? (97213) to 2.
Directory inode 161950, block #0, offset 0: directory corrupted
Salvage? yes
Missing '.' in directory inode 161950.
Fix? yes
Setting filetype for entry '.' in ??? (161950) to 2.
Missing '..' in directory inode 161950.
Fix? yes
Setting filetype for entry '..' in ??? (161950) to 2.
Inode 235473 (/data/com.abhivyaktyapps.learn.sanskrit/app_Parse/CommandCache/CachedCommand_00000160cc4ef3d9_00000000_-1326099007) has invalid mode (0166654).
Clear? yes
Se é um cavalo morto total, então por que eu posso montar e RW ao vivo & Android
recua
Parece que há algum tipo de flag
sendo definido aqui se forem detectados blocos superblock
ou corrompidos incorretos - para sempre carregar P1, pois RO e P2 não valem o carregamento. Como faço para limpar essa bandeira? Eu tenho #
via ADB
para o meu telefone Android. Por que posso montar no android como fazer no Live?
Tags ext4 android linux partition superblock