Monter un disque HFSPlus avec des autorisations de lecture / écriture sous Linux

9

Je me rends compte que cette question est de nature similaire à cette question , mais j'espère attirer plus spécifiquement l'attention sur un problème supplémentaire dans l'un des commentaires de cette réponse à cette question .

J'ai retiré le disque dur d'un ancien MacbookPro et j'essaie de le monter sur ma boîte OS élémentaire, où il le monte automatiquement en lecture seule. Je veux obtenir un accès rw à ce lecteur.

En suivant la procédure indiquée dans la réponse liée ci-dessus, après avoir exécuté

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

Je reçois

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

Cela a été noté par un commentaire sur cette question, mais n'a pas attiré suffisamment d'attention pour récompenser une réponse. Comment se fait-il qu'il soit toujours en lecture seule? N'est-ce pas ce qui forceassure?

Les éléments suivants peuvent ou non être pertinents:

J'ai également couru sudo fsck.hfsplus -f /dev/sdc2après le billet de blog lié à la réponse et ajouté le -fdrapeau après fsckne pas avoir voulu vérifier un système journalisé. cela a bien fonctionné jusqu'à

** /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 ***

suivi d'une trace et d'une carte mémoire. L' fsckappel semble n'avoir eu aucun effet sur mon lecteur, ni bon ni mauvais.

Tous les conseils sur la façon d'obtenir un accès en lecture-écriture à mon lecteur, sans démarrer OSX , seraient grandement appréciés.

EDIT les commentaires de Michael Kjörling et réponse a résolu mon problème fondamental d'accéder à mes données. Cependant, les questions en gras ci-dessus n'ont pas encore été abordées, j'ai donc modifié la question pour souligner ce problème, laissant la question ouverte pour les futurs utilisateurs.

kinbiko
la source
Pourquoi ressentez-vous le besoin de courir chmodpour récupérer vos données du disque? La solution la plus simple semble être de simplement faire une copie en lecture seule vers un autre système de fichiers, puis d'y corriger les autorisations et la propriété si nécessaire.
un CVn
@ MichaelKjörling Je n'ai même pas les autorisations de lecture des fichiers que j'aimerais copier
kinbiko
L'exécution sudodevrait avoir lieu, car root contourne toutes les vérifications des autorisations du système de fichiers. Cela ne, bien sûr, supposons que votre problème d'autorisations est sur les autorisations au niveau du système de fichiers.
un CVn
@ MichaelKjörling même avec sudoje reçois cp: omitting directory Documents/. lorsque j'essaie de copier des documents sur mon disque dur local
kinbiko
1
Ce n'est pas un problème d'autorisations, cependant.
un CVn

Réponses:

4

Comme nous l'avons découvert dans les commentaires, il y a deux problèmes possibles ici:

  1. Vous essayez d'exécuter la copie en tant qu'utilisateur normal. Cela peut entraîner l'échec de la lecture des fichiers source car vous ne disposez pas des autorisations de lecture sur ces derniers. Ceci est facilement corrigé en exécutant la copie sudocomme vous l'avez fait pour le montage.
  2. Vous obtenez cp: omitting directory Documents/lorsque vous essayez d'exécuter la copie sudo. Ce n'est pas du tout un problème d'autorisations et peut être résolu en disant simplement cpd'inclure des sous-répertoires.

En réunissant ces deux éléments, vous devriez pouvoir copier vos fichiers en utilisant une commande comme sudo cp -av /media/myharddrive /somewhere/else, où / quelque part / autre existe et est accessible en écriture.

Le -vparamètre n'est pas strictement nécessaire, mais après une demi-heure ou une heure d'attente, vous apprécierez peut-être que les fichiers soient répertoriés lors de leur copie. Notez que si vous avez un très grand nombre de petits fichiers, l’écran s’actualise peut réduire le débit de la copie; dans ce cas, réduisez simplement la fenêtre et vérifiez-la de temps en temps.

-aindique à cp de fonctionner en mode "archive", en préservant autant que possible les fichiers qu'il copie, y compris les sous-répertoires. Ou vous pouvez utiliser -rpour lui dire de ne conserver que la structure du répertoire.

Grâce à cela, vous devriez pouvoir copier les fichiers vers un emplacement plus approprié où vous pouvez travailler avec eux plus librement, sans être limité par la limitation en lecture seule de la prise en charge du système de fichiers HFS +.

un CVn
la source
J'ai mis à jour la question pour répondre spécifiquement au problème de montage, et je n'accepterai pas votre réponse car elle ne répond pas à cela. Je suis heureux de vous donner une prime quand le temps sera écoulé.
kinbiko
J'ai exactement le même problème que OP et j'ai essayé de monter avec ces drapeaux sous sudo, essayé mkdirsous sudo dans le lecteur monté et obtenez cette erreur:mkdir cannot create directory 'test': Read-only file system
James Heald
J'ai eu le même problème que OP et votre réponse a semblé faire l'affaire. Merci!
fady
0

Je pense que votre problème est essentiellement de savoir comment désactiver la journalisation sans utiliser OSX.

Cela nécessite l'édition binaire (piratage) de l'en-tête du disque, et par conséquent l'espace disque occupé par le journal sera probablement perdu.

Voici des pointeurs vers deux programmes C assez similaires qui prétendent faire exactement cela:

Je ne peux pas garantir que ces programmes ne détruiront pas le disque, je vous suggère donc de l'essayer sur une image de sauvegarde du disque.

Ce message peut être utile: comment puis-je monter une image disque? .

harrymc
la source
0

J'ai eu beaucoup le même problème et ce que j'ai appris jusqu'à présent: réussir un fsck est essentiel. Comme cela ne fonctionne pas sur votre machine, je pense que cela devrait être votre approche pour un correctif:

  • quelle version de hfsprogs / fsck.hfsplus avez-vous installé?
  • sur ma machine (exécutant Debian) je l'ai installé depuis la source (en utilisant les téléchargements depuis une autre source)

    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

De cette façon, fsck a toujours fonctionné pour moi avec mon disque hfs +.

Rudolf
la source