按顺序执行即可完成:查看当前状态 → 彻底删除所有分区 → 按规划创建新分区 → 格式化 → 验证。
bash
# 1.1 查看 eMMC 设备信息
lsblk | grep mmcblk2
# 1.2 查看详细分区表
sudo parted /dev/mmcblk2 print freebash
# 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 Spacebash
# 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
quitbash
# 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/mmcblk2p2bash
# 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 "=== 完成! ==="执行完成后,你应该看到:
现在 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