Wie mounte ich eine HFS-Partition in Ubuntu als Lese- / Schreibzugriff?

169

Ich habe meine externe Festplatte (die auf meinem Mac in HFS + journaled formatiert wurde) an meinen Ubuntu-Desktop 9.04 64bit angeschlossen. Ich kann das Laufwerk nicht zum Mounten mit Schreibfunktion bringen. Wie mache ich das? Im Moment bekomme ich nur Lesezugriff, versuchte ich es

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

aber das gab mir trotzdem nur lesezugriff ... ideen ??

GiH
quelle
Ich bin der Meinung, dass die Antworten auf diese Frage weitaus besser, einfacher und sicherer sind als die hier gegebenen Antworten.
Mike Williamson

Antworten:

75

Sie müssen das Journal deaktivieren, wenn Sie von Ubuntu darauf schreiben möchten. Ubuntu unterstützt nur das Schreiben auf HFS + -Datenträger ohne Journal.

Auf deinem Mac:

  • Öffnen Sie das Festplatten-Dienstprogramm unter Programme -> Dienstprogramme
  • Wählen Sie das Volume aus, für das die Aufzeichnung deaktiviert werden soll.
  • Wählen Sie im Menü Datei die Option Journal deaktivieren . (In späteren Mac OS-Versionen müssen Sie die Optionstaste gedrückt halten, wenn Sie auf das Menü Datei klicken. Oder wenn Sie Apple+ möchten. J)

Das Deaktivieren der Aufzeichnung über HFS + ist bis OS X Yosemite 10.10 weiterhin möglich

John T
quelle
4
Beachten Sie, dass "Das Deaktivieren der Journalfunktion auf Ihrer OS X-Hauptpartition nicht empfohlen wird, da die Journalfunktion eine wichtige Funktion jedes Dateisystems ist, das Schäden und Datenverlust verhindern kann" ( help.ubuntu.com/community/hfsplus )
Hay
@Hay Sie können das Journaling wieder aktivieren. In einem solchen Fall kann sich das System nur schneller erholen (dh abnormales Herunterfahren). Nicht das Ende der Welt.
John T
11
Nein, das ist noch nicht alles. Es hilft auch, eine Beschädigung des Dateisystems zu verhindern, die so schwerwiegend sein kann, dass sie nur mit einer Neuformatierung behoben werden kann.
Wade Williams
8
in macos 10.6.8 öffnen sie in schritt 3 das
dateimenü mit
2
@JohnT Könnten Sie bitte eine Quelle für die Tatsache angeben, dass "Ubuntu nur das Schreiben auf HFS + -Volumes ohne Journal unterstützt"? Ich mache einige Nachforschungen über HFS + und es wäre sehr nützlich. Danke.
Kalaracey
187

Stellen Sie zunächst sicher, dass Sie hfsprogs installiert haben. Beispiel für einen Installationsbefehl:

sudo apt-get install hfsprogs

Als nächstes mounten oder mounten Sie das HFS + -Laufwerk erneut. Befehle müssen wie folgt lauten:

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

oder

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

Wenn das Laufwerk nicht ordnungsgemäß bereitgestellt wurde oder auf andere Weise teilweise beschädigt wurde, führen Sie fsck.hfsplus ( hier von Jayson bereitgestellt ) als solches aus:

sudo fsck.hfsplus /dev/sdx#
Digiground
quelle
7
Vielen Dank für die Bereitstellung einer reinen Linux-Lösung! ^ _ ^
FCTW
13
Ich bin auf Ubuntu 12.04, der Remount-Befehl sollte so sein sudo mount -t hfsplus -o remount,force,rw /dev/sdx# /mount/point. Dann muss root zum Lesen / Schreiben von Daten verwendet werden.
Coc
19
Warum ist dies nicht als Antwort markiert?
Sheljohn
4
@Digiground und @Coc schlagen unter mount: warning: /media/mount/point seems to be mounted read-only.Ubuntu 13.04 mit hfsprogs fehl.
hier
1
@hier habe ich eine Frage aufgeworfen , um genau dieses Problem anzugehen.
Kinbiko
27

Sie können das Schreiben in HFS + unter Linux aktivieren, auch wenn Sie das Journaling nicht deaktiviert haben. Zusätzlich zu hfsplus, das Sie bereits haben, müssen Sie hfsprogs installiert haben:

sudo apt-get install hfsprogs

Verwenden Sie dann die -o forceOption:

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

Wenn das Laufwerk automatisch gemountet wurde (wie es auf einem Desktop-System wie Ubuntu sein sollte), können Sie das Schreiben mit aktivieren

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

oder

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

/ mount / point ist normalerweise / media / Your_drive_label / dev / sdx ist Ihr HFS + -Gerät

Hiermit können Sie mount -lermitteln, welches Gerät bereits an welchem ​​Einhängepunkt montiert ist.

mivk
quelle
1
Verpassen Sie aus der Antwort von Digiground nicht den rw-Teil im Befehl? Ich habe es mit seinen Optionen geschafft.
Meduz
@meduz: Ich brauchte "rw" in Ubuntu 10.04 nicht. Ich scheine es jetzt im 12.04 zu brauchen. Also habe ich die Antwort bearbeitet, um sie hinzuzufügen.
Mivk
13

Haben Sie versucht, Berechtigungen abzugleichen?

Standardmäßig formatiert Mac OS X Volumes in aufgezeichneten HFS + -Volumes. Journaling ist eine Funktion, die die Datenzuverlässigkeit verbessert. Leider sind HFS-Laufwerke unter Linux schreibgeschützt.

Starten Sie zum Deaktivieren der Aufzeichnung einfach OS X und starten Sie das Festplatten-Dienstprogramm. Klicken Sie auf Ihre HFS-Partition, halten Sie die Wahltaste gedrückt und klicken Sie in der Menüleiste auf Datei. Eine neue Option zum Deaktivieren der Aufzeichnung wird im Menü angezeigt. Klicken Sie darauf und starten Sie Linux neu. Sie sollten Lese- und Schreibzugriff auf Ihre HFS-Partition haben. Die Berechtigungen für den Basisordner Ihres Mac-Benutzers verhindern jedoch, dass Sie diese Dateien lesen oder schreiben können. Wir müssen nur unsere UID in einem Betriebssystem so ändern, dass sie mit der UID im anderen übereinstimmt. Sofern Sie keinen Grund haben, etwas anderes zu wählen, werden wir unsere Linux-UID an unsere OS X-UID anpassen, da dies etwas einfacher ist. Standardmäßig hat der erste Benutzer in OS X eine UID von 501. Sie können dies jedoch überprüfen, indem Sie in den Systemeinstellungen von OS X mit der rechten Maustaste auf den Benutzer klicken und Erweiterte Optionen auswählen.

Booten Sie in Linux (in diesem Beispiel verwenden wir Ubuntu) und starten Sie das Terminal. Zunächst fügen wir einen temporären Benutzer hinzu, da wir keinen Benutzer bearbeiten möchten, bei dem wir gerade angemeldet sind. Führen Sie daher die folgenden Befehle im Terminal aus und drücken Sie nach jedem Befehl die Eingabetaste:

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

sudo passwd tempuser

Geben Sie ein neues Kennwort für den temporären Benutzer ein, wenn Sie dazu aufgefordert werden. Starten Sie neu und melden Sie sich als Tempuser an. Öffnen Sie dann das Terminal und geben Sie die folgenden Befehle ein, indem Sie nach jedem einzelnen erneut die Eingabetaste drücken (und Ihren Benutzernamen durch den Benutzernamen Ihres Linux-Benutzers ersetzen):

sudo usermod --uid 501 yourusername

sudo chown -R 501:yourusername /home/yourusername

Dadurch wird die UID Ihres Linux-Benutzers in 501 geändert und Ihre Berechtigungen für den Basisordner werden so festgelegt, dass Sie sie weiterhin besitzen. Jetzt sollten Sie in der Lage sein, sowohl in den privaten Ordner Ihres Mac als auch in den des Linux-Benutzers zu schreiben und zu lesen, unabhängig davon, bei welchem ​​Betriebssystem Sie angemeldet sind.

Sie können auch Ihren Anmeldebildschirm korrigieren, da Ubuntu standardmäßig keine Benutzer mit einer UID von weniger als 1000 auflistet. Öffnen Sie dazu einfach ein Terminal, führen Sie gksudo gedit /etc/login.defs aus und suchen Sie nach UID_MIN in die Textdatei. Wenn Sie diesen Wert von 1000 auf 501 ändern, wird Ihr Benutzer beim Neustart im Anmeldebildschirm aufgeführt.

http://lifehacker.com/5702815/de-komplette-Anleitung-zum- Teilen-Ihrer-Daten-über- mehrere- Betriebssysteme

Steve Alfano
quelle
1
tolle lösung! du hast mir gerade ein paar stunden gespart :) das einzige was hinzugefügt werden muss ist das löschen des tempusers -> sudo userdel tempusers
Feida Kila 31.10.11