前言
前一篇讲述了 windows server 安装 i225/i226 网卡驱动,本篇来聊下 hyper-v 安装 openwrt。
开启 hyper-v
默认情况下 hyper-v 是未打开的,需要手动打开此功能。开启过程如下:
- 打开服务器管理器
- 点击右上角的添加角色和功能
- 选择基于角色的安装
- 选择自己的服务器
- 选中 hyper-v
- 然后一路下一步即可,重启后即可在 windows 管理工具中看到 hyper-v 管理器
安装 openwrt
- 下载镜像 下载 openwrt 镜像可以在恩山或者 github 中找。
- 处理镜像 这里需注意,通常下载下来的镜像都是 img 格式的,hyper-v 不支持,需要用一个转换软件StarWind V2V Image Converter来将 img 转为 hyper-v 支持的格式
- 安装 在 hyper-v 中创建一个 2 代虚拟机,命名为 openwrt,不创建磁盘,不添加网卡,创建完毕后不要启动.然后使用上面的转换软件转换 img 并将目标设置为刚刚建立的 openwrt.
- 配置 openwrt
- 关闭安全启动
- 自动停止操作设置为强行关闭虚拟机,否则无法直通网卡
网卡直通
找到待直通网卡的 id
打开设备管理器,右键网卡属性,详细信息,位置路径。复制第一行的值保存下来
重复此操作,获取所有直通网卡的位置路径
卸载网卡
需要先从 windows 中卸载此设备,然后才能直通给 openwrt。
首先在设备管理器中右键网卡,禁用设备
然后输入以下命令卸载网卡:
Dismount-VmHostAssignableDevice -locationpath "PCIROOT(0)#PCI(1C07)#PCI(0000)" -force
其中PCIROOT(0)#PCI(1C07)#PCI(0000)
为上一步获取到的网卡路径
重复此操作直到所有需要直通的网卡都被卸载
直通给 openwrt
输入如下命令将网卡直通给虚拟机,命令如下:
Add-VMAssignableDevice -LocationPath "PCIROOT(0)#PCI(1C07)#PCI(0000)" -VMName openwrt
其中PCIROOT(0)#PCI(1C07)#PCI(0000)
为之前获取到的网卡路径,openwrt
为虚拟机名
取消直通命令如下:
Remove-VMAssignableDevice -LocationPath "PCIROOT(0)#PCI(1C07)#PCI(0000)" -VMName openwrt
查询虚拟机下直通的设备
Get-VMAssignableDevice -VMName openwrt
然后启动虚拟机即可
小技巧,直通全部网卡到 openwrt 中
windows 可通过创建内部虚拟交换机,并添加虚拟网卡到 openwrt 中,然后在 openwrt 中将此网卡添加到 lan 上。
然后 windows 宿主机可通过此虚拟网卡获取到 ip,后续局域网内通过此 ip 进行访问,就不在需要物理网卡了,可将全部网卡直通给 openwrt。
注意,需要打开虚拟网卡-高级设置中的 mac 欺骗,否则宿主机无法获取 ip
后期
之前一直瞧不上 hyper-v,现在试了下还挺香的,物理 windows 环境还可以做很多其他的事情,比如 htpc 之类的。