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


9

Percebo que essa pergunta é de natureza semelhante a essa pergunta , mas espero trazer especificamente mais atenção para um problema adicional em um dos comentários desta resposta a essa pergunta .

Tirei o disco rígido de um MacbookPro antigo e estou tentando montá-lo na minha caixa do sistema operacional elementar, onde o monta automaticamente como somente leitura. Eu quero obter acesso rw a esta unidade.

Seguindo o procedimento descrito na resposta acima, depois de 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 pergunta, mas não ganhou atenção suficiente para recompensar uma resposta. Como é que ainda é somente leitura? Não é isso que forcegarante?

O seguinte pode ou não ser relevante:

Também corri sudo fsck.hfsplus -f /dev/sdc2seguindo a postagem do blog vinculada à resposta e adicionei a -fsinalização depois fsckque não queria executar uma verificação de um sistema com diário. isso correu muito 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 afetado minha unidade, nem boa nem ruim.

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

EDITAR Os comentários e a resposta de Michael Kjörling resolveram minha questão fundamental de acessar meus dados. No entanto, as perguntas em negrito acima ainda não foram abordadas. Por isso, editei a questão para enfatizar esse problema, deixando a questão em aberto para futuros usuários.


Por que você sente a necessidade de correr chmodpara pegar seus dados do disco? A solução mais fácil seria apenas fazer uma cópia somente leitura em outro sistema de arquivos e, em seguida, corrigir as permissões e a propriedade, se necessário.
um CVn

@ MichaelKjörling Eu não permissões até ter lido sobre os arquivos que eu gostaria de copiar
kinbiko

Executando sudovocê deve ter, pois o root ignora todas as verificações de permissões do sistema de arquivos. Obviamente, isso pressupõe que o problema de suas permissões seja sobre permissões no nível do sistema de arquivos.
um CVn

@ MichaelKjörling mesmo com sudoeu entendo cp: omitting directory Documents/. ao tentar copiar documentos para o meu disco rígido local
kinbiko

11
Isso não é um problema de permissões, no entanto.
um CVn

Respostas:


4

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

  1. Você está tentando executar a cópia como um usuário comum. Isso pode causar a falha na leitura dos arquivos de origem, porque você não possui permissões de leitura. Isso é facilmente corrigido executando a cópia sudoexatamente como você fez a montagem.
  2. Você obtém cp: omitting directory Documents/ao tentar executar a cópia sudo. Isso não é um problema de permissões e pode ser corrigido simplesmente com cpa inclusão de subdiretórios.

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

O -vparâmetro não é estritamente necessário, mas após meia hora ou uma hora de espera, você poderá apreciar os arquivos listados na medida em que estão sendo copiados. Observe que, se você tiver um número muito grande de arquivos pequenos, a atualização da tela poderá reduzir o rendimento da cópia; nesse caso, basta minimizar a janela e verificar 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 -rdizer para preservar apenas a estrutura de diretórios.

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


Atualizei a pergunta para solucionar especificamente o problema de montagem e não aceitarei sua resposta, pois ela não responde. Fico feliz em lhe dar uma recompensa, quando o tempo acabar.
Kinbiko

Eu tenho exatamente o mesmo problema que OP e já tentou de montagem com essas bandeiras sob sudo, tentou mkdirsob sudo na unidade montada e receber esse erro:mkdir cannot create directory 'test': Read-only file system
James Heald

Eu tive o mesmo problema do OP e sua resposta pareceu funcionar. Obrigado!
fady

0

Penso que o seu problema é basicamente como desativar o diário sem usar o OSX.

Isso 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 os ponteiros para dois programas C bastante semelhantes que pretendem fazer exatamente isso:

Como não posso garantir que esses programas não destruam o disco, sugiro que você tente isso em uma imagem de backup do disco.

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


0

Eu tive muito o mesmo problema e o que aprendi até agora: fazer um fsck bem-sucedido é essencial. Como isso não está funcionando na sua máquina, acho que essa deve ser a sua abordagem para uma correção:

  • qual versão do hfsprogs / fsck.hfsplus você instalou?
  • na minha máquina (executando o Debian), instalei-o 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 funcionava para mim o tempo todo agora com meu disco hfs +.

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.