macOS系统上读写Linux的ext4分区方法

很多时候需要在macOS上操作Linux的ext4分区,然后macOS系统默认并不支持ext4等分区格式。今天给大家介绍的方法是如何在macOS上,使用免费的工具来操作ext4分区。

osxfuse

FUSE(Filesystem in Userspace)中文直译为“用户空间文件系统”,是Linux 中用于挂载某些网络空间,如SSH,到本地文件系统的模块。它提供了抽象的文件操作系统用户态的读写接口。这个接口思想被移植到了macOS上,即:osxfuse。它是一个开源的软件,地址是:https://github.com/osxfuse/osxfuse。

为每一个不同的文件系统,编写一个支持它的osxfuse扩展,就可以很好的实现macOS系统上的多文件系统格式分区的读写支持。比如exFAT、XFS、procfs、SSHFS、NTFS等格式的分区,都可以通过扩展osxfuse来实现分区的读写。

比如ext2文件格式的支持有ext2fuse。安装扩展前需要执行下面的命令安装osxfuse:$ brew cask install osxfuse

安装完成后,执行:$ brew install ext2fuse

即可以用macOS自带的mount命令来加载ext2格式的分区镜像文件。

ext4fuse

ext4fuse是一款开源的ext4分区格式的支持扩展。地址是:https://github.com/gerard/ext4fuse。可以执行如下命令安装:$ brew install ext4fuse

加载一个ext4格式的镜像,可以执行如下操作:$ stat system.img

16777217 11104478 -rw-r--r-- 1 rmbp staff 0 891289600 "Aug 16 15:54:57 2018" "Aug 16 15:23:51 2018" "Aug 16 15:49:01 2018" "Aug 16 15:23:40 2018" 4096 1740800 0 system.img

$ mkdir sys

$ ext4fuse system.img sys

$ ls sys

app build.prop fonts lib media tts vendor

bin etc framework lost+found priv-app usr xbin

然而令人遗憾的是,ext4fuse的更新力度不够,项目不够活跃,始终只支持ext4分区的读操作,不支持写操作,如果只需要进行内容的查看与加载,使用这个工具就可以,但对于那些需要写ext4镜像文件格式的场景就不太适合了。

fuse-ext2

fuse-ext2是另一款支持ext格式分区操作的扩展,它的地址是:https://github.com/alperakcan/fuse-ext2。与ext4fuse不同的是,这款扩展支持ext2、ext3、ext4全系列的文件格式的读写,而且跨平台支持Linux、FreeBSD、macOS多个操作系统平台。目前该项目也比较活跃!

在macOS系统上安装它需要手动下载它的代码并编译安装,在官网的安装指导中有提到编写一个script.sh,自动编译与安装,这里就不列出来了。

安装完成后,执行如下命令即可加载与读写:$ mkdir sys

$ fuse-ext2 -v system.img sys

Mounting system.img Read-Only.

Use 'force' or 'rw+' options to enable Read-Write mode

$ umount sys

$ fuse-ext2 -v system.img sys -o force

默认的加载不支持写操作,需要加上force选项才能进行写入操作。操作完成后,执行umount命令,所有的操作修改,都会写入到原ext4镜像文件中。

文章精美排版PDF与代码,知识星球会员可以在知识星球:【软件安全与逆向分析】(ID: 86753808)中下载。

更多精彩内容,欢迎关注微信公众号【feicong_sec】

原网址: 访问

创建于: 2020-09-18 17:20:22

目录: default

标签: 无

mac可以写linux的进程,macOS系统上读写Linux的ext4分区方法相关推荐

  1. 如何在Linux/MacOS系统上安装Microsoft SQL Server

    转载来源:https://hub.docker.com/_/mssql-server-linux 如何在Linux/MacOS系统上安装Microsoft SQL Server 快速安装 # 首先在L ...

  2. 理解Linux和其他UNIX-Like系统上的平均负载

    理解Linux和其他UNIX-Like系统上的平均负载      Linux,Mac以及其他UNIX-like系统都能显示出"load average"信息.这些数字告诉你,你系统 ...

  3. Android驱动(1)---Ubuntu中为Android系统上编写Linux内核驱动程序实现方法

    Ubuntu中为Android系统上编写Linux内核驱动程序实现方法 本文主要介绍在Ubuntu 上为Android系统编写Linux内核驱动程序, 这里对编写驱动程序做了详细的说明,对研究Andr ...

  4. macOS系统上flutter安装与环境配置

    flutter安装与环境配置 macOS系统上flutter安装与环境配置 添加国内镜像 获取flutter SDK 获取Android SDK 安装xcode flutter安装和配置过程中的一些错 ...

  5. 绝对精华,大牛教你在Android系统上安装linux发行版

    Install linux distribution (Debian/Ubuntu/Kali Linux/Fedora/openSUSE/Gentoo/RootFS/Arch Linux) on An ...

  6. 1、win10下连接本地系统上的Linux操作系统(分别以Nat方式和桥接模式实现)

    1.win10下连接本地系统上的Linux操作系统(分别以Nat方式和桥接模式实现) 一.准备知识:win10下打开Administrator的方式 在win10操作系统中,Administrator ...

  7. 安卓设备刷linux发行版,绝对精华,大牛教你在Android系统上安装linux发行版

    Install linux distribution (Debian/Ubuntu/Kali Linux/Fedora/openSUSE/Gentoo/RootFS/Arch Linux) on An ...

  8. win10下的linux占用大小,详解Win10系统上使用Linux之前要知道的几件事

    现在微软的官方项目Primordial已经能够在Windows 10中翻译Linux系统指令,并可以原生运行包括shell等核心Linux工具,在win10系统中运行Linux不再是儿戏. Primo ...

  9. 向日葵在mac不能以服务器运行吗,macOS系统向日葵远程控制鼠标无法点击的问题...

    以前是使用 TeamViewer 远程,奈何被判断为商用,所以只能使用向日葵进行远程控制了 之前遇到过使用向日葵远程一个用户的时候,也是 macOs 系统,能连接,鼠标也能动,但是不能使用鼠标进行点击 ...

最新文章

  1. 华为策略路由加等价路由_两个ISP接入路由,双路由接入华为S5700交换机,实施策略路由...
  2. Python 常用函数time.strftime()简介
  3. net use 命令集合详解
  4. ansi编码转换_8b/1b编码是个什么东东
  5. 线程WAITING--BlockingQueueDemo
  6. linux Postfix + dovecot + extmail + extman + mysql
  7. 矩阵计算的理论与方法_基于微带线的相位补偿方法分析
  8. BZOJ2388: 旅行规划
  9. html+cs入门实例,CS50 HTML和CSS基础(介绍最简单的HTML和CSS)
  10. sublime多行变一行及sublime一键格式化html/css/js、光标快捷键移动行首行尾、删除空行
  11. QThread安全退出
  12. 谷歌Gmail注册方法
  13. android拍照文件没有读写权限,Android6.0之后的拍照+本地存储权限问题
  14. Cortex M3 Bit-banding简介
  15. 那些年啊,那些事——一个程序员的奋斗史 ——39
  16. javamail发送SSL---------Unrecognized SSL message, plaintext connection
  17. Socket 对外接口 (一)
  18. java中string类型如何接收_java中的string类型全面解析
  19. 永中的免费office,集成开发第一步
  20. 淘宝店铺的运营思路和宝贝描述的要素与量子分析,开店必须要学的

热门文章

  1. tensorflow LSTM:张量变形,5维变4维,4维变5维
  2. 面向对象第二单元总结
  3. 简单的webservice发布和测试
  4. 设计模式之Flyweight模式(笔记)
  5. 网络协议:传输层(http://java-mzd.iteye.com/blog/1007577)
  6. [笔记][随笔]近期小结
  7. UVALive 6884 GREAT + SWERC = PORTO dfs模拟
  8. 现代软件工程第六章作业
  9. opencms使用笔记
  10. 在Java中应用函数式编程请小心!