在El Capitan上安装Ext4


47

我最近在Mac上安装了OS X 10.11。

我尝试读取带有Ext4分区的SD卡Disk Utility,尽管diskutil该分区确实显示为Linux分区,但什至没有显示。

我似乎无法挂载该分区(该mount命令似乎已更改,但我还没有对此进行全面探讨)。

我已经FUSE for OS X安装并更新到2.8.1。我也有fuse-ext2,但是即使在“首选项”中显示了它,它也显示了“未安装”。我试图从sourceforge网站重新安装,但是出现以下错误:-

This package is incompatible with this version of OS X and may fail to install.

任何人都可以通过任何解决方案来安装Ext4分区。


嘿,只是想知道您是否找到了解决此问题的方法?
dhruvvyas90 2015年

@dastaan​​我通过安装在Linix机器上来完成最初的任务。我还在虚拟机中安装了Linix OS(Ubuntu MATE),并且可以使用USB读卡器挂载Ext4(似乎无法访问内部读卡器)。这些都不是完全令人满意的。我不确定是否要禁用SIP。我不明白为什么苹果公司要阻止我使用我的机器,或者为什么它固执地拒绝建立对Ext4的支持(就像多年来对NTFS所做的那样)-至少这是开源的。我仍然希望有人能够建立与SIP一起使用的Ext4支持。
Milliways

感谢您及时的回复。Lemme至少现在就用您的方法来做。顺便说一句,我试图禁用SIP模式,看看是否可行。但是无法正常工作。
dhruvvyas90 2015年

Answers:


44

尝试使用ext4fuse

ext4fuse这是ext4 for FUSE的只读实现。存在的主要原因是能够从OSX读取linux分区。但是,它应该在任何FUSE实现之上运行。

基本用法,这里NM/dev/diskNsM是磁盘和分区号码(如71您的ext4(“Linux的”)的数据)。您可以在OS X的“磁盘工具”中找到适合您计算机的这些编号。

mkdir -p "$HOME/tmp/my-linux-mount"
ext4fuse "/dev/diskNsM" "$HOME/tmp/my-linux-mount"

在macOS Sierra上,-o allow_other需要此选项,如:

ext4fuse /dev/diskNsM $HOME/tmp/my-linux-mount -o allow_other

都安装ext4fuseosxfuse使用Homebrew

brew cask install osxfuse
brew install ext4fuse

根据docs,您可能还必须添加<your user>operator组中。在这里whoami用来查找您当前的用户名。

sudo dscl . append /Groups/operator GroupMembership "$(whoami)"

又见修复程序点击“允许”,为“系统扩展封锁”消息的问题osxfuse,以及osxfuse对安装选项,如文档allow_otherdefer_permissions


5
感谢您的回答!很有用。在必须sudo ext4fuse /dev/diskNsM ~tmp/my-linux-mount -o allow_other与用户一起打开它之前,我不得不使用它来挂载...无法在没有sudo系统的情况下打开磁盘
Sean W.

2
此处的简短说明:~/使用命令中的“引用” zsh实际上将创建\~文件夹,而不是使用主目录。考虑删除引号或$HOME改为使用。我确认这可以在MacOS Sierra
10.12.3

1
@GabLeRoux:完全正确!知道超级用户发生多少copypasta后,我保留了引号,但将其更改为$HOME。谢谢!
乔尔·普拉

如某些错误报告所示,这似乎无法正常工作:github.com/gerard/ext4fuse/issues/44
slhck

1
@JanM:ext4fuse自述文件:“如果使用OS XI,则建议您依赖自制程序项目。”
乔尔·普拉

9

不要在El Capitan上将Paragon ExtFS与OSX一起使用。尽管Paragon声称支持El Capitan,但该端口仍处于试验阶段。

在MacBook Pro和MacBook Air上使用两个独立的EL Capitan(10.11.3)安装,我损坏了1.5TB ext4文件系统两次,超出了无法修复的限制。fsck -y /dev/sda(x)在文件传输完成后的Linux机器上,它声称拥有成千上万个具有多个文件和目录的多重声明块-filesytem消失了!

ExtFs也未在Ela Capitan的DiskUtilty中实现,因此您无法检查文件系统的完整性或ext2 / 3/4的格式...

Paragon Guys请立即修复您的软件!您支持El Capitan的说法极具误导性!

在摘要中,转储带有OSX 10.11.x的Paragon ExtFS,不要浪费您的20美元或回到优胜美地或更早的OSX。或者,将Linux Box放在您的GB网络上,然后通过SMB复制。更安全...


这听起来像一个恐怖的故事!从那以后您有没有与Paragon的ExtFS打交道,因为那会更新这种体验,或者从那以后避免使用它?我当时考虑将其作为一种选择,但这给了我合理的关注,在这样做之前请先阅读更多内容。
TCAllen07年7

最近我也有类似的恐惧,但是幸运的是,我能够恢复我的文件(仅使用Windows工具)。
nyxee

4
尽管可能如此可怕,但这并不是对如何在Mac上读取ext4分区的问题的答案。
Aleks G


5

我做了一个保险丝-ext2分支,它将所有内容安装在/ Library和/ usr / local中,因此您不必在Mac OS X El Capitan中禁用SIP。尝试的话很高兴;-)。


在进入Homebrew步骤之前看起来很有趣。有人可以制作可安装的软件包吗?
Milliways

1
仅对于e2fsprogs软件包(执行新ext文件系统,检查ext文件系统的命令等)才需要使用Homebrew。fuse-ext2仅使用efsprogs中的命令e2label来获取ext卷的标签。我认为这对于在设备插入时自动安装(USB记忆棒,外部硬盘驱动器,SD卡)是必要的。如果您可以手动安装,并且不需要制作新的ext文件系统或检查现有文件系统,则可以省去Homebrew和e2fsprogs的安装。
gpz500 '16

并且,如果您已经在系统中安装了e2fsprogs(从MacPorts,Fink或从源代码编译),则可以编辑该文件/Library/Filesystems/fuse-ext2.fs/fuse-ext2.util以使用e2fsprogs安装。
gpz500 '16

有时,在检入我的Didsks时,我被要求安装较新版本的e2fsck,因此我猜想即使是较旧版本的e2fsprogs也会被建议升级。
nyxee

5

在访问此页面后,此问题对我有用:

brew cask install osxfuse
brew install ext4fuse

现在您需要找到您的linux文件系统,因此

diskutil list 

对我来说

   #:                       TYPE NAME                    SIZE       IDENTIFIER
   5:           Linux Filesystem                         149.0 GB   disk0s5

然后按照@Sean W.的评论,

sudo ext4fuse /dev/disk0s5 ~tmp/my-linux-mount -o allow_other

现在应该已安装。


3
此解决方案有效,只需在Mac上使用Synology NAS格式化的EXT4外部驱动器进行尝试即可。装好。感谢@Nicolas
James Wong

2
MacOS 10.13.3阻止ext4fuse运行。我需要进行安全设置,并允许开发人员“ Benjamin Fleischer”运行软件。请自行决定是否采取安全措施。
Guy

此解决方案是只读安装还是可写?
knocte

1
该解决方案是只读的。
Diogo Cardoso

1
这对我在macOS Mojave上非常有用!diskutil list在插入驱动器之前,它会帮助您,然后diskutil list再次比较输出并查看添加了哪个驱动器。
cgenco

3

警告:遇到Schnorch回答中所述的某些相同问题后,我不再推荐该程序!以下为后代留下的原始答案...


商业版(20美元)选项是用于OS X的Paragon ExtFS,它支持ext2 / 3/4的读/写安装。我现在在El Capitan中使用它。

它有一些烦人的地方,例如看似不注意fstab中指定的挂载选项……但通常看来做得很好。


OSX上的fstab在哪里?我正在使用OSX 10.12。我现在只能以只读模式访问ext4。我最近丢失了ext4分区,但是我仍在与Paragon
对抗。– nyxee

2
只需移至Linux ...
危险89
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.