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 就是我要的同步备份软件

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

    avatar
    • 本文由 发表于 2018年12月27日
    Mac 软件推荐(续)之程序猿篇 mac软件下载

    Mac 软件推荐(续)之程序猿篇

    在前面一篇文章“Mac 软件推荐(续) -- !程序猿篇” (文章取名装X失败, 悲伤)中, 我已经介绍了一些大众化的软件, 当然作为程序猿的你也应该参考参考(没看过前文的必须补上啊).本篇文章将介绍...
    匿名

    发表评论

    匿名网友 填写信息