Marco Nie - 2021年6月 https://blog.niekun.net/2021/06/ you are the company you keep... openwrt 扩展根目录空间 https://blog.niekun.net/archives/2321.html 2021-06-22T21:40:00+08:00 我在软路由上通过 esxi 安装了 openwrt 作为路由系统。虚拟机分配了 5 GB 作为存储空间,但是安装完成后通过命令查看发现系统识别到的空间只有很小:root@OpenWrt:~# df -h Filesystem Size Used Available Use% Mounted on /dev/root 252.0M 241.4M 5.5M 98% /rom tmpfs 496.5M 68.0K 496.4M 0% /tmp /dev/sda1 15.7M 3.8M 11.6M 25% /boot /dev/sda1 15.7M 3.8M 11.6M 25% /boot tmpfs 512.0K 0 512.0K 0% /dev其中 /dev/root 是系统固件目录,不用考虑。/dev/sda* 就是系统实际可用的硬盘空间。我明明分配了 5 GB 空间给 openwrt 但是由于系统分区是在下载的固件中定义好的,所以其余空间就没有被识别。由于默认存储空间过小,当安装了过多的插件后,会提示空间不足导致无法安装更多插件:verify_pkg_installable: Only have 0kb available on filesystem /overlay, pkg luci-app-openvpn needs 9 opkg_install_cmd: Cannot install package luci-app-openvpn下面介绍如何将剩余空间挂在到 openwrt 中。首先安装需要的插件,注意顺序不能错:opkg update opkg install block-mount e2fsprogs opkg update opkg install fdisk blkid然后配置存储空间,注意 fdisk 指令后的几个选项:fdisk -l fdisk /dev/sda m n p <默认,回车> //–>分区号为3 <默认,回车> <默认,回车> w reboot重启后,格式化刚才建立的分区:mkfs.ext4 /dev/sda3 reboot重启后配置 fstab:uci add fstab mount # 将下面第一行命令输出的 UUID 替换第二行命令后的 UUID blkid -s UUID /dev/sda3 | cut -d\" -f2 uci set fstab.@mount[-1].uuid=UUID uci set fstab.@mount[-1].options=rw,sync,noatime uci set fstab.@mount[-1].fstype=ext4 uci set fstab.@mount[-1].enabled_fsck=1 uci set fstab.@mount[-1].enabled=1 uci set fstab.@mount[-1].target=/ uci set fstab.@mount[-1].device=/dev/sda3 uci commit fstab然后根目录复制到新的分区下:mkdir /mnt/sda3 mount /dev/sda3 /mnt/sda3 mkdir -p /tmp/cproot mount --bind / /tmp/cproot tar -C /tmp/cproot -cvf - . | tar -C /mnt/sda3 -xf - umount /tmp/cproot umount /mnt/sda3然后启用引导:/etc/init.d/fstab enable /etc/init.d/fstab start reboot重启后再次查看系统分区信息:root@OpenWrt:~# df -h Filesystem Size Used Available Use% Mounted on /dev/root 252.0M 241.4M 5.5M 98% /rom tmpfs 496.5M 1.0M 495.5M 0% /tmp /dev/sda3 4.6G 257.2M 4.1G 6% / /dev/sda1 15.7M 3.8M 11.6M 25% /boot /dev/sda1 15.7M 3.8M 11.6M 25% /boot tmpfs 512.0K 0 512.0K 0% /dev可以看到 sda3 分区已经正常挂载了,后续可以继续安装需要的各种插件了。参考链接Vmware下openwrt虚拟机扩展根目录大小