EXT4 reparo da partição app2sd link2sd com superbloco ruim. A partição não pode ser montada no Android, mas montará o RW com o Linux Live

2

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?

    
por user1874594 11.01.2018 / 08:53

0 respostas