为树莓派制作系统镜像一般是需要一张4G的SD或TF卡,但是你是否知道如果你的SD卡是8G或者16G又或者更大,制作好各种类型的Linux并启动进入系统使用是只能使用4G以内的SD卡,而其它多出的部分是一个空白的无分区空间。这是一种很大的浪费,如果想将整个SD卡的空间都充份使用起来我们可以采用 fdisk
对SD卡的分区表进行扩展。
操作过程
用fdisk命令进行分区操作 (实际操作前最好先熟悉一下fdisk的用法)
命令格式:
fdisk <存储设备名> //如: fdisk /dev/sda
进入fdisk 后,使用单键命令
m 显示Help
p 列出所有分区
d 删除分区
n 新建分区
w 存盘退出
q 不存盘退出
按 p
键 列出所有分区,可见有两个或三个分区
- 第一个分区是 FAT32分区,是引导用的
- 第二个分区是Linux 主分区
- 第三个分区是Linux Swap交换文件分区(虚拟机中可能没有)
用笔记下 Linux 主分区的Start Sector号 (我的img文件中是122880)
按 d
键 Partition Number (分区号) 选 2, 删除linux主分区(第2个区)如果有linuxSwap分区,再按d键 Partition Number (分区号) 选 3, 删除linuxSwap分区(第3个区)
按 p
键 列出所有分区,可见只剩第一个分区了
按 n
键,重新创建linux主分区
Partition Type(分类类型) 选 P (Primary)
Partition Number (分区号) 选 2
First Sector(起始Sector) 一定要输入刚才记下来的Start Sector号(我的是122880)
Last Sector (终止Sector)用默认值,直接回车
按 p
键 列出所有分区,可见有两个分区,linux主分区在第2个,起始位置是原位置
按 w
键 存盘退出fdisk
接下来,立即重启,不要做任何其它事情
sudo reboot
重启并登录后,立即用以下命令
sudo resize2fs /dev/mmcblk0p2
该命令将把第二个分区扩展到新的空间中
查看一下硬盘使用情况,OK了
df -h
操作的原理
首先删除了linux主分区和Swap分区,重建的主分区起始Sector位置与原主分区一致,再resize2fs,则原主分区数据完全没变,但改变了主分区的大小。