让套娃来的更狠些吧~
之前看到这个dockur/windows项目感觉套娃很好玩,一开始只想着替代chrome
用
后来发现很多人其实有GPU需要,这个issues经过几个月的发展,现在看到意见完美解决了,特来走下流程
已经完美支持硬盘 网卡 显卡 USB设备
直通
题外话,另一个项目(virtual-dsm)[https://github.com/vdsm/virtual-dsm]也好玩的~
安装说明
勾选要直通的设备并重启
勾选PCI设备,例如SATA控制器/显卡/网卡等
安装WindowsinDocker
UNRAID应用市场搜索WindowsinDocker
安装
直通设备
添加设备,值中填入/dev/vfio
添加ARGUMENTS
变量 将要直通设备代码添加到值中
例如我要添加**虚拟声卡 显卡 网卡 UPS 隐藏虚拟化 **就要添加以下内容
需要注意的是,每一段都有空格,按自己需求增删套用
-device vfio-pci,host=01:00.0,multifunction=on -device vfio-pci,host=03:00.1,multifunction=on -device usb-host,vendorid=0x051d,productid=0x0002 -cpu host,-hypervisor,+kvm_pv_unhalt,+kvm_pv_eoi,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv_reset,hv_vpindex,hv_runtime,hv_relaxed,kvm=off,hv_vendor_id=intel
修改自动安装默认语言
添加LANGUAGE
变量 值中填入Chinese
使用自定义ISO镜像
修改默认Version
值为custom.iso
映射自定义ISO为custom.iso
小贴士
自动安装只支持原版ISO,第三方精简版无法使用自动安装
修改默认用户名密码
默认自动安装用户名为Docker
密码为空
添加USERNAME
跟PASSWORD
变量,值填入自定义用户名/密码
添加硬盘
通过lsblk
命令获取自己需要添加的硬盘
root@Tower:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 64.8M 1 loop /lib
loop1 7:1 0 355.2M 1 loop /usr
loop2 7:2 0 16G 0 loop /etc/libvirt
sda 8:0 1 28.7G 0 disk
└─sda1 8:1 1 28.7G 0 part /boot
sdb 8:16 0 9.1T 0 disk
└─sdb1 8:17 0 9.1T 0 part
sdc 8:32 0 931.5G 0 disk
└─sdc1 8:33 0 931.5G 0 part
sdd 8:48 0 447.1G 0 disk
md1p1 9:1 0 931.5G 0 md /var/lib/docker
/mnt/disk1
md3p1 9:3 0 9.1T 0 md /mnt/disk3
md5p1 9:5 0 931.5G 0 md /mnt/disk5
nvme0n1 259:0 0 931.5G 0 disk
└─nvme0n1p1 259:1 0 931.5G 0 part
例如我要添加的是sdd
就添加设备,填入/dev/sdd:/disk1
sdd
为我需要添加的硬盘
/disk1
123456按优先级依次引导,系统要安装在此硬盘就设置为1
默认占用全部空间,要D盘自动手动压缩下
更多说明看作者文档
添加共享目录
添加路径/mnt/user/shua/:/shared
/mnt/user/shua/
为UNRAID实际路径
可直接在网络
中名称为host.lan
的主机直接访问挂载的文件夹
直通相关说明
添加PCI设备
很简单,要什么就加什么
例如添加独显
如我的P4就一个01:00.0
那就加一个
-device vfio-pci,host=01:00.0,multifunction=on
正牌军有01:00.1
之类的就依次补全
-device vfio-pci,host=01:00.0,multifunction=on -device vfio-pci,host=01:00.1,multifunction=on
例如添加网卡
我只分配第二个网口
-device vfio-pci,host=03:00.1,multifunction=on
小贴士
如添加网卡后在容器中将网络类型
设置为无
则无法正常启动
如将虚拟网卡禁用 则host.lan
无法访问
添加usb设备
先添加设备,值中填入/dev/bus/usb
例如添加UPS
找到对应的ID代入即可
-device usb-host,vendorid=0x051d,productid=0x0002
添加虚拟声卡
如果你用RDP或者直通声卡插耳机那当我没说
如果是其他远程软件看片游戏之类😡会报错没有声卡,可以加一个虚拟声卡的代码凑活用,虽然会爆音
-device ich9-intel-hda -device hda-output -audio alsa
最好的的方法还是手动安装虚拟声卡软件virtual-surround-sound,支持7.1哦
禁用VNC
添加DISPLAY
变量,值为disabled
即可关闭VNC,这样8006
端口就无法用浏览器访问了
建议安装完远程软件后,留到最后一步禁用,洁癖...洁癖
隐藏虚拟化过检测
按需添加以下代码
-cpu host,-hypervisor,+kvm_pv_unhalt,+kvm_pv_eoi,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv_reset,hv_vpindex,hv_runtime,hv_relaxed,kvm=off,hv_vendor_id=intel
解释如下:
-cpu host: 使用宿主机的CPU配置。
-hypervisor: 禁用hypervisor特性。
+kvm_pv_unhalt: 启用KVM PV unhalt特性。
+kvm_pv_eoi: 启用KVM PV EOI特性。
hv_spinlocks=0x1fff: 设置spinlock计数器。
hv_vapic: 启用虚拟APIC。
hv_time: 启用Hyper-V时间。
hv_reset: 启用Hyper-V重置。
hv_vpindex: 启用虚拟处理器索引。
hv_runtime: 启用Hyper-V运行时。
hv_relaxed: 启用Hyper-V放松特性。
kvm=off: 禁用KVM。
hv_vendor_id=intel: 设置Hyper-V厂商ID为"intel"。