榨干小主机,all in one家庭软路由方案 篇三:PVE安装Win10与显卡直通,能当电脑用的虚拟化

本方案的亮点在于,普通的all in one 方案中,windows只能当一个后台服务使用,要用远程桌面进行控制,意思是你要用一台主机去控制一台主机,无法把虚拟机接hdmi连接显示器,

而本篇章内容是把这个Windows当独立的电脑使用,把键盘鼠标接到PVE主机即可当普通电脑使用。

1 申明

由于显卡直通,和你所使用的硬件息息相关,本篇章所使用的方法,在J4215和N4100 CPU ,搭配集显UHD600 成功,如果是与我相同的硬件,可以放心操作,如果是别的硬件,前面内容基本相同,但最后几步可能需要你再找找相关资料。

2 准备

2.1 环境准备

在开始搭建windows虚拟机前,需要确保你的PVE系统,以及网络能正常实用,可查看本系列教程的前两篇章。

2.2 设备连接

开始搭建windows虚拟机前,需要把设备按照下面方式进行连接,然后下面的内容,基本上全部都是在自己的操作电脑上完成的。

PVE安装Win10与显卡直通,能当电脑用的虚拟化

其目的就是能通过局域网访问PVE后台。

3 安装

3.1 安装准备

你需要准备好几个文件

  • windows系统安装ISO
  • 虚拟windows的驱动
  • 实体显卡驱动

上面三个文件中,前两个任何主机都可以通用,但是最后一个实体显卡驱动,就要根据自己all in one主机的硬件显卡型号来选择了,

下面懒人包提供的是N4100 或J4215 集显 UHD600能适合虚拟机直通的驱动版本。

懒人包下载

百度云:https://pan.baidu.com/s/1Ik2i34PJSupDXKDEMIEf4w 提取码:iqot

阿里云:https://www.aliyundrive.com/s/3JfmVEGa7Pz 提取码: l00f

3.2 上传镜像包

上传ISO镜像,这个安装包没什么特别的要求,只要不是极度精简就好了, 我用的是LTSC版本,你可以用我提供的懒人包

懒人包路径

All in one3. Windows 101. 系统安装包win10.iso

安装包1.88GB,

PVE安装Win10与显卡直通,能当电脑用的虚拟化

3.3 新建虚拟机

1. 安装windows之前,我们在PVE新建一个虚拟机,名称就写win10,其它默认;

PVE安装Win10与显卡直通,能当电脑用的虚拟化

2. 操作系统,我们选择上传的win10 ISO安装镜像,然后类别选择【Microsof windows】,其它默认;

PVE安装Win10与显卡直通,能当电脑用的虚拟化

3. 操作系统,都保持默认;

PVE安装Win10与显卡直通,能当电脑用的虚拟化

4. 硬盘,我们把总线/设备,改为【SATA】类型,磁盘大小就根据自己情况吧, 我选择了20G,因为是LTSC,算精简版,所以占用很少,我够在线看视频就够了;

特别说明

如果你需要使用我的懒人包显卡直通配置文件,请将硬盘设置为30G,以及要确保你的PVE 系统主机名是allinone,如果不是,请按照教程一步步操作,不要直接使用懒人包。

PVE安装Win10与显卡直通,能当电脑用的虚拟化

5. CPU 我们分配3核吧,免得跑应用占用太大,影响PVE系统,其它默认;

PVE安装Win10与显卡直通,能当电脑用的虚拟化

6. 内存卡我分配3GB,基本上LTSC版开机使用1GB多点,够用即可;

PVE安装Win10与显卡直通,能当电脑用的虚拟化

7. 最后网络,默认即可;

PVE安装Win10与显卡直通,能当电脑用的虚拟化

8. 确定无误后,新建这个虚拟机;

PVE安装Win10与显卡直通,能当电脑用的虚拟化

9. 来到win10虚拟机的控制台,然后启动,等待一会,就能看到熟悉的windows安装界面了;

PVE安装Win10与显卡直通,能当电脑用的虚拟化

PVE安装Win10与显卡直通,能当电脑用的虚拟化

11. 系统安装完成后,虚拟机会自动重启,在控制台就可以看到win10开机了,

  • 如果是用我提供的懒人包,在安装的时候,请选择管理员账号的版本;
  • 如果是自己下载的版本,那么开机的时候会提示新建账号,自己输入即可;

PVE安装Win10与显卡直通,能当电脑用的虚拟化

基本上到了复制安装文件后,就可以放下去 休息一下,等十几分钟回来就看到win10的桌面了。

3.5 初探系统

就是标准的windows操作系统,相信大家都很熟悉了,目前阶段要通过远程工具才能看到界面,我们后面会让它变成和我们实体电脑一样的接显示器使用,我们通过在PVE 的web端 ,可以打开虚拟机的控制台就能看到界面了。

PVE安装Win10与显卡直通,能当电脑用的虚拟化

4 基础配置

4.1 虚拟系统驱动

安装驱动是需要把驱动放到win系统,才能安装,这里包括两种驱动

  • 虚拟机通用驱动:我们通过ISO镜像虚拟机驱动包安装
  • 直通驱动:就是显卡,或者你需要直通硬件的实体驱动文件

首先我们安装虚拟机的基本驱动

虚拟驱动懒人包路径

All in one3. Windows 102. 虚拟驱动包virtio-win-0.1.208.iso

1. 首先,进入PVE管理后台,到local中,将iso文件上传到PVE 中的镜像模板中;

PVE安装Win10与显卡直通,能当电脑用的虚拟化

2. 然后,通过PVE虚拟机的设置,进入win10的虚拟机选项,硬件里面, 把光驱的ISO从原来的安装镜像,改成上传的虚拟机驱动包【virtio-win-0.1.208.iso】

PVE安装Win10与显卡直通,能当电脑用的虚拟化

2. 设置完成后,我们通过PVE 的控制台,可以进虚拟机进行操控,我们在win10系统界面里面,设备管理器中可以看到有两个设备不能识别,我们在无法识别的设备右键,

PVE安装Win10与显卡直通,能当电脑用的虚拟化

特别说明

  • 尽量使用chrome或EDGE浏览器,别的浏览器我不能保证能正常通过PVE的控制台操作windows界面;
  • 如果你是在办公室操作,刚好公司又有装深信服相关的管控工具,那么可能在控制台中是无法显示的,这个现象我当时琢磨了很久,后来深刻意识到用办公电脑不干公事是不对的,所以换了私人电脑后发现就解决了。PVE安装Win10与显卡直通,能当电脑用的虚拟化

PVE安装Win10与显卡直通,能当电脑用的虚拟化

3. 选择【更新驱动】,并选择浏览我的磁盘,然后选择光驱盘作为驱动的搜索目录,

4. 根据一样的方式把网卡,和PCI设备都安装驱动。

PVE安装Win10与显卡直通,能当电脑用的虚拟化

安装后,会看到一个【VirtlO Balloon Driver】的设置,就OK 了。

PVE安装Win10与显卡直通,能当电脑用的虚拟化

5. 驱动安装完毕后,就能看到网卡信息了, 如果你虚拟机内的软路由已经联网,那此时Win10系统也可以访问互联网了。

4.2 局域网访问

我们在系统安装完成后,如果每次访问windows都要通过PVE控制台,是非常麻烦的事情,那么我们需要脱离PVE后台来操作windows系统,有三种方法

  • 通过局域网远程访问操作
  • 通过显示屏作为实体电脑从操作
  • 通过远程外部网络访问(这种方式篇章暂时不实现)

局域网访问实现起来比较方便,只要windows系统连接到我们搭建的软路由ikuia网络中即可,不过也要对windows系统进行相关的配置才可以,如下

1. 首先开启系统的【远程桌面】功能,右键打开【属性】,然后拉到最下面,打开【远程桌面】,把功能打开;

PVE安装Win10与显卡直通,能当电脑用的虚拟化

2. 把系统的名称更改成自己能记住的,便于在局域网中查找

PVE安装Win10与显卡直通,能当电脑用的虚拟化

3. 然后打开ikuai的管理后台,找到我们命名后的windows主机,并记下IP;

PVE安装Win10与显卡直通,能当电脑用的虚拟化

4. 如果你担心下次开机后,windows主机的分配IP 就变了,每次都要查找,那么可以进入DHCP中把windows主机的IP进行静态绑定,固化这个IP ,那么以后设置的这个IP 就只会分配给windows系统了;

PVE安装Win10与显卡直通,能当电脑用的虚拟化

5. 记下windows主机的IP 后,我们还需要设置一下登录密码,右键【我的电脑】,进入【管理】,找到【本地账户】,然后在自己的登录账号设置密码即可;

PVE安装Win10与显卡直通,能当电脑用的虚拟化

  • 如果是用我提供的安装包并且选择了管理员版,那么账号是administrator;
  • 如果是自己新建的账号,那么这一步则可以忽略,因为新建账号的时候已经输入过一次密码了;

6. 完成上面几步后,就可以关闭PVE 的控制台了, 我们用自己操作电脑的【远程桌面连接】功能,输入虚拟机windows的IP即可登录访问;

PVE安装Win10与显卡直通,能当电脑用的虚拟化

5 显卡直通

显卡直通并不是每个人都需要,如果你没有需要把虚拟机当实体机器,作为播放器连接电视,或连接显示器当办公电脑使用的需要,请跳过,因为本系列教程最难的就是显卡直通。

虚拟机当实体机使用,意思就是把all in one主机当普通电脑,连接鼠标键盘,显示屏直接实用,用来办公,多媒体播放,玩游戏等,如果你是刚刚入门虚拟机可能不太了解为什么我会把显卡直通当作一个重点来说明,

那是因为正常情况,如果把windows系统搭建到虚拟机中,是无法输出视频到你的显示器的,意味着你需要用一台电脑,来操作虚拟机的界面,如果这台虚拟机是用来做后台服务运行的,那么没问题,因为不服务端的界面不需要经常操作,偶尔用远程桌面连接操作即可,

但是如果你希望这台虚拟机能代替你的办公电脑,那么一般的windows虚拟机搭建后就不适合了,

显卡直通,就很有效解决了这个问题,让你节约一台控制端的电脑,如果你的all in one主机是低功耗的,那么虚拟windows就可以一直依赖all in one 宿主机进行24小时开机。

大致原理和流程

  1. 最底层:打开主机Bios下的最底层直通开关VT-D;
  2. PVE系统层:打开PVE系统的IOMMU支持,大概意思是PVE系统级别的开关;
  3. PVE系统层:关闭PVE系统对显卡的调用,腾出来给虚拟机用;
  4. 虚拟机层:配置要用显卡的虚拟机,让他去调用显卡;
  5. 虚拟系统层:让Windows系统装上显卡的驱动,让虚拟机系统能调用下卡;

重点说明

  • 请看清楚下面的说明中,如果是带/结尾的路径,则是文件夹;
  • 如果不带/结尾的,则是一个没有后缀的文件;
  • 没有后缀的文件,都可以用文本打开,建议用notepad++,在懒人包中有提供 All in one3. Windows 104. notepad文本编辑工具

懒人包说明

All in one3. Windows 103. 显示直通配置文件

下面的操作我提供了我修改后的文件给懒人使用,但是其中由于每个人实用的all in one主机不同,所以有两组信息需要自己查询一下是否与我的匹配(J4215/N4100),如果一样的,则直接使用包替代即可,如果不同,请自己根据文中进行修改后再使用懒人包。

所以请认真查看教程。

5.1 虚拟机配置

要确保你的all in one 主机BIOS中的VTD直通功能打开,才能进行下面的操作,可以参考本系列第一篇PVE搭建的文章

1. 登录SFTP,找到这个文件和内容

/etc/default/grub, 这是一个文件,不是文件夹,并在里面找到GRUB_CMDLINE_LINUX_DEFAULT=”quiet” 这一行

将这一行替代成,目的是开启底层的硬件直通功能

GRUB_CMDLINE_LINUX_DEFAULT=”quiet intel_iommu=on iommu=pt video=efifb:off,vesafb:off”

如果是AMD的处理器是不一样的内容,注意

PVE安装Win10与显卡直通,能当电脑用的虚拟化

2. 添加完毕后,我们更新一下grub配置文件,通过SSH工具,输入命令行

update-grub

PVE安装Win10与显卡直通,能当电脑用的虚拟化

3. 然后找到配置文件

/etc/modules , 这是一个文件,不是文件夹

在结尾添加内容,打开pci硬件的直通

vfio

vfio_iommu_type1

vfio_pci

vfio_virqfd

PVE安装Win10与显卡直通,能当电脑用的虚拟化

4. 上述就完成了PVE层的PCI直通设置,加下来我们将PVE系统禁止加载显卡驱动,目的是不与需要显卡直通的虚拟机冲突争夺HDMI通道,找到这个路径

/etc/modprobe.d/ ,好像打开是空的,没关系

新建一个文件 blacklist.conf, 内容填写

blacklist snd_hda_intel

blacklist snd_hda_codec_hdmi

blacklist i915

PVE安装Win10与显卡直通,能当电脑用的虚拟化

5. 回到SSH, 输入命令,查找显卡的供应商ID和设备ID

lspci -n | grep -E “0300|0403”

PVE安装Win10与显卡直通,能当电脑用的虚拟化

返回命令中有两行信息是重要的,

00:02.0 0300: 8086:3185 (rev 03) , 这行是显卡,记住8086:3185这一段,

00:0e.0 0403: 8086:3198 (rev 03), 这行是声卡,记住8086:3198 这一段,

上述不同配置查找出来的ID可能不同,但是也在一样的段位中,记住图片中标记的两组信息。

6. 到SFTP上,找到目录,

/etc/modprobe.d/, 并在里面新建一个vfio.conf的文件

在内容里面填入

options vfio-pci ids=8086:3185,8086:3198

PVE安装Win10与显卡直通,能当电脑用的虚拟化

7. 完成上面的配置文件修改后,回到SSH, 输入命令让系统更新配置

update-initramfs -u

PVE安装Win10与显卡直通,能当电脑用的虚拟化

8. 接着,我们通过命令重启一下设备

reboot

重启的过程中,我们观察一下主机输出的HDMID显示,如果看上去卡着不动,无法进入到PVE 的登陆命令行界面,表示你禁用显卡成功了, 可以继续下面的操作,

如果会显示输入命令行的界面,那就表示没有成功禁用显卡,还需要回炉重来。

PVE安装Win10与显卡直通,能当电脑用的虚拟化

9. PVE重启后,我们来验证一下PVE层的显卡直通是否已经开启,在SSH输入命令

lsmod | grep vfio

如果你是将all in one 作为路由使用了,那么重启后可能会需要等一下才能连接PVE,因为软路由开机需要一些时间。

如果出现回调这样类似的信息,表示成功了

vfio_pci 57344 0

vfio_virqfd 16384 1 vfio_pci

irqbypass 16384 12 vfio_pci,kvm

vfio_iommu_type1 36864 0

vfio 36864 2 vfio_iommu_type1,vfio_pci

PVE安装Win10与显卡直通,能当电脑用的虚拟化

上述就完成了对PVE系统的显卡直通配置,但是,还没结束。

5.2 Windows虚拟机显卡直通设置

一定一定,下面的操作要按照流程进行,如果顺序错了,可能导致windows系统反复无法启动的死循环,如果出现这种情况,请回炉重造。

1. 回到PVE控制面板,找到Windows的虚拟机,先将其关机,然后在硬件中,添加PCI设置, 找到你显卡的型号并添加即可,其它选项默认。

PVE安装Win10与显卡直通,能当电脑用的虚拟化

PVE安装Win10与显卡直通,能当电脑用的虚拟化

2. 完成添加PCI 的显卡后,我们启动虚拟机

这时候,你的win10虚拟机是能启动的,如果提示错误启动不了,就是上述的操作某项没有做对,回炉重来吧

大家可以留意PVE控制面板底部的任务状态,会写明是否启动成功,以及失败的原因

PVE安装Win10与显卡直通,能当电脑用的虚拟化

3. 接下来我们做最后一步,就是让windos具有驱动显卡的能力,主要是安装驱动

进入到windows界面,打开【设备管理器】,最下面的显示适配器中,可以看到有两个显卡

  • 1是虚拟机的显卡,能远程方式即表示正常
  • 2是实体显卡,因为没有驱动,所以有感叹号

PVE安装Win10与显卡直通,能当电脑用的虚拟化

4. 这时候我们需要先将下载好的驱动,放到虚拟机中,可以用最笨的方法,U盘,如果你用远程桌面,可以直接复制粘贴;

如果用U盘的话,可以先添加U盘直通,步骤如下:

先将U盘插入PVE主机,然后在虚拟机硬件设置中,添加USB设备,选择最后一项直通,选择对应的U盘即可

PVE安装Win10与显卡直通,能当电脑用的虚拟化

如果是用远程桌面,那么直接再自己的操作电脑右键复制,然后到远程桌面里面的虚拟机上粘贴即可h

5. 将驱动文件夹,复制到方便查找的地方,然后在设备管理器中,右键更新驱动,选择刚刚复制的驱动文件夹就会自动安装了,安装时间比较久,耐心等待吧。

PVE安装Win10与显卡直通,能当电脑用的虚拟化

6. 安装成功了,但还差最最最后一步,先别高兴太早

PVE安装Win10与显卡直通,能当电脑用的虚拟化

关于win10自动安装显卡驱动

其实win10有一个比较好的地方,就是会自动安装确实的驱动,如果你不进行上面显卡的驱动安装,其实放一会儿,系统会为你自动安装上驱动了,不过系统自动安装的驱动不一定是全功能,也不一定能支持到显卡直通出来显示。

在本篇章编写的过程,就因为哄孩子睡觉,放着系统一个小时,回来发现系统已经自动下载安装驱动,自动安装后虽然设备管理能正确显示显卡型号,但是任务管理器中的性能无法显示GPU ,这种情况只能在设备管理器中,卸载掉显卡,然后再扫描一次硬件后,重新手动安装驱动。

注意事项

如果你是使用远程桌面安装驱动的,那么在设备管理中,会出现远程桌面的显示驱动,不用理会

PVE安装Win10与显卡直通,能当电脑用的虚拟化

7. 先检验一下,通过远程的方式,虚拟机显示界面上上,显示是否正常驱动,有两个位置可以检测显卡是否正常调用

  • 设备管理器,能看到显卡的正确型号,并且没有感叹号;
  • 任务管理器,在性能左侧,能看到GPU 的栏目;

PVE安装Win10与显卡直通,能当电脑用的虚拟化

需要符合上述两个条件,才算是虚拟机正确调用显卡驱动

最后,最后,还要配置一下 最关键的显卡直通参数

8. 先将虚拟机windows关机,然后将虚拟机硬件的硬件进行修改

  • 将显示器 修改成 【无】 ,这个目的是避免windows输出的画面与远程画面冲突,如果不选这个,虚拟机启动会报错
  • 将刚刚添加的PCI 显卡设备,进行删除

不要怀疑,就这么操作,删除显卡,是因为后面要通过配置的方式,将显示直通配置指向一个文件,是因为PVE原生的直通无法支持,我看过一些教程,通过配置就可以成功,但是在我的N4100 和 UHD600 平台上, 只能通过指定的配置文件才能成功,

PVE安装Win10与显卡直通,能当电脑用的虚拟化

重点说明

因为显卡直通和硬件有关系,本篇章的硬件是再J4215 和 N4100中成功过,其它硬件的我不确保按照此方法一定成功,我看网上别人的教程是不同配置的,方式到了这一步之后就有点不同。

9. 我们来到SFTP,将igpu.bin上传到PVE系统, 我上传的路径是

/root/ , 因为这个是我们登录后的默认路径。

懒人包路径

All in one3. Windows 10显卡直通配置文件root

路径,可以自己选择,但是后面的配置指向要记得改

10. 然后通过SFTP ,打开路径

/etc/pve/qemu-server/ , 找到里面对于windows系统的虚拟机ID,

这里说明一下这里路径,其中给你qemu-server不是一个真实路径,而是一个快捷方式,属于变量,那么这个变量就是你安装PVE系统时给系统命名的名称,比如我设置的是allinone.com, 那么这个变量所映射的实际就是allinone的文件夹。

如果用我提供的懒人包的替代文件,主机名称不是allinone的,请自己找到这个路径,把conf文件进行修改替代。

我的windows虚拟机ID是101, 所以找到101.conf这个配置文件,打开这个文件,顶部添加一段代码让直通输出使用指定的配置文件

args: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1,romfile=/root/igpu.bin

11. 完成, 给虚拟机直通USB的键盘鼠标后,还有PCI 的音频设备,接上显示器,启动虚拟机吧!

PVE安装Win10与显卡直通,能当电脑用的虚拟化

接入什么样的鼠标键盘看自己了, 我只是当作多媒体播放,就是HTPC,所以装了一个2.4G的 小巧鼠标键盘一体式。

虚拟机添加USB设备直通的顺序是

  1. 将USB设备插入到all in one主机中(主机不用关机,虚拟机也不用关机);
  2. 到虚拟机的硬件中,添加USB设备,选择【使用USB端口】;
  3. 这个时候应该能读取到你的USB设备,并选择,确定;
  4. 然后就能实用了

注意:添加的USB设备,是支持热插拔的,但是不能换USB口,下次开机启动,也能正常识别,不用重新设置。

12. 开机后,就能直接通过显示器,看到虚拟机中的内容了;

左侧是我用来测试的小屏幕左侧是我用来测试的小屏幕

左侧是我用来测试的小屏幕

开机后通过鼠标键盘控制,可以打开bilibili在线看看视频,测试1080P视频在线看没压力,得益于HD600显卡,比较轻松。

测试播放bilibili的风光片测试播放bilibili的风光片

测试播放bilibili的风光片

具体的性能,要看你的主机配置了,不建议安装那些客户端,因为比较占用资源,用在线,或者下载好的文件播放比较合适。

6. 其它

上面完成了安装windows系统,以及显卡直通,不过最后要在日常正常使用还需要进行基础修改

  • 修改电源管理中的显示器关闭时间, 我直接取消了关闭屏幕;
  • 修改电源管理中,设备进入睡眠的时间, 我也是取消了进入睡眠,因为通过直通的鼠标无法唤醒,要重新开机;

根据实际使用场景,合理配置加大硬盘空间;

因为内容比较简单,就不在这里细讲了。

上面就是本篇章的全部内容,今天主要讲解了

  • windows虚拟机的安装;
  • 如何在局域网中控制虚拟机;
  • 显卡直通输出画面到显示器;
  • USB设置直通;

最后唠叨一下,直通显卡其实不难,完成驱动安装后就能调用显卡的性能了,但难就难在hdmi的画面实体输出

搞不好也会出现蓝屏,花屏

如果是n4100,j4215,直接无脑抄作业就行,我是研究了非常久才弄好的。

搞不好的,会导致驱动蓝屏搞不好的,会导致驱动蓝屏

搞不好的,会导致驱动蓝屏

windows虚拟机显卡直通输出使用小结

  • 显卡直通输出,并不会导致all in one主机性能下降,原来不直通是怎么样的,还是一样,不会增加CPU负担;
  • 显卡输出画面,会增加功耗,大概增加1W左右;
  • windows系统虚拟机感觉比较吃内存,开机后就需要占用设定的内容,但实际并没有完全使用,不想别的虚拟机都是动态的,所以看到windows启动后宿主机内存占用大,不要慌张;
  • 个人使用感觉windows并不需要24小时开机,所以我都是通过定时任务来开关机win10系统虚拟机,具体方法可以看第一篇PVE的环境搭建有说明;
  • windows系统的好处确实比较贴近我们平时系统操作的应用,可以安装百度云等下载工具,也可以当多媒体播放器,这个具体看个人的实用需求,买个比较好的飞鼠,当个媒体播放器还是挺不错的;
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容