macOS 读写 NTFS,及 EXT 分区格式化和挂载

    阅读模式
摘要

分区让 macOS 读写 NTFS 需要安装 ntfs-3g$ brew install ntfs-3g手… sudo umount /dev/disk3s1结语平常这些挂载工具用的确实不是很…

赣州做网站?企业网站建设公司哪家好?需要多少钱?认准黑猫建站!

有时候需要在 macOS 读写 NTFS 分区,但是系统默认只能读取不能写入,修改 fstab 和使用 Paragon NTFS 软件都可以实现读写,而我这里使用的是 osxfuse,因为它不仅能支持 NTFS, 还支持 Ext 等其他文件系统

以下操作需要关闭 SIP,进入恢复模式,在终端里输入 csrutil disable,再重启就关闭 SIP 了,黑苹果可以在 clover 里设置

安装 osxfuse

FUSE for OS X 是用在 macOS 上的第三方文件系统扩展,地址:https://github.com/osxfuse/osxfuse/wiki

使用 homebrew 安装

$ brew cask install osxfuse

事实上 FUSE 是提供了提供了接口,要实现 NTFS 和 Ext 文件系统的支持,还需要安装模块

读写 NTFS 分区

让 macOS 读写 NTFS 需要安装 ntfs-3g

$ brew install ntfs-3g

手动挂载

使用 diskutil list 查看分区,例如我的 U 盘是 disk4s1

那么可以用以下命令挂载

$ mkdir ~/Desktop/UDISK$ sudo ntfs-3g /dev/disk4s1 ~/Desktop/UDISK -o allow_other

这样 U 盘就被挂载到桌面了

卸载这个分区的命令式是 sudo umount /dev/disk4s1

注意:不管是用什么方式挂载 NTFS 分区,都不建议挂载 win 的系统盘,有翻车嫌疑,所以当 ntfs-3g 发现你挂载的分区有 win 休眠和快速启动遗留的缓存时,会以只读模式挂载,如果实在需要修改 win 系统分区,需要在 win 里关闭快速启动

自动挂载

我们知道,macOS 开机时会自动挂载 NTFS 分区,但是只能读取

安装 ntfs-3g 后,我们需要让新的 mount_ntfs 替换系统自带的版本,实现写入

为了减少对系统的影响,我们把旧版本备份,并把新版本软链接过去

$ sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.bak$ sudo ln -s /usr/local/sbin/mount_ntfs /sbin/mount_ntfs

重启生效,需要注意的是,每次升级或重装系统之后,需要重新做软链接

现在可以重新打开 SIP,在恢复模式的终端里,输入 csrutil enable 再重启,黑果可以在 clover 里设置

EXT 格式化和挂载

ext2、ext3、ext4 格式化需要安装 e2fsprogs,挂载需要安装 fuse-ext2

fuse-ext2 也依赖于 e2fsprogs,所以先装它

$ brew install e2fsprogs

再安装 fuse-ext2

$ brew install https://raw.githubusercontent.com/yalp/homebrew-core/fuse-ext2/Formula/fuse-ext2.rb

根据提示,设置面板里的选项需要这样操作才能显示

$ sudo cp -pR /usr/local/opt/fuse-ext2/System/Library/Filesystems/fuse-ext2.fs /Library/Filesystems/$ sudo chown -R root:wheel /Library/Filesystems/fuse-ext2.fs$ sudo cp -pR /usr/local/opt/fuse-ext2/System/Library/PreferencePanes/fuse-ext2.prefPane /Library/PreferencePanes/$ sudo chown -R root:wheel /Library/PreferencePanes/fuse-ext2.prefPane


这样就装好了

EXT 分区格式化

前面我们已经安装了 e2fsprogs,现在可以使用它提供的命令来格式化分区

先设置变量让 e2fs 库里的命令暴露出来,将以下字段加在 shell 的配置文件中,我用的是 zsh,所以加在 ~/.zshrc 里

export PATH="/usr/local/opt/e2fsprogs/bin:$PATH"export PATH="/usr/local/opt/e2fsprogs/sbin:$PATH"

重启终端或执行 source ~/.zshrc 生效

现在就能执行 mkfs.ext2 mkfs.ext3 mkfs.ext4 等命令了

用法:

mkfs.ext4 [-c|-l 文件名] [-b 块大小] [-C 簇大小]
    [-i 每inode的字节数] [-I inode大小] [-J 日志选项]
    [-G 弹性组大小] [-N inode数] [-d 根目录]
    [-m 保留块所占百分比] [-o 创始系统名]
    [-g 每组的块数] [-L 卷标] [-M 上一次挂载点]
    [-O 特性[,...]] [-r 文件系统版本] [-E 扩展选项[,...]]
    [-t 文件系统类型] [-T 用法类型] [-U UUID] [-e 错误行为][-z 撤销文件]
    [-jnqvDFKSV] 设备 [块数]

使用 diskutil list 查看分区,例如我想要格式化为 ext4 的分区是 disk3s1

$ sudo mkfs.ext4 /dev/disk3s1

挂载 EXT 分区

使用 diskutil list 查看分区,例如我有个 Ext4 分区是 disk3s1

那么命令是这样的

$ mkdir ~/Desktop/DISK$ sudo mount -t fuse-ext2 /dev/disk3s1 ~/Desktop/DISK

这样就挂载上了

卸载这个分区的命令式是 sudo umount /dev/disk3s1

结语

平常这些挂载工具用的确实不是很多,但是需要用的时候,又很无奈,所以直接写个笔记记录一下,以后要用的时候方便些

← Syncthing 就是我要的同步备份软件

赣州做网站?企业网站建设公司哪家好?需要多少钱?认准黑猫建站!

admin
  • 本文由 发表于 2018年12月27日09:34:24
匿名

发表评论

匿名网友 填写信息