type
status
date
slug
summary
tags
category
icon
password
在VMware虚拟机上安装OpenWRT的教程网上有很多,但要么关键细节没有提到,要么只教安装上去而不教安装后如何设置上网。如果你跟着我以下步骤走,大概率能够让你成功安装运行OpenWRT并配置上网。
在VMware虚拟机中安装原生OpenWRT的步骤主要包括:
- 下载OpenWRT固件镜像
- 下载starwind转换工具,将固件镜像img格式转换成vmdk格式的虚拟磁盘文件
- 在VMware中新建空虚拟机
- 在空虚拟机中加载转换好的vmdk文件并设置网卡
- 首次配置OpenWRT的/etc/config/network网络文件
- 扩容根文件系统
使用以下方法安装原生
OpenWRT
,同样的方法也可以安装ImmortalWRT
和iStoreOS
,因为他们都是OpenWRT的分支。一、下载OpenWRT固件镜像
- 进入OpenWRT 官方网
https://openwrt.org/
,找到当前最新稳定版【Current stable series】→【All firmware images】→【X86】→【64】→【generic-ext4-combined-efi.img.gz】,下载第一个版本。




- 下载完成后,将
.gz
文件解压出来,解压缩后是.img
格式。
二、下载starwind转换工具
- 如果进入starwind官网下载starwindconverte需要注册才行,这里直接给出官方下载连接,
https://www.starwindsoftware.com/tmplink/starwindconverter.exe
,点击下载并安装后,直接启动。
- 双击运行StarWind V2V Converter

- 选择【Local file】,并点击【Next】

- 选择【File name】,选择解压缩好
.img
格式的OpenWRT固件,并点击【Next】

- 选择【Local file】,并点击【Next】

6、直接点击【Next】

- 直接点击【Next】

- 直接点击【Next】

- 转换完成,并点击【Finish】

三、在VMware中新建空虚拟机
- 点击【创建新的虚拟机】

- 默认【典型】 并点击【下一步】

- 点击【稍后安装操作系统】 并点击【下一步】

- 点击【Linux】版本选择【其他Linux 5.X】 并点击【下一步】

- 输入【虚拟机名称】,设定虚拟机的【位置】(可保持默认) 并点击【下一步】

- 设置【磁盘大小】(8G足够) 并点击【下一步】

- 点击【完成】

四、在空虚拟机中加载转换好的vmdk文件并设置网卡
- 点击【编辑虚拟机设置】

- 点击【添加】

- 点击【硬盘】 并点击【下一步】

- 默认【推荐】 并点击【下一步】

- 点击【使用现有虚拟磁盘】 并点击【下一步】

- 点击【浏览】 并点击【完成】

- 点击【保持现有格式】

- 点击此前新建的【硬盘SCSI】8GB,点击【移除】。但保留【新硬盘SCSI】.

- 点击【网络适配器】 并点击【桥接模式】

- 进入【选项】,选中【高级】,固件类型选择【UEFI(E)】,点击【确定】

10.启动虚拟机




- 完成跑马之后,按
Enter回车键
,就可以进入命令行。

五、首次配置OpenWRT的/etc/config/network网络文件
- 在Windows命令窗口中输入
ipconfig
命令,查看局域网IPv4网关。我的是192.168.6.1

- 在OpenWRT的命令行中输入
vi /etc/config/network


- 在出现的界面中按下键盘的【i】可进行编辑,目前只需要编
lan
接口的信息,需要按照物理机的网络信息编辑。
option ipaddr
:修改ip地址为电脑所在网关内的唯一地址,我这里设置为192.168.6.97
option netMask
:子网掩码,保持255.255.255.0
option gateway
:手敲网关192.168.6.1
option dns
: 手敲DNS服务器地址114.114.114.114 8.8.8.8
编辑完以先后按【esc】,再输入【:wq】,再回车即可保存。

- 输入reboot命令重启系统
- 重启之后通过ping命令检测是否上网成功。如果解析并返回数据包,则说明OpenWRT可以正常上网了。

- 登录OpenWRT
打开浏览器,输入管理地址 ,我设置的为【192.168.6.97】
账号:root
密码:无密码


- OpenWrt 默认是英文界面,但它支持中文语言包,可以手动安装中文界面。
- 点击顶部菜单的
System
→Software
。
- 点击
Update lists
按钮,等待列表更新。
- 在 Filter 搜索栏输入:
luci-i18n-base-zh-cn
- 找到后点击右边的
Install
。
- 安装完成后,刷新网页,界面就变成中文了。
演示如下:






六、扩容根文件系统
所加载vmdk磁盘文件其实只有120M,那么在后续安装插件时,可能会有类似以下提示:
那么这里就涉及到一个扩容的问题,而且建议在安装好OpenWRT后马上做扩容,因为的安装完成后,根文件系统
/
是直接挂载在 /dev/root
上,并且是 ext4 类型(/dev/root on / type ext4
)。没有使用 overlay(没有 /overlay
、也没有 squashfs
),所以可以直接扩容根文件系统。- 在 VMware 扩展虚拟磁盘容量
【编辑虚拟机】→【虚拟机设置】→【硬盘】→【扩容】,我这里设置为1.5GB

- 安装工具
在OpenWRT命令行界面逐条通过以下命令安装相关插件。
- 分别使用
fdisk -l
和df -h
命令查看空间情况


细心的你可能发现了问题:为什么
df -h
和 fdisk -l
查出的磁盘信息不一样?
这是因为:*df -h**
统计的是「已挂载的文件系统使用情况」
*fdisk -l**
显示的是「实际磁盘的物理分区结构」
它们关注的是不同维度的信息,所以结果不完全一致是正常的。
/dev/root
:表示当前根文件系统,其实是/dev/sda2
映射来的,但名字不是实际设备名。
/dev/sda1
:16MB 的/boot
分区。
- tmpfs 是内存盘,不是磁盘。
细心的你可能又发现了问题:为什么
/dev/root
和/dev/sda2
的大小不一致?这是因为:
df -h 看到的是 文件系统的可用空间,而fdisk -l
看到的是 分区的原始物理大小,中间还有格式化和文件系统元数据占用的空间差异。
- 用
fdisk
或parted
重新划分sda2
分区,让它使用整个磁盘空间
🛠️ 操作步骤
第一步:确认当前磁盘结构

你已经看到
/dev/sda2
是:磁盘空间是 1.5G(3145728 sectors),说明后面还有很多空余空间没用上!
第二步:使用 fdisk
删除并重建 sda2
分区(⚠️ 不会丢数据)
- 运行:

- 输入
⚠️ 只要起始位置保持不变(33280),数据是不会丢的!

第三步:重启虚拟机
运行:
让内核重新识别分区表。
第四步:再次扩展文件系统
重启后,再运行:
第五步:确认结果
你将会看到
/
分区(即 /dev/root
)的大小从 98MB 变成了 1.4GB 左右 🎉🔚 总结
状态 | 原因 | 解决办法 |
resize2fs 无法扩展 | 分区大小没变 | 用 fdisk 删除并重建 sda2 分区(不改起始扇区) |
七、另附
ImmortalWrt下载地址:
iStoreOS下载地址:
- 作者:ThinkXYZ
- 链接:http://thinkxyz.top/article/%E5%9C%A8VMware%E8%99%9A%E6%8B%9F%E6%9C%BA%E4%B8%AD%E5%AE%89%E8%A3%85%E5%8E%9F%E7%94%9FOpenWRT
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。