如何使用终端重置SD卡大小并创建新分区?

8次阅读
没有评论

问题描述

希望通过Termux直接在没有SD卡读卡器的情况下,对SD卡进行重新分区,并扩展其大小以创建新的EXT4分区。用户已经通过parted命令查看了SD卡的当前分区情况。

解决方案

请注意,在执行这些操作前,请确保备份SD卡上的重要数据,以防数据丢失。

方案1:使用partedresizepart命令

  1. 安装必要的工具
    在Termux中安装partedsgdisk工具,因为resizepart命令可能不在默认安装中。
    bash
    pkg install parted sgdisk

  2. 使用parted查看当前分区表
    用户已经通过parted命令查看了SD卡的分区情况。确保当前只有一个分区,并且它占用整个SD卡空间。
    bash
    (parted) p

  3. 使用resizepart命令调整分区大小
    使用resizepart命令调整现有分区大小。假设当前分区编号为1,可以使用以下命令:
    bash
    (parted) resizepart 1 100%

    这将把分区1调整为占据整个SD卡的空间。

  4. 创建新的EXT4分区
    使用mkpart命令创建一个新的EXT4分区。
    bash
    (parted) mkpart primary ext4 0% 100%

  5. 使用mkfs.ext4格式化新分区
    创建新分区后,需要使用mkfs.ext4命令对其进行格式化。
    bash
    mkfs.ext4 /dev/block/mmcblk1p2

  6. 挂载新分区
    挂载新分区以便使用。
    bash
    mount /dev/block/mmcblk1p2 /mnt/sdcard/new_partition

方案2:使用sgdisk工具

  1. 安装必要的工具
    在Termux中安装sgdisk工具。
    bash
    pkg install sgdisk

  2. 使用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

  3. 创建新的EXT4分区
    使用mkfs.ext4命令格式化新分区。
    bash
    mkfs.ext4 /dev/block/mmcblk1p2

  4. 挂载新分区
    挂载新分区以便使用。
    bash
    mount /dev/block/mmcblk1p2 /mnt/sdcard/new_partition

注意事项

  • 在执行上述操作之前,请确保SD卡上的重要数据已经备份。
  • 执行resizepartsgdisk命令时,请确保SD卡未被其他设备识别,以避免数据丢失。
  • 如果不确定操作步骤,建议参考官方文档或寻求专业人士的帮助。
正文完