1. 为什么你的OpenWrt虚拟机总提示空间不足?
玩OpenWrt的朋友,尤其是喜欢在虚拟机里折腾的,估计都遇到过这个头疼的问题:系统盘空间太小,装几个插件就满了,系统日志动不动就报“No space left on device”。我自己刚开始用虚拟机跑OpenWrt时也踩过这个坑,原版镜像默认给的磁盘空间,对于爱折腾的人来说,简直就是“寸土寸金”。
这背后的核心原因,就在于OpenWrt的独特文件系统设计。我们通常下载的SquashFS格式的img镜像,它把系统分成了两个主要部分:一个是只读的/rom分区,里面是系统固件本身,不可更改;另一个就是可读写的/overlay分区,我们安装的软件包、修改的配置、产生的日志,全都存在这里。你可以把/rom想象成房子的主体结构(不能动),而/overlay就是你后来添置的家具和杂物(可以随意增减)。虚拟机默认分配的/overlay空间往往只有几十到一百多兆,对于现代插件动辄几兆甚至十几兆的体积来说,确实捉襟见肘。
所以,扩容/overlay就成了虚拟机环境下玩转OpenWrt的必修课。这不仅仅是解决“空间不足”的报错,更是为了让你能更自由地安装Docker、去广告插件、网络存储服务等“大块头”应用,把OpenWrt真正打造成一个功能强大的家庭网络中心。别担心,这个过程听起来有点技术含量,但跟着步骤一步步来,其实并不复杂。我下面要分享的两种方法,特别是第一种“添加新磁盘”,实测下来非常稳定,几乎适用于所有场景,也是我最推荐新手尝试的路径。
2. 准备工作:理清思路与必备工具
在动手之前,我们得先搞清楚自己要做什么,以及手头需要哪些“工具”。扩容/overlay,本质上就是为OpenWrt的可写数据区域找一个更大的“家”。这个新家可以是一块全新的虚拟硬盘(方式一),也可以是原有虚拟硬盘扩容后的空间(方式二)。我个人强烈推荐方式一:添加新磁盘,原因很简单:操作风险低,过程清晰,失败了也不影响原有系统,就像给电脑加装一块新硬盘一样安全。
无论选择哪种方式,准备工作都是通用的。首先,确保你的OpenWrt虚拟机已经启动并能正常访问。通常我们会通过SSH工具(如PuTTY、Termius)或者虚拟机平台自带的VNC/控制台来登录系统的命令行界面。登录后,你应该是root用户,拥有最高权限。
接下来,我们需要更新软件源并安装几个必要的工具包。OpenWrt的精简特性意味着很多常用命令默认并未安装。打开终端,依次执行以下命令:
opkg update
opkg install fdisk lsblk blkid e2fsprogs kmod-fs-ext4
我来解释一下这几个工具是干嘛用的:
fdisk:磁盘分区工具,用来给新硬盘“划地盘”。lsblk:以树状图列出所有块设备(硬盘、分区),让你一目了然当前系统的存储结构。blkid:查看磁盘和分区的唯一标识符(UUID),后面挂载全靠它,比用/dev/sdb1这种可能会变的设备名更可靠。e2fsprogs:包含了mkfs.ext4(格式化工具)和resize2fs(调整文件系统大小工具)等重要命令。kmod-fs-ext4:让系统支持读写ext4文件系统的内核模块。

1万+

被折叠的 条评论
为什么被折叠?



