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.