温馨提示:
本文所述内容具有依赖性,可能因软硬条件不同而与预期有所差异,故请以实际为准,仅供参考。
安装 OpenWrt 官方固件时,默认分配的空间很小,22.03 版本大约就 4G 左右:
root@OpenWrt:~# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 102.3M 27.3M 73.0M 27% /
tmpfs 3.8G 328.0K 3.8G 0% /tmp
tmpfs 512.0K 0 512.0K 0% /dev
实际上软路由的硬盘空间很大,这就造成了浪费!并且默认大小,很难满足安装某些插件的硬盘大小需求,所以需要重新分配!
最简单的分配方法,就是将剩余空间直接利用起来,然后使用挂载点,将此空间直接分配给根目录。
1、创建新分区
SSH 终端运行 cfdisk
命令进入磁盘分区界面,通过键盘上下键切换到 Free space
(剩余空间),左右键切换至 NEW
(新增分区),然后按下回车键。
会自动计算剩余大小(Partition size),不用调整,直接按下回车键。
确认分区信息,没有问题就左右键切换至 Write
(写入分区表),按下回车键。
问你 Are you sure you want to write the partition table to disk?
,肯定是输入 yes
并回车了,然后 Quit
退出。
2、查看新分区
运行 fdisk -l
命令,查看是否成功创建新分区。
3、格式化新分区
运行 mkfs.ext4 /dev/sda4
命令,格式化成 ext4
格式,注意这里的 sda4
是我新建的,要按实际操作。
4、挂载新分区
进入 OpenWrt 管理后台,依次点击 系统 - 挂载点 找到并点击
全局设置中的 生成配置 。
在 挂载点 找到创建的新分区,点击 编辑。
勾选启用此挂载点,挂载点 选择为 作为根文件系统使用 ,然后会显示一堆命令,完整复制下来,点击 保存,然后保存并应用。
手动修改命令行中 mount /dev/sda1 /tmp/extroot
为 cfdisk
创建的新分区盘符,例如我这里应修改为 mount /dev/sda4 /tmp/extroot
,然后进入 SSH 终端,运行修改后的完整命令行,如下:
mkdir -p /tmp/introot
mkdir -p /tmp/extroot
mount --bind / /tmp/introot
mount /dev/sda4 /tmp/extroot # 修改后
tar -C /tmp/introot -cvf - . | tar -C /tmp/extroot -xf -
umount /tmp/introot
umount /tmp/extroot
回车键到底,直到跑完所有命令行。然后运行 reboot
重启 OpenWrt 即可。
5、查看分区
重新进入 SSH 终端运行 df -h
,可以看到空间已经变大了,表示扩容成功!
root@OpenWrt:~# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 102.3M 27.3M 73.0M 27% /rom
tmpfs 3.8G 56.0K 3.8G 0% /tmp
/dev/sda4 233.6G 27.3M 221.6G 0% /
tmpfs 512.0K 0 512.0K 0% /dev