在a20linux上增加分区,核心思路是使用fdisk或parted工具修改分区表,然后格式化并挂载新分区,整个过程可在系统运行时完成,但需要谨慎操作以避免数据丢失。
准备工作:查看a20linux当前磁盘分区情况
动手之前,先摸清磁盘的底细,你需要在终端里运行几条命令,确认磁盘设备名和现有分区布局。
- 使用lsblk:输入
lsblk,会列出所有块设备,包括大小、挂载点和类型,a20linux常见存储设备是SD卡(如mmcblk0)或eMMC(如mmcblk1)。 - 使用fdisk -l:运行
fdisk -l /dev/mmcblk0,可以查看详细的分区表信息,包括分区数量、起始扇区、结束扇区和类型。 - 确认分区表类型:输出中会显示“Disklabel type: dos”或“gpt”,dos代表MBR,gpt是新式分区表,a20linux开发板大多使用MBR,但如果你打算增加超过4个分区,建议改用GPT。
备份当前分区表(可选但推荐)
在修改前,建议备份一份分区表,用dd if=/dev/mmcblk0 of=/backup/mbr.bin bs=512 count=1将MBR扇区保存下来,如果出差错,可以恢复,业内专家指出,这一步是应对意外最有效的防线。
a20linux增加分区的两种常用工具:fdisk与parted
fdisk和parted是Linux下最主流的分区管理工具,fdisk更传统,适合MBR和简单操作;parted功能更强大,支持GPT和调整分区大小,下面分别介绍它们在a20linux上的具体用法。
a20linux怎么用fdisk增加分区
fdisk是交互式工具,适用于MBR分区表,假设你的磁盘是/dev/mmcblk0,并且还有空闲空间。
- 启动fdisk:
fdisk /dev/mmcblk0 - 查看当前分区:输入
p,打印分区表,确认空闲空间的位置和大小。 - 新建分区:输入
n,选择分区类型,通常选p主分区(如果主分区少于4个),或者e扩展分区(再在里面建逻辑分区)。 - 指定分区号

:按提示输入分区号,一般默认即可。
- 设置起始扇区:默认值通常是最佳选择,会使用第一个空闲扇区,按回车接受。
- 设置结束扇区或大小:可以输入
+2G表示增加一个2GB的分区,或直接输入结束扇区号。 - 写入分区表:输入
w,将更改写入磁盘,此时分区创建完成,但还没有文件系统。
注意:如果磁盘有扩展分区,逻辑分区号从5开始,fdisk会提示你选择,写操作前可以用q退出而不保存,用于演练。
使用parted在a20linux上添加分区
parted既能处理MBR,也原生支持GPT,而且可以非交互式执行,适合脚本化操作,以下步骤假设磁盘是/dev/mmcblk0,且空闲空间在末尾。
- 启动parted:
parted /dev/mmcblk0 - 设置分区表类型:如果想用GPT,输入
mklabel gpt,注意:这会清除所有现有分区数据,请确保已备份。 - 打印空闲空间:输入
print free,可以看到磁盘上的空闲区域。 - 创建分区:输入
mkpart primary ext4 4GB 6GB,表示从4GB位置开始,到6GB结束,创建一个ext4格式的主分区,如果不指定文件系统,可以用mkpart primary 4GB 6GB。 - 退出parted:输入
quit。
与fdisk不同,parted的更改是立即执行的,没有w确认步骤,所以操作前务必确认空闲空间范围和大小。
格式化新分区并选择文件系统
分区建好后,需要格式化才能使用,根据用途选择文件系统类型。
- ext4:最常用,兼顾性能和稳定性,适合存放系统数据或日志,命令:
mkfs.ext4 /dev/mmcblk0p3(假设新建分区是第三个分区)。 - ext3:兼容性更好,但性能稍弱。
mkfs.ext3 /dev/mmcblk0p3 - vfat(FAT32):用于和小白菜板或Windows交换文件。

mkfs.vfat -F 32 /dev/mmcblk0p3
- f2fs:专为闪存设计,随机读写快,适合a20linux的SD卡或eMMC。
mkfs.f2fs /dev/mmcblk0p3
格式化完成后,用blkid /dev/mmcblk0p3可以查看新分区的UUID和文件系统类型,后续挂载会用上。
挂载分区并设置开机自动挂载
格式化后,需要手动挂载才能访问,如果要永久生效,必须写入/etc/fstab。
临时挂载
- 创建挂载点:
mkdir /mnt/data - 挂载:
mount /dev/mmcblk0p3 /mnt/data - 验证:
df -h或lsblk确认挂载成功。
设置开机自动挂载
- 查看UUID:
blkid /dev/mmcblk0p3,复制UUID值。 - 编辑
/etc/fstab:vim /etc/fstab - 添加一行:
UUID=xxxx-xxxx /mnt/data ext4 defaults 0 2 - 测试:
mount -a,如果没报错,说明配置正确。
关键点:
- 使用UUID而非设备名,因为设备名可能因内核识别顺序而改变。
- 文件系统类型要匹配,否则挂载失败。
- 最后一个数字是
dump和fsck选项,0 2表示不备份,但下次启动时对分区进行文件系统检查(比根分区后检查)。
a20linux增加分区时的注意事项
增加分区看似简单,但几个细节不注意,可能导致系统无法启动或数据丢失。
分区对齐
现代存储设备(尤其是SSD和eMMC)要求分区对齐到物理块(通常1MB边界),fdisk和parted默认会处理对齐,但如果你手动指定起始扇区,请确保是8的倍数(通常2048扇区对齐),对齐不良会降低性能并缩短存储寿命。
分区表类型限制
- MBR:最多4个主分区,或3个主分区+1个扩展分区(扩展分区内可建多个逻辑分区),如果磁盘已满,需要删除一个分区或转换为GPT。
- GPT:支持128个分区,但需要主板支持(a20linux的U-Boot通常支持GPT,但某些旧版引导程序可能不识别),建议在确认引导程序兼容后再用。

数据安全第一
- 在已有数据的磁盘上增加分区,只能利用空闲空间(未分配区域),如果空间不够,需要调整现有分区大小,风险较高,建议先备份。
- 行业共识认为,扩展分区时最好不要在系统运行时操作根分区,改用Live系统或从另一块存储启动。
分区大小与文件系统关系
- ext4文件系统可以原地扩大,但缩小需要卸载并借助工具(如resize2fs),操作复杂且危险,建议在创建时就规划好最终大小。
- 如果分区用于存放日志或临时文件,考虑使用
noatime挂载选项,减少写入次数。
a20linux分区扩容常见问题
如何在a20linux上增加分区而不影响现有数据?
只要利用磁盘上的空闲空间新建分区,就不会影响已有分区,先用parted print free或fdisk -l确认空闲区域,如果空闲空间在末尾,直接新建一个分区,并确保起始扇区不与现有分区重叠,如果空闲空间在中间,需要移动或调整分区,建议先备份并用GParted Live等图形化工具操作。
a20linux支持哪些分区表类型?哪种更适合?
a20linux的U-Boot引导程序通常支持MBR和GPT,MBR兼容性最广,几乎所有开发板都支持,但局限于4个主分区,如果设备需要超过4个分区,或者存储容量大于2TB,必须用GPT,不过部分旧版U-Boot对GPT支持有限,可能无法从GPT分区引导,多数情况下,嵌入式场景用MBR加逻辑分区就足够了。
增加分区后系统无法启动,怎么办?
可能的原因:分区表修改导致根分区序号变化,或引导程序找不到内核,解决方法:用Live系统启动,检查分区表是否正确,如果根分区设备名变了(比如从mmcblk0p2变成mmcblk0p3),需要修改/boot/uboot.env或/boot/extlinux/extlinux.conf中的根设备路径,如果引导程序本身丢失,需要重新烧录U-Boot,建议在操作前记录分区布局和引导参数,方便回滚。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复