问题描述
希望通过Termux直接在没有SD卡读卡器的情况下,对SD卡进行重新分区,并扩展其大小以创建新的EXT4分区。用户已经通过parted
命令查看了SD卡的当前分区情况。
解决方案
请注意,在执行这些操作前,请确保备份SD卡上的重要数据,以防数据丢失。
方案1:使用parted
和resizepart
命令
安装必要的工具:
在Termux中安装parted
和sgdisk
工具,因为resizepart
命令可能不在默认安装中。
bash
pkg install parted sgdisk使用
parted
查看当前分区表:
用户已经通过parted
命令查看了SD卡的分区情况。确保当前只有一个分区,并且它占用整个SD卡空间。
bash
(parted) p使用
resizepart
命令调整分区大小:
使用resizepart
命令调整现有分区大小。假设当前分区编号为1,可以使用以下命令:
bash
(parted) resizepart 1 100%
这将把分区1调整为占据整个SD卡的空间。创建新的EXT4分区:
使用mkpart
命令创建一个新的EXT4分区。
bash
(parted) mkpart primary ext4 0% 100%使用
mkfs.ext4
格式化新分区:
创建新分区后,需要使用mkfs.ext4
命令对其进行格式化。
bash
mkfs.ext4 /dev/block/mmcblk1p2挂载新分区:
挂载新分区以便使用。
bash
mount /dev/block/mmcblk1p2 /mnt/sdcard/new_partition
方案2:使用sgdisk
工具
安装必要的工具:
在Termux中安装sgdisk
工具。
bash
pkg install sgdisk使用
sgdisk
调整分区大小:
使用sgdisk
命令调整分区大小。假设当前分区编号为1,可以使用以下命令:
bash
sgdisk -G /dev/block/mmcblk1
sgdisk -e /dev/block/mmcblk1
sgdisk -R /dev/block/mmcblk1
sgdisk -n 2:0:+10G -c 2:"New Partition" -t 2:8300 /dev/block/mmcblk1创建新的EXT4分区:
使用mkfs.ext4
命令格式化新分区。
bash
mkfs.ext4 /dev/block/mmcblk1p2挂载新分区:
挂载新分区以便使用。
bash
mount /dev/block/mmcblk1p2 /mnt/sdcard/new_partition
注意事项
- 在执行上述操作之前,请确保SD卡上的重要数据已经备份。
- 执行
resizepart
或sgdisk
命令时,请确保SD卡未被其他设备识别,以避免数据丢失。 - 如果不确定操作步骤,建议参考官方文档或寻求专业人士的帮助。