GNU/Linux >> Linux Esercitazione >  >> Linux

Come montare i volumi del disco APFS di macOS in Linux

Nel 2017, Apple ha cambiato il filesystem predefinito su macOS (High Sierra e versioni successive) in APFS, il file system Apple. Ha sostituito HFS+.

Funziona secondo il principio dell'utilizzo di contenitori, piuttosto che di partizioni. Ha una buona efficienza di clonazione, una migliore crittografia, supporto per snapshot e alcuni altri vantaggi.

Sommario

Chiacchiere proprietarie

Come tutte le cose recenti nel mondo Apple, a loro non piace condividere le cose. Anche quando questo potrebbe avere un impatto negativo sulla loro attività. Prendi FaceTime, per esempio. Se avessero reso quella piattaforma agnostica, il che significa che le persone su Windows, Android e forse anche su piattaforme Linux/Web potrebbero usarla, allora è discutibile che FaceTime avrebbe preso gran parte della quota di mercato da artisti del calibro di Skype. APFS non è diverso. Apple non ha condiviso l'API, quindi si affida alle persone per fare una serie di congetture, ricerche dettagliate e un po' di reverse engineering. Tutto ciò non è mai una buona cosa quando lavori sui sistemi che si prendono cura dell'integrità dei tuoi file!

Per quelli di voi che usano Linux su un Mac e hanno ancora bisogno di accedere ai file sulla partizione Mac del disco rigido a volte, potresti trovarlo una sfida. Se hai una versione di macOS precedente alla 10.3 (High Sierra), il tuo Mac utilizzerà HFS+. Consulta la nostra guida completa sull'utilizzo di Linux su un Mac su come montare la partizione HFS+ in lettura/scrittura.

Come faccio a farlo funzionare?

Per i nuovi utenti APFS, fortunatamente, ora puoi utilizzare un driver chiamato apfs-fuse per accedere al disco APFS del tuo Mac. Nota che questo driver non fa parte della tua distribuzione Linux e dovrai compilarlo dal codice sorgente. Questa breve guida ti mostrerà come fare.

Peccato, sola lettura….

Sfortunatamente, almeno per ora, sei limitato all'accesso di sola lettura. Il risultato è che nessun dato può essere danneggiato da eventuali bug che possono esistere in questo software sperimentale. Anche lo strumento di montaggio associato al driver non eseguirà la decompressione LZFSE trasparente. Uso questo strumento da diverse settimane sul mio computer macOS "Mojave" e funziona bene.

Preparati

In primo luogo, vorrei dire che questo è un tutorial completamente adatto ai principianti, tuttavia in questa occasione funziona tutto al Terminale. Non preoccuparti troppo se non sei abituato a lavorare dalla riga di comando, puoi copiare e incollare le istruzioni in tutta sicurezza.

In primo luogo, dobbiamo disporre degli strumenti appropriati per creare il driver APFS-Fuse. Apri la tua app Terminale e inserisci questi comandi:

sudo apt update
sudo apt install libicu-dev bzip2 cmake libz-dev libbz2-dev fuse3 libfuse3-3 libfuse3-dev clang git libattr1-dev

On older versions of Ubuntu, you may need to use the following: sudo apt install fuse libfuse-dev libicu-dev bzip2 cmake libz-dev libbz2-dev clang git libattr1-dev

Ora possiamo scaricare (clonare) il codice sorgente del driver con git:

git clone https://github.com/sgan81/apfs-fuse.git
cd apfs-fuse
git submodule init
git submodule update

Fatto ciò, è il momento di compilare il codice sorgente scaricato:

mkdir build
cd build
cmake ..
make

Dopo la compilazione, i binari si trovano nella directory build. Consiglio di copiare gli strumenti apfs* in una directory a cui è possibile accedere nel percorso, ad esempio /usr/local/bin. Per copiarli basta fare questo:

sudo cp apfs-* /usr/local/bin

Ora dobbiamo scoprire su quale partizione del disco è attivo macOS. Usando il comando fdisk -l sarai in grado di vedere il layout del disco.

$sudo fdisk -l
--- 8>--snipped the loop volumes--<8 ---
Disk /dev/sda: 465.9 GiB, 500277790720 bytes, 977105060 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 6153AD88-FE14-4E88-8D9A-60E8AA465516

Device         Start       End   Sectors   Size Type
/dev/sda1         40    409639    409600   200M EFI System
/dev/sda2     409640 764593231 764183592 364.4G unknown
/dev/sda3  764594176 781570047  16975872   8.1G Microsoft basic data
/dev/sda4  781832192 976842751 195010560    93G Microsoft basic data
--- 8>--snipped the loop volumes--<8 ---

Puoi vedere nel mio esempio sopra che esiste una partizione sconosciuta da 364,4 GB. So che questa è la mia partizione macOS perché so che la dimensione della mia partizione macOS è 365 GB. Ciò significa che l'identificatore del dispositivo è /dev/sda2, quindi è quello che monteremo.

Diamo un'occhiata e vediamo se funziona….

sudo mkdir -p /media/$USERNAME/macos
sudo ./apfs-fuse -o allow_other /dev/sda2 /media/<your userame>/macos

Se tutto va bene, a questo punto non avrai ricevuto alcun messaggio di errore. Se lo hai, allora forse il file README può fornire qualche chiarimento.

Far aderire

Se desideri che la tua partizione macos venga montata automaticamente ogni volta che avvii il computer, dovrai modificarla nella tabella del filesystem (fstab). Per fare ciò, dovremo creare un collegamento simbolico allo strumento di montaggio apfs, quindi modificare fstab (se non hai nano, usa vim):

sudo ln -s /usr/local/bin/apfs-fuse /usr/sbin/mount.apfs
sudo nano /etc/fstab

Aggiungi una riga nella parte inferiore del file (tutto su una riga) che dice questo:

mount.apfs#/dev/sda2    /media/<your username>/macos/    fuse    user,allow_other        0       0

Se vuoi vedere se funziona immediatamente, smonta il disco (vedi la sezione sulla pulizia di seguito). Quindi digita sudo mount -a per montare il disco da fstab.

Conoscere la tua partizione

Quando la partizione è montata, vedrai due directory, private-dir e root. La radice della directory è quella che desideri. All'interno c'è il filesystem di root del tuo mac. Troverai le tue cose nella cartella "Utenti".

Pulizia (smontaggio)

Per smontare correttamente la directory macos, dovresti usare il comando fusermount:

fusermount -u /media/<your username>/macos

Spero che questo ti abbia aiutato ad accedere ai file del tuo Mac. Condividi questo articolo e fammi sapere come ti trovi nella sezione commenti qui sotto.


Linux
  1. Come partizionare un disco in Linux

  2. Come montare un'unità disco USB in UNIX o Linux

  3. Come eseguire il backup del sistema operativo Linux utilizzando il comando "dd".

  4. Come montare un file ISO in Linux?

  5. Come montare un dispositivo in Linux?

Come elencare le partizioni del disco in Linux

Come montare un'unità su Linux

Come gestire i volumi del disco in Linux

Come montare il disco NTFS su Linux

Come crittografare la partizione su Linux

Come formattare e montare dischi di dimensioni superiori a 2 TB su Linux