三多运维

eMMC磁盘空间分区

2026/03/19
5
0

按顺序执行即可完成:查看当前状态 → 彻底删除所有分区 → 按规划创建新分区 → 格式化 → 验证。


📋 完整操作流程(U盘系统下执行)

第一步:查看当前状态

bash

# 1.1 查看 eMMC 设备信息
lsblk | grep mmcblk2

# 1.2 查看详细分区表
sudo parted /dev/mmcblk2 print free

第二步:彻底删除所有分区(重置为空盘)

bash

# 2.1 用 parted 删除所有分区(方法一:交互式)
sudo parted /dev/mmcblk2

(parted) 提示符下:

text

# 查看当前分区(确认一下)
print free

# 如果有多个分区,逐个删除
rm 1
rm 2
rm 3
# ... 直到所有分区删完

# 最后确认是否还有分区
print free
# 应该只显示一整段 Free Space

# 退出
quit

或者用更彻底的方法(一步到位重建空分区表):

bash

# 2.2 直接重建空分区表(更彻底)
sudo parted -s /dev/mmcblk2 mklabel msdos

验证删除结果:

bash

# 确认已清空
sudo parted /dev/mmcblk2 print free
# 应该只有一整段 Free Space

第三步:创建新分区(按你的规划)

bash

# 3.1 进入 parted
sudo parted /dev/mmcblk2

(parted) 提示符下:

text

# 创建 p1: 512MB FAT32 引导分区
mkpart primary fat32 1MiB 513MiB

# 创建 p2: 剩余全部空间给 btrfs 系统分区
mkpart primary btrfs 513MiB 100%

# 查看创建结果
print free

# 退出 parted
quit

第四步:格式化分区

bash

# 4.1 格式化 p1 (FAT32)
sudo mkfs.vfat -F 32 -n BOOT /dev/mmcblk2p1

# 4.2 格式化 p2 (btrfs)
sudo mkfs.btrfs -f -L ROOTFS_EMMC /dev/mmcblk2p2

第五步:验证最终结果

bash

# 5.1 用 lsblk 查看分区和文件系统
lsblk -f /dev/mmcblk2

# 5.2 用 parted 确认分区表
sudo parted /dev/mmcblk2 print free

# 5.3 可选:临时挂载测试
sudo mkdir -p /mnt/test
sudo mount /dev/mmcblk2p2 /mnt/test
df -h /mnt/test
sudo umount /mnt/test

📝 一键复制版(所有命令汇总)

如果你喜欢直接复制粘贴,以下是完整版(在 U盘 系统下执行):

bash

# === 1. 查看当前 ===
echo "=== 当前分区状态 ==="
lsblk | grep mmcblk2
sudo parted /dev/mmcblk2 print free

# === 2. 彻底删除 ===
echo "=== 重建空分区表 ==="
sudo parted -s /dev/mmcblk2 mklabel msdos
echo "=== 验证清空结果 ==="
sudo parted /dev/mmcblk2 print free

# === 3. 创建新分区 ===
echo "=== 创建 p1 (512MB FAT32) 和 p2 (剩余空间 btrfs) ==="
sudo parted /dev/mmcblk2 mkpart primary fat32 1MiB 513MiB
sudo parted /dev/mmcblk2 mkpart primary btrfs 513MiB 100%
echo "=== 查看分区结果 ==="
sudo parted /dev/mmcblk2 print free

# === 4. 格式化 ===
echo "=== 格式化 p1 ==="
sudo mkfs.vfat -F 32 -n BOOT /dev/mmcblk2p1
echo "=== 格式化 p2 ==="
sudo mkfs.btrfs -f -L ROOTFS_EMMC /dev/mmcblk2p2

# === 5. 最终验证 ===
echo "=== 最终验证 ==="
lsblk -f /dev/mmcblk2
sudo parted /dev/mmcblk2 print free
echo "=== 完成! ==="

✅ 最终预期结果

执行完成后,你应该看到:

分区

大小

文件系统

卷标

用途

/dev/mmcblk2p1

512MB

vfat

BOOT

引导分区

/dev/mmcblk2p2

~6.8GB

btrfs

ROOTFS_EMMC

系统分区

现在 eMMC 已经按你的规划准备好,下一步就是安装 FnNAS 系统到 p2。需要我继续给出系统安装的命令步骤吗?

方案二、基于现有存储空间,拓展闲置空间为存储数据盘

root@xmdbox:~# sudo parted /dev/mmcblk2 print free
Model: MMC 8GTF4R (sd/mmc)
Disk /dev/mmcblk2: 7818MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
        1024B   71.3MB  71.3MB           Free Space
 1      71.3MB  607MB   536MB   primary  fat32        lba
        607MB   1416MB  808MB            Free Space
 2      1416MB  7818MB  6403MB  primary  btrfs

root@xmdbox:~# lsblk | grep mmcblk2
mmcblk2      179:0    0   7.3G  0 disk 
├─mmcblk2p1  179:1    0   511M  0 part /boot
└─mmcblk2p2  179:2    0     6G  0 part /
mmcblk2boot0 179:32   0     4M  1 disk 
mmcblk2boot1 179:64   0     4M  1 disk 
root@xmdbox:~# sudo parted /dev/mmcblk2 mkpart primary ext4 607MB 1416MB
Information: You may need to update /etc/fstab.

root@xmdbox:~# sudo mkfs.ext4 -L DATA /dev/mmcblk2p3                      
mke2fs 1.47.0 (5-Feb-2023)
Discarding device blocks: done                            
Creating filesystem with 197376 4k blocks and 49392 inodes
Filesystem UUID: 792e52f8-6e7e-4f1b-bddb-f329187a38a3
Superblock backups stored on blocks: 
        32768, 98304, 163840

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done