mmcblk分区
时间: 2025-05-15 22:10:40 浏览: 8
### MMCBLK 分区 格式化 挂载 Linux Android 解决方案
在 Linux 和 Android 系统中,`/dev/mmcblk*` 设备通常用于表示 eMMC 或 SD 卡等存储设备。这些设备可以被划分为多个分区(如 `/dev/mmcblk0p1`, `/dev/mmcblk0p2`),并支持多种文件系统的格式化和挂载操作。
#### 一、判断分区是否存在
可以通过 `lsblk` 命令或者直接检测特定路径来确认某个分区是否存在。如果目标目录不存在,则需要创建该目录以便后续挂载操作[^3]:
```bash
if [ ! -d "/mnt/extsd" ]; then
mkdir -p /mnt/extsd
fi
```
上述脚本片段会先检查 `/mnt/extsd` 是否存在;若不存在则通过 `mkdir` 创建它。
#### 二、格式化未初始化的分区
当发现某一分区尚未经过任何格式化的处理时,可以根据实际需求将其转换成适合的目标文件系统类型。例如 FAT32 文件系统适用于跨平台兼容场景下的数据交换用途[^1]:
```bash
mkfs.vfat /dev/mmcblk0p9
```
对于性能要求较高且仅限于 Linux 平台内部使用的场合来说,EXT4 是一种更优的选择:
```bash
mkfs.ext4 /dev/mmcblk0p9
```
注意,在执行此类命令前务必确保所选设备节点正确无误以免误删重要资料!
#### 三、手动完成单次性的临时挂载过程
为了能够即时访问刚刚设置完毕的新分区内容,可通过如下方式实现快速连接至指定位置的操作:
```bash
mount -t vfat /dev/mmcblk0p9 /mnt/extsd/
# OR FOR EXT4 FILESYSTEMS:
mount -t ext4 /dev/mmcblk0p9 /mnt/extsd/
```
这里 `-t` 参数指定了预期加载进去的具体文件系统类别名称。
#### 四、配置长期有效的自动化启动期间自动挂载机制
为了让某些固定不变的重要外部储存介质始终处于可用状态而不必每次重启之后重新下达指令,应该编辑 `/etc/fstab` 配置文档加入相应条目定义规则[^2]:
```
/dev/mmcblk0p9 /mnt/extsd auto defaults 0 0
```
此行记录表明每当计算机正常引导进入操作系统界面之时都会尝试按照默认参数把对应硬件资源关联起来供日常运用调用之需。
---
### 示例综合脚本
下面提供了一个完整的 Shell 脚本来演示如何结合以上各个部分功能于一体:
```sh
#!/bin/bash
MOUNT_POINT="/mnt/extsd"
DEVICE="/dev/mmcblk0p9"
# Check and create mount point if necessary.
if [ ! -d "$MOUNT_POINT" ]; then
mkdir -p "$MOUNT_POINT"
fi
# Attempt to mount the device.
mount -t vfat "${DEVICE}" "${MOUNT_POINT}"
RET=$?
if [ $RET -ne 0 ]; then
echo "Failed to mount ${DEVICE}. Formatting..."
# Format as VFAT (FAT32).
mkfs.vfat "${DEVICE}"
# Retry mounting after formatting.
mount -t vfat "${DEVICE}" "${MOUNT_POINT}"
RET=$?
if [ $RET -eq 0 ]; then
echo "Successfully formatted and mounted."
else
echo "Mount failed even after formatting!"
fi
else
echo "Mounted successfully at ${MOUNT_POINT}."
fi
```
阅读全文
相关推荐



















