La Cave a Tonton - Lire de l'APFS (MacOS) sur un Linux Ubuntu (et autres...)

Lire de l'APFS (MacOS) sur un Linux Ubuntu (et autres...)

Par Tontonayo le archive


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.
Le pays d'où vous consultez le site n'est pas autorisé a poster des commentaires afin de lutter contre le spams, merci de votre compréhension