177 votes

Comment puis-je monter un système de fichiers ext4 sous OS X ?

Existe-t-il une application sûre et stable permettant de lire et d'écrire sur le site Web de la Commission européenne ? ext4 systèmes de fichiers sur Mac OS X ?

Sinon, quel est le meilleur moyen d'accéder au contenu d'un système de fichiers ext4 sur Mac OS X ?

1 votes

Il serait plus qu'utile que vous précisiez la version d'OS X que vous utilisez. Il existe des problèmes de compatibilité avec les solutions disponibles en fonction de la révision de l'OS.

75voto

Ryan Spears Points 1524

La réponse dépend de votre volonté d'investir dans un logiciel commercial :

Si cela ne vous dérange pas de dépenser de l'argent pour un produit commercial , Paragon's extFS pour Mac vous donnera un accès en lecture et en écriture aux systèmes de fichiers ext2 / ext3 / ext4. La version actuelle prend en charge toutes les versions de OS X / MacOS à partir de la 10.10.

Si vous recherchez une solution gratuite vous pouvez configurer une machine virtuelle Linux, y monter votre/vos volume(s) et le/les partager via Samba ou (S)FTP. Ce poste donne des détails sur la manière d'y parvenir en utilisant VirtualBox une application gratuite de machine virtuelle. Notez qu'il ne s'agit pas exactement d'une solution légère, même si l'on utilise une VirtualBox VM préconstruite vous évitera d'installer et de configurer une distro Linux à partir de zéro.

8 votes

Il y a sûrement une solution non-vm gratuite ?

0 votes

osboxes.org fournit des versions plus récentes par rapport à virtualboxes.org.

0 votes

Peut-on vraiment monter un disque externe physique dans une VM VirtualBox, du moins dans sa version gratuite ? Je n'en vois pas la possibilité. Dans tous les cas, la création de la VM est la partie facile, le montage du disque dans la VM est la partie difficile à laquelle il faut répondre.

42voto

pwnall Points 518

Suite à la réponse de Ken : J'ai utilisé fusible4x y fusible-ext2 avec succès, et je recommande fuse-ext2 plutôt que ext4fuse. fuse-ext2 fournit un accès en écriture alors que ext4fuse ne fournit qu'un accès en lecture. Notez que malgré son nom, fuse-ext2 supporte EXT2/EXT3/EXT4.

ext4fuse m'a posé des problèmes, car il nécessite une compilation manuelle et ne prend pas en charge les options de fuse4x qui me permettraient de définir le contrôle d'accès. fuse-ext2 fournit des paquets téléchargeables, et la version 0.0.7 fonctionne parfaitement. J'ai copié quelques gros ISOs sans aucun problème.

2 votes

Fuse-ext2 peut-il monter les choses en écriture ou seulement en lecture seule ?

27voto

akauppi Points 473

On peut aussi installer OSXFUSE complètement via le fichier brasser gestionnaire de paquets en ligne de commande :

brew install homebrew/fuse/ext4fuse

Notez que l'installation indique que certaines commandes doivent être exécutées en tant que "sudo" en plus de cela.


Avec Yosemite, mieux vaut jeter un coup d'œil à ce . Et ensuite, assurez-vous que le répertoire est lisible par votre utilisateur en faisant ce . Pour que cela fonctionne, j'ai dû utiliser le groupe de roues comme ceci :

sudo dscl . append /Groups/wheel GroupMembership $(whoami)

0 votes

Des années plus tard, $ brew info ext2fuse ext2fuse: stable 0.8.1 (bottled) Compact implementation of ext2 file system using FUSE https://sourceforge.net/projects/ext2fuse Disabled because it requires closed-source macFUSE! Not installed

23voto

Johnny Bou Points 163

Avec les récents changements apportés à homebrew, cela devrait être aussi simple que :

brew cask install osxfuse
brew install ext4fuse

Vous devrez peut-être redémarrer.

ext4fuse est en lecture seule, malheureusement. Et vous devrez peut-être utiliser un drapeau pour qu'il fonctionne comme un utilisateur normal.

D'autres personnes consultant cette question pourraient être intéressées par libguestfs . Je n'ai pas connaissance d'un portage OS X, mais étant donné que VirtualBox dispose d'une API, ce n'est pas hors de question.

Je me demande pourquoi personne n'a écrit une couche de compatibilité pour permettre au code du système de fichiers du noyau Linux de s'exécuter dans userspace/fuse. Ou quelqu'un l'a-t-il fait ?

0 votes

Quelques mises à jour à partir de osxfuse a été retiré de homebrew et ext4fuse a été déplacé pour dépendre de la nouvelle version opensource - ramifiée ( ?) -. macfuse : (1) brew install --cask macfuse (2) utiliser la version corrigée ext4fuse.rb dans ce lien ( github.com/gerard/ext4fuse/issues/66 )

19voto

Richard Marquez Points 387

Réponse mise à jour pour (High) Sierra et les versions plus récentes de MacOS

Pour Sierra et High Sierra ext4fuse semble bien fonctionner pour accès en lecture seulement et donc elle pourrait probablement être considérée comme l'option préférée. Alors que d'autres réponses donnent déjà quelques exemples d'utilisation, je vais le répéter une fois de plus avec quelques détails importants :

Installer ext4fuse avec :

brew install ext4fuse

Vous pouvez monter en tant qu'utilisateur normal mais dans ce cas vous ne pourrez accéder qu'aux fichiers lisibles par le monde, c'est pourquoi pour un accès complet vous devez utiliser sudo par exemple :

sudo ext4fuse -o allow_other /dev/disk2s1

Voici un bash script qui automatise partiellement le processus. Lorsqu'il sera lancé, il créera automatiquement le point de montage après que vous ayez été invité à entrer l'un des identifiants de périphérique affichés, tels que disk2s1 :

diskutil list
read -p "Please type the EXT4 device identifier: " disk_id
MOUNT_POINT=~/mnt/$disk_id
mkdir -p ${MOUNT_POINT}
sudo ext4fuse -o allow_other /dev/$disk_id ${MOUNT_POINT}
echo "***TO UNMOUNT USE***: 'diskutil umount ${MOUNT_POINT}'"
open ${MOUNT_POINT}

Pour démonter, vous pouvez utiliser par exemple diskutil umount /dev/disk2s1 - si vous obtenez un message disant que le démontage a échoué, vous pouvez forcer le démontage avec diskutil umount force /dev/disk2s1 Bien qu'il serait plus propre de fermer les applications qui utilisent les fichiers sur le disque et de réessayer de démonter le disque sans le faire. force .

Si vous avez des fichiers appartenant à _lpoperator (apparemment ils sont créés lorsque vous utilisez rsync avec l'option preserve group), alors la commande suivante permettra d'accéder à ces fichiers :

/usr/sbin/dseditgroup -o edit -a everyone -t group _lpoperator

Réponse originale pour Yosemite et plus anciens *(déprécié)

Deux paquets sont nécessaires pour activer le support EXT2/3/4 sur OSX : OSXFUSE y FUSE-EXT2 .

El homebrew formules pour OSXFUSE et FUSE-EXT2 n'a pas fonctionné pour moi sur mavericks ou yosemite.

Ce qui a fonctionné, c'est ce qui suit :

  1. Télécharger manuellement et installer le DMG OSXFUSE à partir de http://osxfuse.github.io/ . IMPORTANT : Une fois que vous avez lancé le programme d'installation de PKG, assurez-vous que vous avez sélectionné Couche de compatibilité MacFUSE dans l'assistant (elle n'est pas activée par défaut) - sans elle, j'obtenais une erreur lors de la tentative de montage.
  2. Télécharger manuellement FUSE-EXT2 à partir de http://sourceforge.net/projects/fuse-ext2/ ou pour Sierra/El Capitan à partir de https://github.com/gpz500/fuse-ext2/releases et exécutez le programme d'installation de PKG.

Une fois que vous avez installé OSXFUSE et FUSE-EXT2, vous pouvez monter les partitions ext2/ext3/ext4 comme mentionné dans d'autres réponses :

  1. Trouvez le nom du périphérique de la partition EXT que vous voulez monter (par exemple, le nom du périphérique de la partition EXT). disk0s2 dans l'exemple ci-dessous, (MISE À JOUR) dans les versions ultérieures de MacOS, les partitions ext3/ext4 peuvent être étiquetées comme suit Données de base Microsoft y no Linux ) :

    1:     Linux_Swap    8.2 GB     disk0s1
    2:     Linux         119.9 GB   disk0s2
  2. Monter la partition sur un point de montage existant :

     sudo mount -t fuse-ext2 /dev/disk0s2 /Volumes/ext4

Le montage en tant qu'utilisateur normal n'a pas fonctionné pour moi. Cela peut probablement être corrigé en modifiant les permissions, mais je n'ai pas cherché à le faire.

Note : Je soupçonne que les formules homebrew n'ont pas fonctionné car homebrew installe osxfuse sans le Couche de compatibilité MacFUSE .

Il y a deux osxfuse dans homebrew :

# brew search osxfuse
>>> osxfuse
>>> Caskroom/cask/osxfuse

Les deux versions ne parviennent pas à monter les partitions EXT. Le plus probable est que la version DMG ( Caskroom/cask/osxfuse ) échoue parce que homebrew installe le paquet avec les paramètres par défaut, ce qui signifie que Couche de compatibilité MacFUSE n'est pas inclus. Les principaux osxfuse a probablement besoin d'un paramètre d'installation spécial pour permettre la compatibilité avec MacFUSE, donc jusqu'à ce que cela soit corrigé dans homebrew, la méthode manuelle DMG devrait être utilisée.

Cette méthode a fonctionné sur mavericks, yosemite, el capitan et sierra.

EXT2/3/4 mount pour les anciennes versions d'OSX (déprécié)

Pour éviter une saisie supplémentaire, j'utilise un minuscule script qui prend le nom de la partition tel que disk0s2 et le monte sous /Volumes/disk0s2 en créant le dossier si nécessaire :

### mount_ext4.sh
sudo mkdir -p "/Volumes/$1"
sudo mount -t fuse-ext2 "/dev/$1" "/Volumes/$1"
open "/Volumes/$1"

Le script est appelé avec le nom de la partition que vous cherchez par l'intermédiaire de diskutil list par exemple mount_ext4.sh disk2s3 .

1 votes

J'ai essayé mais j'ai malheureusement obtenu l'erreur suivante FUSE-EXT2 could not mount /dev/disk2s2 at /Volumes/ext4 because the following problem occurred: (mais il n'y a pas de description du problème ni de référence). J'ai installé l'addon Compability Layer. Je suis sur MacOS Sierra et j'ai donc essayé la version Github gzp500.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X