文章目录:
fdisk 操作磁盘,新建分区:(以我板子内部的EMMC设备为例)
查看有无磁盘设备:
已知磁盘路径为 /dev/mmcblk0 , 使用 fdisk 操作磁盘:
输入 m 查看分区命令:
使用命令进行分区操作:
查看生成的分区:
查看确认分区生成,进行格式化处理:
挂载并查看:
编写shell脚本一键操作:
#!/bin/bash
# 检查 /dev/mmcblk0p1 是否存在
if [ -b /dev/mmcblk0p1 ]; then
echo "/dev/mmcblk0p1 已经存在,退出脚本。"
exit 0
fi
# 如果没有 mmcblk0p1 分区,则创建它
echo "开始创建 /dev/mmcblk0p1 分区..."
# 使用 fdisk 创建新的分区,并尽可能接近您的交互过程
(
echo n # 新建分区
echo p # 主分区
echo 1 # 分区号为1
echo # 第一个扇区默认值 (这里会自动选择16)
echo # 最后一个扇区默认值 (这里会自动选择最后一个可用的扇区)
echo w # 写入更改并退出
) | fdisk /dev/mmcblk0
# 检查fdisk命令是否成功执行
if [ $? -ne 0 ]; then
echo "fdisk命令执行失败,请检查磁盘状态。"
exit 1
fi
# 等待系统识别新分区
sleep 2
# 重新读取分区表(这一步是为了确保内核更新分区信息)
partprobe /dev/mmcblk0
# 检查 partprobe 命令是否成功执行
if [ $? -ne 0 ]; then
echo "重新读取分区表失败,请手动确认分区是否已被创建。"
exit 1
fi
# 格式化新创建的分区为 FAT32 文件系统
mkfs.vfat -F 32 /dev/mmcblk0p1
# 检查 mkfs.vfat 命令是否成功执行
if [ $? -ne 0 ]; then
echo "格式化分区失败,请检查错误信息。"
exit 1
fi
# 创建挂载点(如果不存在)
mkdir -p /mnt/tfcard
# 挂载新分区到指定目录
mount /dev/mmcblk0p1 /mnt/tfcard
# 检查 mount 命令是否成功执行
if [ $? -ne 0 ]; then
echo "挂载分区失败,请检查错误信息。"
exit 1
else
echo "分区创建、格式化和挂载成功完成。"
fi
标签:分区,dev,echo,fdisk,磁盘,mmcblk0p1
From: https://blog.csdn.net/wzt001005/article/details/144297855