Montare un disco HFSPlus con autorizzazioni di lettura / scrittura su Linux


9

Mi rendo conto che questa domanda è di natura simile a questa domanda , ma spero di attirare maggiormente l'attenzione su un ulteriore problema in uno dei commenti di questa risposta a quella domanda .

Ho rimosso il disco rigido di un vecchio MacbookPro e sto provando a montarlo sulla mia scatola del sistema operativo elementare, dove lo monta automaticamente in sola lettura. Voglio ottenere l'accesso rw a questa unità.

Seguendo la procedura indicata nella risposta collegata sopra, dopo l'esecuzione

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

ottengo

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

Questo è stato notato da un commento su quella domanda, ma non ha guadagnato abbastanza attenzione per premiare una risposta. Come mai è ancora di sola lettura? Non è questo ciò che forcegarantisce?

Possono essere o meno rilevanti:

Ho anche sudo fsck.hfsplus -f /dev/sdc2seguito il post del blog collegato nella risposta e ho aggiunto la -fbandiera dopo fsckche non volevo eseguire un controllo di un sistema registrato su giornale. questo ha funzionato bene fino a

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

seguito da una backtrace e una mappa di memoria. La fsckchiamata sembra aver avuto alcun effetto sul mio disco, né buona né cattiva.

Qualsiasi suggerimento su come ottenere l'accesso in lettura e scrittura al mio disco, senza avviare OSX , sarebbe molto apprezzato.

EDIT I commenti e la risposta di Michael Kjörling hanno risolto il mio problema fondamentale di accesso ai miei dati. Tuttavia, le domande in grassetto sopra non sono state ancora affrontate, quindi ho modificato la domanda per enfatizzare questo problema, lasciando la domanda aperta per i futuri utenti.


Perché ritieni che sia necessario eseguire chmodper estrarre i dati dal disco? La soluzione semplice sembrerebbe essere semplicemente fare una copia di sola lettura su qualche altro file system, quindi correggere le autorizzazioni e la proprietà lì, se necessario.
un CVn

@ MichaelKjörling Non ho nemmeno i permessi di lettura dei file che vorrei copiare
kinbiko,

L'esecuzione sudodovrebbe essere necessaria, poiché root ignora tutti i controlli delle autorizzazioni del file system. Che fa, ovviamente, per scontato che il problema di autorizzazioni è sulle autorizzazioni a livello di sistema di file.
un CVn

@ MichaelKjörling anche con sudome cp: omitting directory Documents/. quando
provo

1
Questo non è un problema di autorizzazioni, però.
un CVn

Risposte:


4

Come abbiamo scoperto nei commenti, qui ci sono due possibili problemi:

  1. Stai tentando di eseguire la copia come utente normale. Ciò potrebbe impedire la lettura dei file di origine perché non si dispone delle autorizzazioni di lettura. Questo può essere facilmente corretto eseguendo la copia sudoproprio come hai fatto con il mount.
  2. Si ottiene cp: omitting directory Documents/quando si tenta di eseguire la copia sudo. Questo non è affatto un problema di autorizzazioni e può essere risolto semplicemente dicendo cpdi includere le sottodirectory.

Mettendo insieme questi due, dovresti essere in grado di copiare i tuoi file usando un comando come sudo cp -av /media/myharddrive /somewhere/else, dove / somewhere / else esiste ed è scrivibile.

Il -vparametro non è strettamente necessario, ma dopo mezz'ora o un'ora di attesa, è possibile apprezzare i file elencati mentre vengono copiati. Si noti che se si dispone di un numero molto elevato di file di piccole dimensioni, l'aggiornamento dello schermo potrebbe ridurre il throughput della copia; in tal caso, è sufficiente ridurre a icona la finestra e verificarla di tanto in tanto.

-adice a cp di operare in modalità "archivio", preservando il più possibile i file che sta copiando, comprese le sottodirectory. Oppure puoi usare -rper dirlo per preservare solo la struttura della directory.

Usando questo, dovresti essere in grado di copiare i file in una posizione più adatta dove puoi lavorare con loro più liberamente, senza essere limitato dalla limitazione di sola lettura del supporto del file system HFS +.


Ho aggiornato la domanda per risolvere in modo specifico il problema di montaggio e non accetterò la tua risposta in quanto non risponde. Sono felice di darti una taglia comunque, quando il tempo scade.
Kinbiko,

Ho esattamente lo stesso problema di OP e ho provato a montare con quelle bandiere sudo, ho provato su mkdirsudo nell'unità montata e ho ricevuto questo errore:mkdir cannot create directory 'test': Read-only file system
James Heald

Ho avuto lo stesso problema di OP e la tua risposta sembrava fare il trucco. Grazie!
fady

0

Penso che il tuo problema sia fondamentalmente come disattivare il journaling senza usare OSX.

Ciò richiede la modifica binaria (hacking) dell'intestazione del disco e di conseguenza lo spazio su disco occupato dal journal andrà probabilmente perso.

Ecco alcuni suggerimenti per due programmi C piuttosto simili che affermano di fare proprio questo:

Non posso garantire che questi programmi non distruggano il disco, quindi ti suggerisco di provarlo su un'immagine di backup del disco.

Questo post potrebbe essere utile: come posso montare un'immagine del disco? .


0

Ho avuto lo stesso problema molto e quello che ho imparato finora: fare un fsck di successo è essenziale. Poiché questo non funziona sulla tua macchina, penso che questo dovrebbe essere il tuo approccio per una correzione:

  • quale versione di hfsprogs / fsck.hfsplus hai installato?
  • sul mio computer (con Debian in esecuzione) l'ho installato dalla fonte (usando i download da una fonte diversa)

    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

In questo modo fsck ha funzionato sempre con me con il mio disco hfs +.

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.