Como corrigir ligação de nó de mapa inválida?

Como corrigir ligação de nó de mapa inválida?

Minha unidade está formatada para hfs+ e não está limpa.

Por exemplo, quando estou tentando montar o drive pelo mount -f -o rw, dmesgaparece o erro:

hfs: Filesystem was not cleanly unmounted, running fsck.hfsplus is recommended.
mounting read-only.

Então, quando estou tentando repará-lo via fsck.hfsplus(parte de hfsprogs), ele diz:

$ fsck -dyf /media/sdd2
** /dev/sdd2
    Using cacheBlockSize=32K cacheTotalBlock=1024 cacheSize=32768K.
** Checking HFS Plus volume.
** Detected a case-sensitive catalog.
** Checking Extents Overflow file.
** Checking Catalog file.
   Invalid map node linkage
(4, 0)
** Volume check failed.
volume check failed with error 7 
    volume type is pure HFS+ 
    primary MDB is at block 0 0x00 
    alternate MDB is at block 0 0x00 
    primary VHB is at block 2 0x02 
    alternate VHB is at block 3906291630 0xe8d547ae 
    sector size = 512 0x200 
    VolumeObject flags = 0x07 
    total sectors for volume = 3906291632 0xe8d547b0 
    total sectors for embedded volume = 0 0x00 

Apesar de usar -you -f, a unidade não está sendo reparada.

Aqui está a explicação desse erro de acordo com esteblog:

Depois que a árvore B* for verificada, o fsck passa para a verificação do mapa de alocação. fsck verifica o nó do cabeçalho conforme descrito acima. Em seguida, ele verifica cada nó, certificando-se de que ele se identifica como um nó do mapa e possui o número adequado de registros. Se o nó falhar nessas verificações, fsck retornará “Nó de mapa inválido”. Em seguida, fsck verifica se a altura do nó não é 0 (“Altura do nó inválida”). Finalmente, se ele chegou ao final da árvore e o mapSize,(que armazena o número total de registros na árvore e é decrementado cada vez que um nó é processado) não é 0,fsck sabe que há nós órfãos e retorna “Ligação de nó de mapa inválida”.

No entanto, não sei como corrigir esse erro, pois ele não está sendo corrigido automaticamente e não consigo montar a partição para ser gravável. Alguma idéia de como corrigir esse erro?

O Utilitário de Disco PS tem um problema semelhante.

Responder1

Você deve tentar reconstruir o arquivo de catálogo (Árvore B) no sistema de arquivos especificado (que éHFS+) especificando -ra opção para fsck, por exemplo:

$ fsck.hfsplus -fryd /dev/sdd2

Esta opção atualmente só funcionará se houver espaço contíguo suficiente no sistema de arquivos especificado para um novo arquivo de catálogo e se não houver danos aos nós folha no arquivo de catálogo existente (em outras palavras, fsck é capaz de percorrer cada um dos nós nós no btree solicitado com sucesso).

Obviamente, faça o backup (despejo de imagem inteira do disco) antes de executar qualquer operação no disco, se não quiser correr o risco de corromper ainda mais os dados.

Veja mais executando man fsck.hfsplus.

Se isso não ajudar, tente usar outras ferramentas para reparar seu disco, por exemplo:

  • TestDiskpor CGSecurity | Mac, Windows, Linux ( apt-get install testdisk)
  • DiskWarriorda Alsoft (comercial) - disco inicializável ou aplicativo Mac

informação relacionada