Monte um disco HFSPlus com permissões de leitura/gravação no Linux

Monte um disco HFSPlus com permissões de leitura/gravação no Linux

Sei que esta questão é de natureza semelhante àessa questão, mas espero chamar especificamente mais atenção para um problema adicional em um dos comentários deesta resposta para essa pergunta.

Retirei o disco rígido de um MacbookPro antigo e estou tentando montá-lo na minha caixa do Elementary OS, onde ele o monta automaticamente como somente leitura. Quero obter acesso rw a esta unidade.

Seguindo o procedimento indicado na resposta acima, após executar

sudo mount -t hfsplus -o remount,force,rw /dev/sdc2 /media/myharddrive

eu recebo

mount: warning: /media/myharddrive seems to be mounted read-only.

Isso foi observado por um comentário sobre essa questão, mas não ganhou atenção suficiente para recompensar uma resposta.Por que ainda é somente leitura? Não é isso que forcegarante?

O seguinte pode ou não ser relevante:

Eu também corri sudo fsck.hfsplus -f /dev/sdc2seguindo opostagem do blog vinculada à respostae adicionei o -fsinalizador depois de fscknão querer realizar uma verificação de um sistema registrado em diário. isso correu bem até

** /dev/sdc2 ** Checking HFS Plus volume. ** Checking Extents Overflow file. ** Checking Catalog file. ** Checking multi-linked files. Orphaned indirect node iNode28863935 ** Checking Catalog hierarchy. ** Checking Extended Attributes file. ** Checking volume bitmap. ** Checking volume information. ** Repairing volume. ** Rechecking volume. ** Checking HFS Plus volume. ** 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 myharddrive was repaired successfully. *** glibc detected *** fsck.hfsplus: munmap_chunk(): invalid pointer: 0x00000000022f9e30 ***

seguido por um backtrace e um mapa de memória. A fsckligação parece não ter tido nenhum efeito em meu impulso, nem bom nem ruim.

Qualquer indicação sobre como obter acesso de leitura e gravação à minha unidade,sem inicializar o OSX, seria muito apreciado.

EDITAR Os comentários de Michael Kjörling eresponderresolvi meu problema fundamental de acessar meus dados. No entanto, as questões em negrito acima ainda não foram abordadas, então editei a questão para enfatizar esse problema, deixando a questão aberta para futuros usuários.

Responder1

Como descobrimos nos comentários, existem dois problemas possíveis aqui:

  1. Você está tentando executar a cópia como um usuário normal. Isso pode causar falha na leitura dos arquivos de origem porque você não tem permissões de leitura para eles. Isso é facilmente corrigido executando a cópia sudoexatamente como você fez na montagem.
  2. Você obtém cp: omitting directory Documents/ao tentar executar a cópia do arquivo sudo. Isso não é um problema de permissão e pode ser corrigido simplesmente dizendo cppara incluir subdiretórios.

Juntando esses dois, você poderá copiar seus arquivos usando um comando como sudo cp -av /media/myharddrive /somewhere/else, onde /somewhere/else existe e é gravável.

O -vparâmetro não é estritamente necessário, mas depois de meia hora ou uma hora apenas de espera, você poderá apreciar os arquivos listados à medida que são copiados. Observe que se você tiver um número muito grande de arquivos pequenos, as atualizações da tela poderão reduzir o rendimento da cópia; nesse caso, simplesmente minimize a janela e verifique-a ocasionalmente.

-adiz ao cp para operar no modo "archive", preservando o máximo possível os arquivos que está copiando, incluindo subdiretórios. Ou você pode usar -rpara dizer para preservar apenas a estrutura de diretórios.

Usando isso, você poderá copiar os arquivos para um local mais adequado, onde poderá trabalhar com eles com mais liberdade, sem ser restringido pela limitação somente leitura do suporte ao sistema de arquivos HFS+.

Responder2

Acho que o seu problema é basicamente como desativar o registro no diário sem usar o OSX.

Isto requer a edição binária (hacking) do cabeçalho do disco e, como resultado, o espaço em disco ocupado pelo diário provavelmente será perdido.

Aqui estão algumas dicas para dois programas C bastante semelhantes que afirmam fazer exatamente isso:

Não posso garantir que esses programas não destruirão o disco, por isso sugiro que você experimente fazer isso em uma imagem de backup do disco.

Esta postagem pode ser útil: Como posso montar uma imagem de disco?.

Responder3

Tive muito o mesmo problema e o que aprendi até agora: fazer um fsck com sucesso é essencial. Como isso não está funcionando na sua máquina, acho que esta deve ser sua abordagem para corrigir:

  • qual versão do hfsprogs / fsck.hfsplus você instalou?
  • na minha máquina (rodando Debian) euinstalei da fonte(usando os downloads de uma fonte diferente)

    wget "http"://"gentoo.osuosl.org/distfiles/diskdev_cmds-332.14.tar.gz"

    wget "http"://"gentoo.osuosl.org/distfiles/diskdev_cmds-332.14_p1.patch.bz2"

    tar xzf diskdev_cmds-332.14.tar.gz

    bunzip2 -c diskdev_cmds-332.14_p1.patch.bz2 | patch -p0

    cd diskdev_cmds-332.14

    make -f Makefile.lnx

    cp fsck_hfs.tproj/fsck_hfs /sbin/fsck.hfsplus

    cp newfs_hfs.tproj/newfs_hfs /sbin/mkfs.hfsplus

    ln -s /sbin/fsck.hfsplus /sbin/fsck.hfs

    ln -s /sbin/mkfs.hfsplus /sbin/mkfs.hfs

Dessa forma, o fsck funcionou para mim o tempo todo com meu disco hfs+.

Responder4

Se você tiver alguma maneira de inicializar no Macambienteisso deve ser corrigido desativando adequadamente o registro no diário. Isso éambiente, não o macOS real, em outras palavras; se o disco não estiver mais no Mac, mas o Mac inicializar, coloque o disco em um gabinete externo (ou reinstale-o) e inicialize pelo Internet Recovery: segure Rdurante e depois de ligar um Intel Mac.

Se sua máquina é mais recente, sinto muito ser um D, mas você meio que causou isso a si mesmo, continuando a comprar da Apple, tendo testemunhado o caminho que ela estava tomando.

Usando o Utilitário de Disco ou diskutil(o Terminal pode ser acessado em um dos menus acima), dê um pouco de TLC ao disco e desative o registro no diário.Desativar registro no diáriodeveria estar noArquivocardápio deUtilitário de Discoe é provável que esteja oculto, pressione para revelá-lo.

Ou no terminal, diskutil listpara encontrar o seudisco volumee certifique-se de que o volume esteja desmontado:

  • diskutil unmountDisk disk1s7ou todo o disco está desmontado
  • diskutil unmountDisk disk1ou
  • diskutil unmountDisk /dev/disk1mas não ejetado;
  • diskutil eject <any-of-the-above>ou você terá que reconectá-lo. E livre-se do registro no diário:
  • diskutil disableJournal disk1s7ou
  • diskutil disableJournal force disk1s7 …mas com seus dados, é claro.

Se você decidir por um novo sistema de arquivos, useNTFSse você usa Windows, caso contrário, useext4. O ZFS está na maioria dos sistemas operacionais agora, assim como o APFS por algum motivo, o Btrfs também é bom e fácil de usar, mas é mais fácil lidar com um problema no ext4, e é diferente do ZFS e do Btrfs, é portátil, enquanto os outros exigem a importação de pools e suporte adicional e erros de metadados podem matar tudo.

Alternativamente, você deve ter acesso total ao disco enquanto estiver neste ambiente. E você parece contornar a CLI sem grandes problemas, então em seu lugar eu teria um backup para o plano A de qualquer maneira, que seria - usando um segundo disco em outro gabinete - copiar os arquivos do primeiro, antes de tentar modificar o primeiro.

Enquanto inicializado no instalador ou no modo de recuperação ou qualquer outra forma que não seja o macOS padrão, preste atenção na estrutura do sistema de arquivos, já faz um tempo desde que inicializei no Recovery, mas acredito que /se refere ao sistema de arquivos do ambiente ativo, enquanto seu disco real será em/Volumes/<your-volume-name>

Se o seu Mac não inicializa ou não existe mais, você pode pegar um emprestado! Não sei por que ninguém mais sugeriu isso.

Situação de último esforço

E se você não tiver um disco ou compartilhamento de rede para onde mover os dados?

É muito provável que isso falhe na GUI, se tentar: faça uma modificação de cada vez, aplique, seja extremamente paciente.

Você pode particionar o disco criando um volume HFS, sem registrar no diário, criar umConjunto de discos concatenados (JBOD)e mova o máximo de dados possível para lá, o que liberará outro pedaço na partição do volume original novamente e expandirá o JBOD com o novo volume. Repita até terminar. Sempre deixe um pouco de folga em cada volume, *200-400MB deve ser seguro o suficiente. Talvez você não consiga aumentar um volume, mas o JBOD tem muito poucas regras.

Alternativamente ejá que isso pode não ser reconhecido no Linux, nunca testei lá,esqueça o JBOD, apenas retire os dados desse volume, mesmo que agora estejam divididos em 3 dúzias de volumes, isso deve lhe dar um pouco de liberdade para planejar sua próxima etapa.

Talvez você JBOD-it depois do uso do Linux-ext4 possa ser convertido diretamente para Btrfs e o Btrfs seja mais flexível do que qualquer coisa por aí, a única área onde ele gira em torno do ZFS. Talvez uma última migração ( hfsext4)? Isso é arriscado, mas é pelo menos outra opção - você não teria tantos se tivesse permanecido no macOS (boa decisão; ainda estou no macOS, Mojave, mas estou totalmente preparado para abandonar quando meus Macs morrerem) .

Usando o Utilitário de Disco com um “disco delicado”

Se o Utilitário de Disco não reconhecer algo, isso pode mostrar que o disco está danificado ou algo assim. Se você fizer muito de uma vez, isso poderá danificá-lo. Quando você vê o gráfico de pizza para particionar seu disco, adicionar configurações de partição, os nomes, redimensionar, são todas operações individuais, muitas delas fazem o Utilitário de Disco falhar, presumo porque o disco pode não responder rápido o suficiente e ele o interpreta como um disco ruim ou fica impacientepor assim dizernad faz coisas estúpidas que acabam em um disco defeituoso.

Outra coisa que pode salvar vidas que você precisa fazer antes de fazer qualquer coisa que eu deveria ter mencionado anteriormente é: noterminalexecute gpt show -l /dev/disk1e gpt show /dev/disk1copie essas tabelas para um arquivo de texto e coloque-o em uma unidade flash ou tire uma foto da tela, IDK. Coloque-o diretamente em um arquivo: gpt show -l /dev/disk1 > gpt-tables.txt ; gpt show /dev/disk1 >> gpt-tables.txte mova o arquivo para fora da máquina.

Ele permitirá que você recrie sua tabela de partições se o Utilitário de Disco falhar. Não há páginas de manual nas botas de emergência, entãoveja como usá-lo ( gpt).

Adicione partições uma de cada vez, altere o tamanho apenas se elas não estiverem dimensionadas conforme necessário quando forem adicionadas, altere o sistema de arquivos, clique no menu suspenso para revelar as partições ocultas. Não altere o nome do novo volume, você pode fazer isso depois de criados, pois pode fazer com que tudo falhe. Após o primeiro erro, a partir deles todos os problemas, às vezes ele se recupera após uma reinicialização, mas é melhor você não forçar. O controle de qualidade de  despencou em High Sierra/Mojave, na transição do CEO. Você, Mac, é a loira muito burra estereotipada e não vai se transformar em *Elle Woods^, não... ela é burra.

informação relacionada