用树莓派刷了OpenWrt当路由器,但是刷完后发现16G的内存卡,使用的容量还不到1G,这就导致用树莓派下载电影时提示磁盘容量不足,所以需要对磁盘分区进行扩容。本文是将分区全部扩展的过程,所使用的方法不局限于树莓派OpenWrt扩容,Linux服务器和电脑扩容也可以按照本文的方法进行。
首先看下未扩容前的sd卡容量
root@OpenWrt:~# df -h Filesystem Size Used Available Use% Mounted on /dev/root 252.0M 23.2M 223.7M 9% / tmpfs 461.6M 1.1M 460.5M 0% /tmp /dev/mmcblk0p1 19.9M 14.5M 5.4M 73% /boot tmpfs 512.0K 0 512.0K 0% /dev root@OpenWrt:~#
可以看到容量都不大,也就几百兆的大小。
下面开始对OpenWrt分区进行扩容
把树莓派的SD卡取出来,插到Linux电脑上,我的环境是Ubuntu。
1.确定sd卡盘符
使用df -h命令,查看sd卡的盘符:
确定sd的盘符是/dev/sdc。
2.卸载/dev/sdc2
umount /dev/sdc2
3.用fdisk命令开始重新分区
进入分区程序:
sudo fdisk /dev/sdc
查看当前分区情况:p
这里一定要记住/dev/sdc2分区的起点(我的是57344,等会要用到)。
4.删除分区2
删除分区:m
选择删除分区2:2
5.重新新建分区2
然后新建分区:n
分区类型选择主分区:p
分区号输入2:2
起始扇区选择原来的点:57344
最后一个扇区选择默认:enter
这样就新建了一个分区2,并且分区包含了剩下的全部空间。
接着提示是否移除”分区 #2 的 ext4 签名“,选择否:no
6.保存分区修改
最后输入w
保存刚才的分区
7.使修改生效
sudo e2fsck /dev/sdc2 sudo resize2fs /dev/sdc2
这样就完成了树莓派OpenWrt分区扩容,将SD卡重新插回树莓派,开机后就可以看到分区已经扩容成功了!
全部过程记录:
lixinxing@li:~$ sudo fdisk /dev/sdc 欢迎使用 fdisk (util-linux 2.31.1)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 命令(输入 m 获取帮助): p Disk /dev/sdc:14.9 GiB,15931539456 字节,31116288 个扇区 单元:扇区 / 1 * 512 = 512 字节 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x5452574f 设备 启动 起点 末尾 扇区 大小 Id 类型 /dev/sdc1 * 8192 49151 40960 20M c W95 FAT32 (LBA) /dev/sdc2 57344 31116287 31058944 14.8G 83 Linux 命令(输入 m 获取帮助): d 分区号 (1,2, 默认 2): 2 分区 2 已删除。 命令(输入 m 获取帮助): n 分区类型 p 主分区 (1个主分区,0个扩展分区,3空闲) e 扩展分区 (逻辑分区容器) 选择 (默认 p): p 分区号 (2-4, 默认 2): 2 第一个扇区 (2048-31116287, 默认 2048): 57344 上个扇区,+sectors 或 +size{K,M,G,T,P} (57344-31116287, 默认 31116287): 创建了一个新分区 2,类型为“Linux”,大小为 14.8 GiB。 分区 #2 包含一个 ext4 签名。 您想移除该签名吗? 是[Y]/否[N]: n 命令(输入 m 获取帮助): w 分区表已调整。 正在同步磁盘。 lixinxing@li:~$ sudo resize2fs /dev/sdc2 resize2fs 1.44.1 (24-Mar-2018) /dev/sdc2 上的文件系统已被挂载于 /media/lixinxing/57f8f4bc-abf4-655f-bf67-946fc0f9f25b;需要进行在线调整大小 old_desc_blocks = 1, new_desc_blocks = 1 resize2fs: 无效的参数 检查是否支持在线调整文件系统大小时 lixinxing@li:~$ umount /dev/sdc2 lixinxing@li:~$ sudo resize2fs /dev/sdc2 resize2fs 1.44.1 (24-Mar-2018) 请先运行“e2fsck -f /dev/sdc2”。 lixinxing@li:~$ sudo e2fsck /dev/sdc2 e2fsck 1.44.1 (24-Mar-2018) 最后一个组的块位图未初始化。 处理? 是 第 1 步:检查inode、块和大小 第 2 步:检查目录结构 第 3 步:检查目录连接性 第 4 步:检查引用计数 第 5 步:检查组概要信息 块位图的差异: +(65536--66049) 处理? 是 /dev/sdc2:***** 文件系统已修改 ***** /dev/sdc2:1417/24576 文件(0.0% 为非连续的), 7480/98304 块 lixinxing@li:~$ sudo resize2fs /dev/sdc2 resize2fs 1.44.1 (24-Mar-2018) 将 /dev/sdc2 上的文件系统调整为 3882368 个块(每块 4k)。 /dev/sdc2 上的文件系统现在为 3882368 个块(每块 4k)。 lixinxing@li:~$