充分利用树莓派中的SD卡空间

为树莓派制作系统镜像一般是需要一张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,则原主分区数据完全没变,但改变了主分区的大小。

相关推荐