Lire de l’APFS (MacOS) sur un Linux Ubuntu (et autres…)

Au taff, j’avais  besoins de faire une récupération de données sur un disque dur d’iMac mais surprise (motherfucker..) il était en APFS, le nouveau système de fichier d’Apple depuis High Sierra (je crois). Problème, j’avais pas d’autre mac sous la main et les linux à ma disposition ne pouvait lire que le HFS(+).

Bon, j’ai fait ma petite recherche sur le net et j’ai vu que le mec avait codé “le Saint Graal”! Un driver fuse pour l’APFS : https://github.com/sgan81/apfs-fuse . Par contre va falloir le compiler…

Les manips on été faites sur le Xubuntu by Tonton donc faisable sur tout Ubuntu 18.04+ et dérivés.

1.Installation / Compilation

Déjà, on met a jour et on installe le nécessaire :

sudo apt update
sudo apt install fuse libfuse-dev libicu-dev bzip2 libbz2-dev cmake clang git libattr1-dev cmake_curses_gui

On va ensuite “cloner” les sources Git en locale

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

Et on va préparer la compilation et enlever une instruction pour le 32 bits sinon ça foire celle-ci

mkdir build
cd build
cmake ..
ccmake .

On va arriver sur un écran comme ceci :

USE_FUSE3 doit être sur OFF, si il est sur ON changer la valeur et appuyer sur “G” pour enregistrer. Une fois ceci fait, on compile via:

make

Voila, c’est compiler, vous pouvez utiliser ./apfs-fuse pour monter vos disques APFS. Vous pouvez copier vos exécutable dans /usr/local/bin pour avoir la commande directement dans le système.

2.Comment qu’on fait ??

Bon c’est compilé mais comment qu’on fait ?? Déjà il faut brancher le disque dur en question et le lister pour voir quelle adresse il a.

sudo fdisk -l

La partition est normalement reconnu en “unknown”, normal il l’a connait pas. Mais on connais sont adresse ( “/dev/sdb1” par exemple). On va créer un repertoire qui va servir de point de montage

sudo mkdir -p /media/$USERNAME/macos

Remplacer $USERNAME par votre login système, et ensuite on va monter le disque a cette adresse

sudo ./apfs-fuse -o allow_other /dev/sdb1 /media/$USERNAME/macos

Remplacer /dev/sdb1 par l’adresse de votre partition APFS.

Et pouf, vous pourrez accéder à votre disque APFS soit en console, soit avec un navigateur de fichier.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.