Come montare una partizione HFS in Ubuntu come lettura / scrittura?


169

Ho collegato il mio hard disk esterno (che è stato formattato sul mio Mac in HFS + journaled) al mio desktop Ubuntu 9.04 64 bit. Non riesco a montare l'unità con capacità di scrittura, come posso farlo? In questo momento tutto quello che ottengo è l'accesso in lettura, ho provato

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

ma questo mi ha dato solo l'accesso in lettura ... idee ??


Sento che le risposte a questa domanda sono molto migliori, più facili e più sicure delle risposte fornite qui.
Mike Williamson,

Risposte:


75

È necessario disattivare il journaling se si desidera scriverlo da Ubuntu. Ubuntu supporta solo la scrittura su volumi HFS + non registrati su giornale.

Sul tuo Mac:

  • Apri Utility Disco in Applicazioni -> Utilità
  • Seleziona il volume su cui disabilitare il journaling.
  • Scegli Disabilita journaling dal menu File. (Nelle versioni successive di Mac OS dovrai tenere premuto il pulsante di opzione quando fai clic sul menu File. O se ti piace Apple+ J)

La disabilitazione del journaling da HFS + è ancora possibile fino a OS X Yosemite 10.10


4
Si noti che "La disabilitazione del journaling sulla partizione OS X principale non è consigliata, poiché il journaling è una caratteristica importante di qualsiasi file system che può prevenire danni e perdita di dati" ( help.ubuntu.com/community/hfsplus )
Hay,

@Hay puoi riattivare il journaling. Tutto ciò che fa è aiutare il sistema a recuperare più velocemente in un tale evento (ad es. Arresto anomalo). Non è la fine del mondo.
John T,

11
No, non è tutto il journaling. Aiuta anche a prevenire la corruzione del filesystem, che potrebbe essere abbastanza grave da poter essere risolto solo con un riformattatore.
Wade Williams,

8
in macos 10.6.8, al passaggio 3, apri il menu file con "opzione + alt" premuto
commonpike

2
@JohnT Potresti fornire una fonte per il fatto che "Ubuntu ha il supporto solo per la scrittura su volumi HFS + non registrati su giornale", per favore? Sto facendo delle ricerche su HFS + e sarebbe molto utile. Grazie.
Kalaracey,

187

Innanzitutto, assicurati di aver installato hfsprogs . Esempio di comando di installazione:

sudo apt-get install hfsprogs

Quindi, montare o rimontare l'unità HFS +; i comandi devono essere i seguenti:

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

o

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

Infine, se l'unità è stata smontata in modo errato o è stata parzialmente danneggiata, eseguire fsck.hfsplus (fornito qui da Jayson) come tale:

sudo fsck.hfsplus /dev/sdx#

7
Grazie mille per aver fornito una soluzione unica per Linux! ^ _ ^
FCTW

13
Sono su Ubuntu 12.04, il comando remount dovrebbe essere così sudo mount -t hfsplus -o remount,force,rw /dev/sdx# /mount/point. Quindi è necessario utilizzare root per leggere / scrivere i dati.
Coc,

19
Perché questo non è contrassegnato come risposta?
Sheljohn,

4
@Digiground e @Coc falliscono entrambi mount: warning: /media/mount/point seems to be mounted read-only.su Ubuntu 13.04 con hfsprogs installato.
qui il

1
@qui ho sollevato una domanda per risolvere proprio questo problema.
Kinbiko,

27

Puoi abilitare la scrittura su HFS + in Linux anche se non hai disabilitato il journaling. Oltre a hfsplus che hai già, devi avere hfsprogs installato:

sudo apt-get install hfsprogs

Quindi, utilizzare l' -o forceopzione:

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

Se l'unità è stata montata automaticamente (come dovrebbe essere su un sistema desktop come Ubuntu), è possibile abilitare la scrittura con

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

o

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

/ mount / point di solito sarebbe / media / Your_drive_label / dev / sdx è il tuo dispositivo HFS +

Utilizzare mount -lper trovare quale dispositivo è già montato su quale punto di montaggio.


1
dalla risposta di Digiground, non ti manca la parte rw nel comando ?? Ci sono riuscito con le sue opzioni.
Meduz,

@meduz: non avevo bisogno di "rw" in Ubuntu 10.04. Mi sembra di averne bisogno ora nel 12.04. Quindi ho modificato la risposta per aggiungerla.
marzo

13

Hai provato ad abbinare le autorizzazioni?

Per impostazione predefinita, Mac OS X formatta i volumi in volumi HFS + registrati su giornale. Il journaling è una funzionalità che migliora l'affidabilità dei dati e, sfortunatamente, rende le unità HFS di sola lettura in Linux.

Per disabilitare l'inserimento nel journal, basta avviare OS X e avviare Utility Disco. Fai clic sulla tua partizione HFS, tieni premuto il tasto Opzione e fai clic su File nella barra dei menu. Nel menu verrà visualizzata una nuova opzione per disabilitare il journaling. Fare clic su di esso e riavviare in Linux. Dovresti avere accesso in lettura e scrittura alla tua partizione HFS, tuttavia le autorizzazioni sulla cartella home dell'utente Mac ti impediranno di leggere o scrivere quei file. dobbiamo solo cambiare il nostro UID in un sistema operativo in modo che corrisponda all'UID nell'altro. A meno che tu non abbia un motivo per scegliere diversamente, cambieremo il nostro UID Linux in modo che corrisponda al nostro OS X, poiché è un po 'più semplice. Per impostazione predefinita, il primo utente in OS X ha un UID di 501, ma puoi ricontrollarlo andando in Preferenze di Sistema in OS X, facendo clic con il tasto destro del mouse sul tuo utente e premendo Opzioni avanzate.

Avviare in Linux (stiamo usando Ubuntu in questo esempio) e accendere il Terminale. Innanzitutto, aggiungeremo un utente temporaneo, poiché non vogliamo modificare un utente a cui siamo attualmente connessi. Quindi, esegui i seguenti comandi nel Terminale, premendo Invio dopo ognuno:

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

sudo passwd tempuser

Digitare una nuova password per l'utente temporaneo quando richiesto. Riavvia e accedi come tempuser. Quindi, apri il Terminale e digita i seguenti comandi, premendo nuovamente Invio dopo ognuno (e sostituendo il tuo nome utente con il nome utente del tuo utente Linux):

sudo usermod --uid 501 yourusername

sudo chown -R 501:yourusername /home/yourusername

Ciò cambierà l'UID dell'utente Linux in 501 e correggerà le autorizzazioni della cartella home in modo da possederle. Ora dovresti essere in grado di leggere e scrivere nella cartella principale dell'utente Mac e Linux, indipendentemente dal sistema operativo in cui hai effettuato l'accesso.

Potresti anche voler riparare la schermata di accesso, poiché per impostazione predefinita Ubuntu non elenca gli utenti con un UID inferiore a 1000. Per fare ciò, basta aprire un Terminale ed eseguire gksudo gedit /etc/login.defs e cercare UID_MIN in il file di testo. Cambia quel valore da 1000 a 501 e quando riavvii il tuo utente verrà elencato nella schermata di accesso.

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


1
ottima soluzione! mi hai appena salvato un paio d'ore :) l'unica cosa da aggiungere è eliminare il tempuser -> sudo userdel tempuser
Feida Kila,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.