Comment monter une partition HFS dans Ubuntu en lecture / écriture?

169

J'ai branché mon disque dur externe (formaté sur mon Mac dans HFS + journalisé) sur mon ordinateur de bureau Ubuntu 9.04 64 bits. Je ne parviens pas à monter le disque en écriture, comment puis-je le faire? En ce moment, tout ce que je reçois est un accès en lecture, j'ai essayé

sudo mount -t hfsplus /dev/sdf2 /media/"Portable HD"

mais cela ne me donnait toujours qu'un accès en lecture ... des idées ??

GiH
la source
Je pense que les réponses à cette question sont bien meilleures, plus faciles et plus sûres que les réponses fournies ici.
Mike Williamson

Réponses:

75

Vous devez désactiver la journalisation si vous souhaitez y écrire à partir d'Ubuntu. Ubuntu ne prend en charge que l’écriture sur des volumes HFS + non journalisés.

Sur votre Mac:

  • Ouvrir Utilitaire de disque sous Applications -> Utilitaires
  • Sélectionnez le volume sur lequel vous souhaitez désactiver la journalisation.
  • Choisissez Désactiver la journalisation dans le menu Fichier. (Sur les versions ultérieures de Mac OS, vous devrez maintenir le bouton d'option enfoncé lorsque vous cliquerez sur le menu Fichier. Ou si vous aimez Apple+ J)

Désactiver la journalisation à partir de HFS + est toujours possible jusqu'à OS X Yosemite 10.10

John T
la source
4
Notez que "Il est déconseillé de désactiver la journalisation sur votre partition principale OS X, car la journalisation est une fonctionnalité importante de tout système de fichiers capable de prévenir les dommages et la perte de données" ( help.ubuntu.com/community/hfsplus )
Hay
@Vous pouvez réactiver la journalisation. Cela ne fait qu’aider le système à récupérer plus rapidement dans un tel cas (c.-à-d. Un arrêt anormal). Pas la fin du monde.
John T
11
Non, ce n'est pas tout ce que la journalisation fait. Cela permet également d'éviter la corruption du système de fichiers, qui pourrait être suffisamment grave pour ne pouvoir être réparé qu'avec un reformat.
Wade Williams
8
dans macos 10.6.8, à l'étape 3, ouvrez le menu Fichier en appuyant sur "option + alt"
commonpike
2
@JohnT Pourriez-vous s'il vous plaît fournir une source pour le fait que "Ubuntu ne prend en charge que l'écriture sur des volumes HFS + non journalisés", s'il vous plaît? Je fais des recherches sur HFS + et ce serait très utile. Je vous remercie.
Kalaracey
187

Tout d’abord, assurez-vous d’avoir installé hfsprogs . Exemple de commande d'installation:

sudo apt-get install hfsprogs

Ensuite, montez ou remontez le lecteur HFS +; les commandes doivent être comme suit:

sudo mount -t hfsplus -o force,rw /dev/sdx# /media/mntpoint

ou

sudo mount -t hfsplus -o remount,force,rw /dev/sdx# /mount/point

Enfin, si le lecteur n’a pas été correctement démonté ou est partiellement corrompu, exécutez fsck.hfsplus (fourni ici par Jayson) en tant que tel:

sudo fsck.hfsplus /dev/sdx#
Digiground
la source
7
Merci beaucoup d'avoir fourni une solution exclusivement Linux! ^ _ ^
FCTW,
13
Je suis sur Ubuntu 12.04, la commande remount devrait être comme ça sudo mount -t hfsplus -o remount,force,rw /dev/sdx# /mount/point. Ensuite, vous devez utiliser root pour lire / écrire des données.
Coc
19
Pourquoi est-ce pas marqué comme la réponse?
Sheljohn
4
@ Digigound et @Coc échouent avec mount: warning: /media/mount/point seems to be mounted read-only.Ubuntu 13.04 avec hfsprogs installé.
ici
1
@ici j'ai soulevé une question pour aborder précisément cette question.
kinbiko
27

Vous pouvez activer l'écriture sur HFS + sous Linux même si vous n'avez pas désactivé la journalisation. En plus de hfsplus que vous avez déjà, vous devez avoir installé hfsprogs:

sudo apt-get install hfsprogs

Ensuite, utilisez l' -o forceoption:

sudo mount -o force /dev/sdX /your/mount/point

Si le lecteur a été monté automatiquement (comme il se doit sur un système de bureau tel que Ubuntu), vous pouvez activer l'écriture avec

sudo mount -o remount,rw,force /mount/point

ou

sudo mount -o remount,rw,force /dev/sdx

/ mount / point serait habituellement / media / votre_label_drive / dev / sdx est votre périphérique HFS +

Utilisez mount -lpour trouver quel périphérique est déjà monté sur quel point de montage.

mivk
la source
1
d'après la réponse de Digiground, ne manquez-vous pas la partie rw dans la commande? J'ai réussi avec ses options.
meduz
@meduz: je n'avais pas besoin de "rw" dans Ubuntu 10.04. Il semble que j'en ai besoin maintenant dans 12.04. J'ai donc modifié la réponse pour l'ajouter.
mardi
13

Avez-vous essayé de faire correspondre les autorisations?

Par défaut, Mac OS X formate les volumes dans les volumes HFS + journalisés. La journalisation est une fonctionnalité qui améliore la fiabilité des données et rend malheureusement les lecteurs HFS en lecture seule sous Linux.

Pour désactiver la journalisation, démarrez simplement sous OS X et lancez l'Utilitaire de disque. Cliquez sur votre partition HFS, maintenez la touche Option enfoncée, puis cliquez sur Fichier dans la barre de menus. Une nouvelle option pour désactiver la journalisation apparaîtra dans le menu. Cliquez dessus et redémarrez sous Linux. Vous devriez avoir un accès en lecture et en écriture à votre partition HFS. Toutefois, les autorisations sur le dossier de base de l'utilisateur Mac vous empêcheront de lire ou d'écrire ces fichiers. nous avons juste besoin de changer notre UID dans un système d'exploitation pour qu'il corresponde à celui de l'autre. Sauf indication contraire de votre part, nous allons modifier notre UID Linux pour qu'il corresponde à celui de notre OS X, car c'est un peu plus simple. Par défaut, le premier utilisateur de OS X a un UID de 501, mais vous pouvez le vérifier en accédant aux Préférences Système de OS X, en cliquant avec le bouton droit de la souris sur votre utilisateur et en sélectionnant Options avancées.

Démarrez sous Linux (nous utilisons Ubuntu dans cet exemple) et lancez le terminal. Premièrement, nous allons ajouter un utilisateur temporaire, car nous ne souhaitons pas modifier un utilisateur auquel nous sommes actuellement connectés. Donc, exécutez les commandes suivantes dans le terminal, en appuyant sur Entrée après chaque commande:

sudo useradd -d /home/tempuser -m -s /bin/bash -G admin tempuser

sudo passwd tempuser

Tapez un nouveau mot de passe pour l'utilisateur temporaire lorsque vous y êtes invité. Redémarrez et connectez-vous en tant qu'utilisateur tempuser. Ensuite, ouvrez le terminal et tapez les commandes suivantes, en appuyant à nouveau sur entrée après chaque (et en remplaçant votre nom d'utilisateur par le nom d'utilisateur de votre utilisateur Linux):

sudo usermod --uid 501 yourusername

sudo chown -R 501:yourusername /home/yourusername

Cela modifiera l'UID de votre utilisateur Linux en 501 et fixera les autorisations de votre dossier personnel de sorte que vous les possédiez toujours. Maintenant, vous devriez être capable de lire et d’écrire dans les dossiers personnels de vos utilisateurs Mac et Linux, quel que soit le système d’exploitation auquel vous êtes connecté.

Vous pouvez également vouloir corriger votre écran de connexion, car par défaut, Ubuntu ne listera pas les utilisateurs avec un UID inférieur à 1000. Pour cela, ouvrez simplement un terminal et exécutez gksudo gedit /etc/login.defs et recherchez UID_MIN dans le fichier texte. Changez cette valeur de 1000 à 501 et lorsque vous redémarrez votre utilisateur, celui-ci sera répertorié dans l'écran de connexion.

http://lifehacker.com/5702815/the-complete-guide-to-sharing-your-data-across-multiple-operating-systems

Steve Alfano
la source
1
bonne solution! tu viens juste de me sauver quelques heures :) la seule chose à ajouter est de supprimer le tempuser -> sudo userdel tempuser
Feida Kila