
¿Has enchufado el HD/SSD de un Mac en Ubuntu y Nautilus no ha abierto nada? En 2017 la respuesta era hfsprogs. Sigue siendo válida para HFS+. Para Mac de 2018 en adelante, el volumen casi siempre es APFS — y el kernel de Linux aún no lo trae de fábrica.
Descubre qué hay en el disco
Antes de montar, mira el tipo. Sustituye sdX por el dispositivo que ha aparecido (USB se convierte en sdb/sdc; NVMe interno, nvme0n1):
lsblk -f
sudo blkid
Lo que importa en la columna FSTYPE / en TYPE=:
hfsplus— Mac antiguo (pre-High Sierra) o Time Machine en HFS+.apfs(a veces solo “Apple APFS” enfdisk -l) — el estándar actual. Un container APFS puede tener varios volúmenes (Macintosh HD, Data, Preboot, Recovery).exfat/vfat— disco externo formateado para convivir con Windows. Ubuntu lo monta solo; no hace falta esta entrada.
O APFS nació en iOS 10.3 / macOS 10.13. Si el Mac es de 2018+, empiece por la sección APFS.
HFS+: el camino de 2017 (sigue funcionando)
Paquete hfsprogs — en Ubuntu 24.04/26.04 sigue en el repositorio. Journaled HFS+ el kernel suele montar solo lectura; force,rw ignora el journal. Haga una copia de seguridad mental: esto puede corromperse si el Mac no se desmontó de forma limpia.
sudo apt update
sudo apt install hfsprogs
sudo mkdir -p /mnt/mac
# só leitura (recomendado para copiar arquivo e ir embora)
sudo mount -t hfsplus -o ro /dev/sdXY /mnt/mac
# leitura e escrita — o original deste post:
sudo fsck.hfsplus /dev/sdXY
sudo mount -t hfsplus -o force,rw /dev/sdXY /mnt/mac
Sustituya sdXY por la partición correcta (sdb2, etc.). Si el fsck.hfsplus reclamar de journal, el Mac se conectó con el disco — desmóntelo primero, o acéptelo solo lectura.
APFS: módulo en el kernel (Ubuntu)
El controlador de la comunidad es el linux-apfs-rw (Ernesto Fernández). En Ubuntu el paquete se llama apfs-dkms (fuente linux-apfs-rw, universe). Se compila contra el kernel actual mediante DKMS:
sudo apt update
sudo apt install apfs-dkms linux-headers-$(uname -r)
sudo modprobe apfs
sudo mkdir -p /mnt/mac
# só leitura — o default do módulo, de propósito
sudo mount -t apfs -o ro /dev/sdXY /mnt/mac
Contenedor con más de un volumen: -o ro,vol=0 (o vol=1 para el Data). El dmesg indica qué volumen se montó:
sudo dmesg | grep -i apfs
ls /mnt/mac
La escritura es experimental. El propio módulo avisa en el dmesg y pide la opción explícita readwrite. Puede corromper el contenedor. Para rescatar fotos y documentos, quédese en el ro.
# só se você aceita o risco (README do projeto)
sudo mount -t apfs -o readwrite /dev/sdXY /mnt/mac
APFS encriptado y FileVault
O linux-apfs-rw no implementa cifrado, ni en lectura. Disco FileVault / APFS cifrado en Linux con ese módulo = volumen vacío o error. El FUSE apfs-fuse acepta contraseña (-r) y es solo lectura — ruta de recuperación cuando el Mac no arranca:
sudo apt install fuse3 libfuse3-dev bzip2 libbz2-dev cmake g++ git libattr1-dev zlib1g-dev
git clone https://github.com/sgan81/apfs-fuse
cd apfs-fuse
git submodule update --init
mkdir build && cd build
cmake .. && make
sudo mkdir -p /mnt/mac
sudo ./apfs-fuse -o allow_other,ro /dev/sdXY /mnt/mac
# se pedir senha, o volume está criptografado
SSD interno de Mac con chip T2 / Apple Silicon suele ser más complicado (cifrado ligado al hardware). Disco externo sin FileVault es el caso favorable de este howto.
Desmontar
sudo umount /mnt/mac
Si FUSE se queda colgado: sudo umount -l /mnt/mac.
Referencias
- Nuevo sistema de archivos de Apple (APFS)
- linux-apfs-rw — módulo APFS (DKMS)
- apfs-fuse — FUSE, lectura + contraseña
- Ubuntu help — HFS+
- Ask Ubuntu original: montar HFS+ con journaling
Resumen: lsblk -f primero. HFS+ con hfsprogs. APFS con apfs-dkms, solo lectura. FileVault: apfs-fuse o, mejor, un Mac que aún enciende.