如何在安卓手机用parted/fdisk获取分区信息?含安装及跨平台疑问
在安卓手机安装parted及跨环境读取GPT分区信息的方案
我来帮你梳理一下解决这些问题的具体方案,都是实际操作中验证过的方法:
一、安卓智能手机安装parted命令的方法
首先必须明确:使用parted需要你的安卓设备已经获取Root权限——毕竟分区操作是系统级别的,普通用户权限根本碰不到存储设备的分区表。
方法1:Magisk模块一键安装(最省心)
- 打开Magisk Manager,进入「模块」页面,点击右上角搜索图标,搜「parted」或者「Full GNU Tools」这类打包了完整Unix工具集的模块。优先选评分高、最近有更新的(比如有些专门做“安卓GNU工具包”的模块,会把parted、gdisk这些都打包进去)。
- 下载选中的模块后刷入,重启设备。之后打开终端模拟器(比如Termux、Android Terminal Emulator),先输入
su获取Root权限,再敲parted --version,能输出版本信息就说明安装成功了。
方法2:手动下载预编译二进制文件
如果不想依赖Magisk模块,可以自己找适配的parted二进制:
- 先确认你的设备架构:终端里输
uname -m,比如arm64设备会输出aarch64,32位arm是armv7l。 - 从可信的开源仓库下载对应架构的parted预编译文件。
- 把文件传到设备里(比如存到
/sdcard/Download),然后在终端执行:su # 把文件移到可执行目录,/data/local/bin不需要修改系统分区,更安全 cp /sdcard/Download/parted /data/local/bin/ # 给文件加执行权限 chmod +x /data/local/bin/parted - 验证:输入
parted --version,能正常输出就搞定了。
二、Linux/Windows Cygwin环境用fdisk读取安卓GPT分区
Linux系统:完全可行
- 先把安卓设备连接到Linux电脑,开启USB调试和文件传输模式。在Linux终端输
lsblk,找到对应安卓存储的设备(比如/dev/sdb,注意别认错成自己的硬盘)。 - 只读查看分区信息的话,直接用
fdisk -rl /dev/sdb——加-r参数是只读模式,避免误操作搞坏手机系统。如果你的fdisk版本比较新,完全能识别GPT分区表,会输出每个分区的起始扇区、结束扇区、大小这些详细信息。 - 要是fdisk识别有问题,换
gdisk(专门处理GPT的工具,Linux包管理器里能装),gdisk -l /dev/sdb对GPT的支持更完善。
Windows Cygwin环境:可以但要注意细节
- 首先得用管理员权限打开Cygwin终端,不然没法访问物理存储设备。
- 连接安卓设备后,在Cygwin里输
fdisk -l,找到对应手机存储的/dev/sdX设备(X是字母)。 - 同样用只读模式查看:
fdisk -rl /dev/sdX。如果Cygwin的fdisk对GPT支持不好,推荐装gdisk(在Cygwin的软件源里搜gdisk就能安装),用gdisk -l /dev/sdX来获取GPT分区信息,稳定性更高。
三、关于BusyBox fdisk不支持GPT的问题
BusyBox的fdisk是简化版工具,确实只支持MBR分区表,对GPT的支持几乎为零——现在大部分新安卓设备都是GPT分区,所以它读不出正确信息很正常。
替代方案有这些:
- 用上面说的完整版parted或gdisk(不管是在安卓终端还是Linux/Cygwin环境)。
- 在安卓终端里,也可以试试
lsblk命令(如果你的BusyBox自带或者已经安装),它能识别GPT分区,输lsblk -b -o NAME,SIZE,START,END,TYPE就能看到每个分区的起始、结束地址和大小,足够满足你的需求。
内容的提问来源于stack exchange,提问作者huhiha
相关产品推荐
相关产品推荐

