1、下载openwrt镜像
Index of /releases/22.03.5/targets/x86/64/

2、转换img为vmdk
利用linux的qemu-img来转化,windows也有类似的工具,命令如下,-O要大写
qemu-img convert -f raw openwrt.img -O vmdk openwrt.vmdk
2.1 转换vmdk为精简置备的硬盘【可选】
[转]OpenWRT镜像:将img转换为vmdk,并在ESXi6.7上安装(需二次转换) – 武汉周杰
如果不转换的话是无法直接用scsi来挂载,只能用ide来挂载,同时,对快照不友好,删除快照后会有碎片文件。
这一步需要将2生成的vmdk上传到esxi的系统里,通过esxi图形界面可以上传文件。

vmkfstools -i openwrt.vmdk -d thin openwrt_lan.vmdk
- 转换命令vmkfstools参数
- -i 参数为源文件
- -d参数为vmdk磁盘存储方式(精简置备thin,厚置备延迟清零zeroedthick,厚置备立即清零eagerzeroedthick,参考官方详解)
- 此处以源文件 openwrt.vmdk,输出文件 openwrt_lan.vmdk(精简置备)为例
- *个人更建议直接厚置备立即置零,openwrt镜像也不大,理论上来说厚置备立即置零性能会好一丢丢
vmkfstools -i openwrt.vmdk -d thin openwrt_lan.vmdk
3、openwrt硬盘扩容
3.1 新建一个空白的vmdk新硬盘,或者利用2.1生成的硬盘

在esxi新建一个空白的虚拟机。
新建空白盘可以默认配置,大小选择自己想要的大小;如果是2.1生成的硬盘,直接改图示的硬盘大小到自己想要的大小
3.2 启动SystemRescue
虽然官方论坛建议了systemrescue,其实用任意支持Gparted的linux系统都可以完成。
如果是新的空白盘,请用dd将2生成的vmdk拷贝到新生成的硬盘。
dd if=/dev/sda of=/dev/sdb
3.3 Gparted调整分区大小
输入startx启动图形界面
启用gparted,在system文件夹里
一开始进入,选择fix

选中新生成的硬盘。

将rootfs拉伸至最大。

点击执行,将操作写到硬盘

4、将硬盘拷贝并挂载到openwrt的虚拟机里
注意,如果是esxi图形界面移动vmdk,需要移动两次,还有一个-flat.vmdk的文件需要移动,这个是真正的存储文件。
开机执行吧,注意,如果是局域网,请输入fw3/fw4 stop来允许网页配置,配置好之后再打开防火墙,否则默认无法访问