Passer au contenu principal

Apple File System APFS sur Linux

installation des dépendances :
sudo apt update
sudo apt install fuse libfuse-dev libicu-dev bzip2 libbz2-dev cmake clang git libattr1-dev libbz2-dev libfuse3-dev libz-dev
téléchargement des sources GIT :
git clone https://github.com/sgan81/apfs-fuse.git
cd apfs-fuse
git submodule init
git submodule update
Construction de fuse
mkdir build
cd build
cmake ..
make

Après la compilation, les binaires se trouvent dans le répertoire de construction. Je recommande de copier les outils apfs * dans un répertoire accessible dans le chemin, par exemple / usr / local / bin. Pour les copier, faites simplement ceci :

sudo cp apfs-* /usr/local/bin
Montage de la partition APFS

Nous devons maintenant savoir sur quelle partition de disque se trouve macOS. En utilisant la commande fdisk -l, vous pourrez voir la disposition du disque.

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

Vous pouvez voir dans mon exemple ci-dessus qu'il existe une partition inconnue de 364,4 Go. Je sais qu'il s'agit de ma partition macOS car je sais que la taille de ma partition macOS est de 365 Go. Cela signifie que l'identifiant de l'appareil est / dev / sda2, c'est donc ce que nous allons monter.

Vérifions-le et voyons si cela fonctionne….

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

Si vous souhaitez que votre partition macos se monte automatiquement à chaque fois que vous démarrez votre ordinateur, vous devrez modifier la table de votre système de fichiers (fstab). Pour ce faire, nous devrons créer un lien symbolique vers l'outil de montage apfs, puis éditer le fstab (si vous n'avez pas nano, utilisez vim):

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

Ajoutez une ligne au bas du fichier (le tout sur une seule ligne) qui dit ceci:

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

Si vous voulez voir si cela fonctionne immédiatement, démontez simplement le disque (voir la section nettoyage ci-dessous). Tapez ensuite sudo mount -a pour monter le disque à partir du fstab.

Apprendre à connaître votre partition


Lorsque la partition est montée, vous verrez deux répertoires, private-dir et root. La racine du répertoire est celle que vous souhaitez. À l'intérieur se trouve le système de fichiers racine de votre mac. Vous trouverez vos informations dans le dossier "Utilisateurs".

Nettoyage (démontage)


Pour démonter correctement le répertoire macos, vous devez utiliser la commande fusermount: