Como reparar o arquivo de atributos estendidos do HFS +?


2

Existe alguma ferramenta capaz de reparar / recriar o arquivo de atributos estendidos?

Por enquanto eu tentei fsck_hfs do DVD de varejo do Mac OS X 10.6.3, fsck.hfsplus do GParted 0.5.2 livecd e Paragon Partition Manager 11. Tudo sem sucesso.

Esta man page afirma que fsck_hfs ter -R opção para especificar quais árvores B precisam ser reconstruídas, mas eu não encontrei em nenhum lugar fsck_hfs binário que aceita esta opção.

Agora eu tenho HDD com HFS + quebrado anexado a VM no VirtualBox através da rede (via porta GEOM do FreeBSD), porque eu atualmente não tenho adaptador SATA-USB.


Super User não é um fórum de discussão, você deve adicionar um comentário à sua própria resposta.
slhck

Respostas:


2

Especifique a opção como

-Re

Se você comandar fsck_hfs sem opção, a lista de opções apresentadas em 'usage' poderá ser menor que as opções realmente aceitas. Isto é, creio eu, documentação erro.

Atualização - 2011-07-30

Se a opção -R não for reconhecida por fsck_hfs no Mac OS X 10.6.3, suponha que ela tenha sido introduzida em uma versão posterior de 10.6.x - para a página de manual referenciada no post de abertura, entre 10.5 e 10.6.6 não há nada.

Snow Leopard na Apple Store (UK) permanece em 10.6.3 Portanto, se você precisar de mídia inicializável com a versão mais capaz de fsck_hfs, eu recomendaria o seguinte:

Para referência, aqui está uma transcrição da 10.7 (Build 11A511):

[macbookpro08-centrim:~] gjp22% date
Sat 30 Jul 2011 08:25:39 BST
[macbookpro08-centrim:~] gjp22% uname -a
Darwin macbookpro08-centrim.home 11.0.0 Darwin Kernel Version 11.0.0: Sat Jun 18 12:56:35 PDT 2011; root:xnu-1699.22.73~1/RELEASE_X86_64 x86_64
[macbookpro08-centrim:~] gjp22% diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *320.1 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:          Apple_CoreStorage                         318.1 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:              Apple_Journal                         536.9 MB   disk0s4
   5:                  Apple_HFS scratchy                536.9 MB   disk0s5
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS speedy                 *317.8 GB   disk1
[macbookpro08-centrim:~] gjp22% sudo /sbin/fsck_hfs -R
/sbin/fsck_hfs: option requires an argument -- R
usage: fsck_hfs [-b [size] B [path] c [size] Edfglx m [mode] npqruy] special-device
  b size = size of physical blocks (in bytes) for -B option
  B path = file containing physical block numbers to map to paths
  c size = cache size (ex. 512m, 1g)
  E = exit on first major error
  d = output debugging info
  f = force fsck even if clean (preen only) 
  g = GUI output mode
  x = XML output mode
  l = live fsck (lock down and test-only)
  m arg = octal mode used when creating lost+found directory 
  n = assume a no response 
  p = just fix normal inconsistencies 
  q = quick check returns clean, dirty, or failure 
  r = rebuild catalog btree 
  u = usage 
  y = assume a yes response 
[macbookpro08-centrim:~] gjp22% sudo diskutil unmount /Volumes/scratchy
Volume scratchy on disk0s5 unmounted
[macbookpro08-centrim:~] gjp22% sudo /sbin/fsck_hfs -Re /dev/disk0s5
** /dev/rdisk0s5
   Executing fsck_hfs (version diskdev_cmds-540.1~34).
** Checking Journaled HFS Plus volume.
   The volume name is scratchy
** Checking extents overflow file.
** Checking catalog file.
** Rebuilding extents overflow B-tree.
** Rechecking volume.
** Checking Journaled HFS Plus volume.
   The volume name is scratchy
** Checking extents overflow file.
** Checking catalog file.
** Checking multi-linked files.
** Checking catalog hierarchy.
** Checking extended attributes file.
** Checking volume bitmap.
** Checking volume information.
   Invalid volume file count
   (It should be 336 instead of 226)
   Invalid volume directory count
   (It should be 37 instead of 52)
   Invalid volume free block count
   (It should be 124541 instead of 125082)
   Volume header needs minor repair
(2, 0)
** Repairing volume.
** Rechecking volume.
** Checking Journaled HFS Plus volume.
   The volume name is scratchy
** Checking extents overflow file.
** Checking catalog file.
** Checking multi-linked files.
** Checking catalog hierarchy.
** Checking extended attributes file.
** Checking volume bitmap.
** Checking volume information.
** The volume scratchy was repaired successfully.
[macbookpro08-centrim:~] gjp22% sudo /sbin/fsck_hfs -fn /dev/disk0s5
** /dev/rdisk0s5 (NO WRITE)
   Executing fsck_hfs (version diskdev_cmds-540.1~34).
** Checking Journaled HFS Plus volume.
   The volume name is scratchy
** Checking extents overflow file.
** Checking catalog file.
** Checking multi-linked files.
** Checking catalog hierarchy.
** Checking extended attributes file.
** Checking volume bitmap.
** Checking volume information.
** The volume scratchy appears to be OK.
[macbookpro08-centrim:~] gjp22% 

Não, ainda diz "fsck_hfs: opção ilegal - R"
gelraen

Estou curioso: por que você deseja reconstruir essa árvore B específica? A necessidade de reconstrução é ativamente sugerida por alguém ou alguma coisa? Ou a reconstrução é uma tentativa de contornar algo que o intriga?
Graham Perrin

Eu queria reconstruí-lo porque estava quebrado e o sistema não inicializou.
gelraen

@gelraen obrigado. Se uma reconstrução for necessária, ela será automatizada pelo sistema. Regra de ouro: se a reconstrução automatizada falhar, tente uma reconstrução manual, usando o mesmo fsck_hfs mas inicializado a partir de um volume diferente, não terá mais chances de sucesso. Versões mais modernas de fsck_hfs tem requisitos de espaço livre menos rigorosos, mas ainda assim, se o espaço livre não for adequado, a reconstrução será recusada. Desenvolvimentos no Leão permitem alguns truques, discutir em Peça Chat Diferente se você gostar.
Graham Perrin
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.