需求
在raspberry pi上跑openwrt的时候,需要把系统烧写到TF卡上,但如果TF卡比较大,就会比较浪费,因为openwrt的镜像默认rootfs分区只有不到60MB,而且在TF卡比较大的时候resize2fs会出现问题,比如我的32G卡就会出现问题,经过一系列的查找、验证得出下列解决办法。
正常扩展方法
在ubuntu终端下获取root权限
sudo -s
确定你新挂上去的磁盘文件对应的设备名是什么,我的是/dev/sda
修改磁盘分区
fdisk /dev/sda
p
查询到对应的磁盘分区表信息,里面的sda2中start信息需要记住!!!9216!!!
在fdisk中将原有第二个分区删掉
d [enter]
2 [enter]
在fdisk中重新创建第二分区,按w保存退出
n [enter]
p [enter]
2 [enter]
9216 [enter]
[enter]
w [enter]
使用resize2fs修改分区
resize2fs /dev/sda2
但是大容量TF卡在resize2fs的时候会遇到问题。
解决方案一
在resize2fs之前先使用e2fsck修复
e2fsck -f /dev/sda2
resize2fs /dev/sda2
解决方案二
有时候在resize2fs的时候,会出现如下之类的错误
resize2fs: Operation not permitted While trying to add group #6656”
这个问题是由于文件系统预留的Journal size太小导致,Journal size大小默认由e2fsprogs工具自动根据文件系统大小来计算,也可以人为指定。
删除现有Journal空间,重新创建一个新的Journal来解决这个问题。
umount /dev/sda2
e2fsck -C 0 /dev/sda2
tune2fs -O ^has_journal /dev/sda2
tune2fs -j /dev/sda2
e2fsck -C 0 /dev/sda2
上述操作结束后,再用fdisk、resize2fs的一系列操作,重新扩展全盘就OK了。
---------------------
作者:6Bit
来源:CSDN
原文:https://blog.csdn.net/llq6llq/article/details/48683429
版权声明:本文为博主原创文章,转载请附上博文链接!