admin管理员组

文章数量:1530027

【虚拟化】AIO主机安装PVE8,配置网络,安装win11(virtio,qcow2,scsi,oobe,adk)

文章目录

      • 1、ESXI vs PVE,AIO主机系统二选一
      • 2、PVE网络配置(DNS,换源,网卡,https,概览)
      • 3、win11虚拟化配置(virtio,raw,qcow2)
      • 附,域名解析,rocky9.4,黑群晖

1、ESXI vs PVE,AIO主机系统二选一

ESXi与PVE对比 虚拟机怎么选

ESXI与螃蟹网卡

  • 其实最开始是想装esxi的,但是奈何螃蟹网卡实在操作不了(本来甚至想着手动找驱动自己用 esxcli 封装镜像,但是型号太小众,都没有找到合适的驱动)
  • 有个博主有很贵的封装版,都没有我的型号, 2, 3, 更多
  • realtek 8821CE, github找到俩通用linux驱动,但是也不知道带不带的起来,1, 2,果然这种商业化的虚拟化计算平台,驱动就是不好打,还是不如上开源的。。。

PVE安装

  • 2024年PVE8最新安装使用指南|新手入门|安装|优化
  • pve安装优化教程
  • pve安装openwrt

2、PVE网络配置(DNS,换源,网卡,https,概览)

PVE外网配置

  • 刚安装的PVE,无法ping外网ip(这里其实有个坑,不知道为啥我能访问百度但是ping不通,开始ping百度一直让我以为没网,然后ping qq其实就行了)引用

  • DNS设置
    阿里云公共的DNS,223.5.5.5,223.6.6.6
    DNS搜索域:DNS搜索域(Search Domain)是在DNS解析过程中使用的一项配置,它用于简化域名的输入。当用户在浏览器或其他客户端软件中输入一个不包含完整顶级域名(如、)的主机名时,DNS搜索域允许系统自动将这些域后缀添加到输入的主机名后面,以尝试完成域名的解析。
    手动编辑 /etc/resolv.conf 文件:这是Linux系统中用于指定DNS服务器的文件。你可以在这个文件中添加一个 search 行,后面跟上你想要使用的搜索域,用空格分隔。例如:
    search mydomain otherdomain
    nameserver 8.8.8.8
    这样配置后,如果你尝试访问 example,系统会尝试解析 example.mydomain 和 example.otherdomain。

  • ip route show
    这个命令用于显示当前系统的路由表。输出的信息包括:
    192.168.1.0/24 dev vmbr0 proto kernel scope link src 192.168.1.2:这是当前路由表中的一条记录,表示对于目的地在 192.168.1.0/24 这个子网(也就是 192.168.1.0 到 192.168.1.255)的数据包,将通过名为 vmbr0 的网络设备发送,源地址为 192.168.1.2。proto kernel 表示这是由内核自动生成的路由,scope link 表示这个路由是链路本地的,即只适用于直接连接的网络。

  • ip route add default via 192.168.1.3 dev vmbr0
    这个命令用于向路由表中添加一条新的默认路由。参数的含义如下:
    default:表示这是一个默认路由,用于所有不匹配任何其他更具体路由的目标地址。
    via 192.168.1.3:指定下一跳地址为 192.168.1.3,即所有目的地不直接连接到本机的数据包都将被发送到这个 IP 地址。这里假设 192.168.1.3 是路由器(如文中提到的 ROS,即路由操作系统)的 IP 地址。

  • ping baidu
    PING baidu (198.18.15.198) 56(84) bytes of data.
    为什么ping百度会被转发到这里
    1、DNS解析:系统首先会查询DNS服务器,将域名 baidu 解析为IP地址。这个解析过程可能涉及到本地DNS缓存、系统DNS解析器配置的DNS服务器,或者是递归查询多个DNS服务器。
    2、路由选择:一旦知道了目标IP地址,系统会查看路由表来决定如何将数据包发送到该地址。路由表中的条目会告诉系统使用哪个网络接口(例如 vmbr0)和下一跳地址(例如 192.168.1.3)来转发数据包。
    3、转发数据包:数据包通过指定的网络接口发送出去。在这个例子中,数据包被发送到了 198.18.15.198,这个IP地址是百度服务器的地址。

换源脚本 & 去除无效订阅源提示

  • wget -q -O /root/pve_source.tar.gz 'https://bbs.x86pi/file/topic/2023-11-28/file/01ac88d7d2b840cb88c15cb5e19d4305b2.gz' && tar zxvf /root/pve_source.tar.gz && /root/./pve_source
  • 来源
    危险操作之移除local-lvm已经手动操作完了(
    发现脚本还是不错的,挺多建议配置里都有


https证书自签等

3、win11虚拟化配置(virtio,raw,qcow2)

资料,, virto驱动下载1, 官方,win11官方

VirtiO虚拟化

  • VirtIO是一种I/O半虚拟化框架,它为Linux环境中的虚拟机提供了一套标准化的设备虚拟化接口。这种框架允许在半虚拟化环境中,如使用KVM、Xen或VMware等Hypervisor时,实现高效的I/O操作。VirtIO通过定义一组通用的设备抽象和API,使得在不同的虚拟化平台上能够重用驱动程序代码,从而提高了开发效率并减少了跨平台的兼容性问题。

  • VirtIO队列(Virtqueues):这是一个环形缓冲区,用于在前端驱动和后端设备之间传递数据。Virtqueues由描述符表、可用环(Available Ring)和已用环(Used Ring)组成,它们共同管理数据的传输和状态通知。

  • VirtIO驱动程序:在客户机操作系统中实现的前端驱动程序,它们与VirtIO设备进行交互,并通过Virtqueues与后端通信。

  • VirtIO设备:在Hypervisor中实现的后端设备,它们响应前端驱动的请求,并在宿主机上执行实际的I/O操作。

  • VirtIO规范:定义了VirtIO设备的行为、功能、通知、复位、配置空间等标准,确保了不同实现之间的兼容性。

QCOW2、RAW和VMDK是三种常见的虚拟硬盘(Virtual Hard Disk, VHD)格式,它们用于在虚拟化环境中存储虚拟机的文件系统和数据。每种格式都有其特定的特点和用途:

  1. QCOW2 (QEMU Copy-On-Write 2)

    • 开发方:由QEMU团队开发。
    • 特点:支持快照功能,允许创建虚拟硬盘的即时副本,而不需要复制整个磁盘内容。
    • 压缩:支持压缩,可以节省存储空间。
    • 性能:相比RAW格式,QCOW2在读写操作上有额外的开销,因为需要处理快照和压缩。
    • 兼容性:被QEMU和KVM等虚拟化软件广泛支持。
  2. RAW

    • 特点:也称为原生格式,它直接将虚拟硬盘存储为单个文件,没有额外的元数据或压缩。
    • 性能:通常提供最快的读写性能,因为它避免了QCOW2格式中的额外处理。
    • 灵活性:由于其简单性,RAW格式通常被认为是最灵活的虚拟硬盘格式,但它不支持快照。
    • 兼容性:被大多数虚拟化平台支持,包括QEMU/KVM、VMware和VirtualBox。
  3. VMDK (Virtual Machine Disk)

    • 开发方:由VMware开发。
    • 特点:VMware虚拟机专用的格式,支持快照、群集和其它VMware特有的功能。
    • 版本:有多个版本,如VMDK1、VMDK3、VMDK4、VMDK5和VMDK6。
    • 性能:性能与QCOW2类似,支持压缩和加密。
    • 兼容性:主要与VMware产品兼容,但也可以通过特定的工具或虚拟化软件转换为其他格式以增加兼容性。
  • 通常,QCOW2格式在QEMU/KVM环境中非常流行,因为它提供了一个很好的性能和功能的平衡,特别是在需要快照功能时。 而RAW格式则在需要最大化性能时被优先选择。VMDK格式主要用于VMware环境,但也可以转换为其他格式以在不同的虚拟化平台上使用。

SCSI控制器是一种用于管理和传输数据的硬件设备,它允许计算机与外部存储设备(如硬盘驱动器、扫描器和光驱)进行通信。在虚拟化环境中,SCSI控制器通常以虚拟的形式存在,使得虚拟机能够访问和使用存储资源。

  • VirtIO SCSI是一种高性能的虚拟SCSI控制器,它是VirtIO框架的一部分。VirtIO是一个标准化的半虚拟化驱动接口,用于提高虚拟机与宿主机之间的I/O性能。VirtIO SCSI控制器提供了以下优势:
  1. 接口类型

    • SCSI:是一种并行接口技术,最初设计用于连接和传输数据到硬盘驱动器、扫描器和其他类型的存储设备。SCSI接口支持多个设备连接到同一总线上,并且可以连接不同类型的设备。
    • SATA:是一种串行接口技术,主要用于连接硬盘和固态硬盘到计算机主板。SATA接口通常一次只能连接一个设备(点对点连接),虽然有些SATA扩展器可以允许多个设备共享一个SATA端口。
  2. 传输速度

    • SCSI:有多个版本,每个版本的传输速度不同。历史上,SCSI的传输速度通常比同期的IDE/SATA接口快,但现代SATA接口的传输速度已经赶上甚至超过了旧的SCSI接口。
    • SATA:也有多个版本,随着时间的推移,其传输速度不断增加。目前,SATA III(6 Gb/s)是较新的标准,提供了较高的数据传输速率。
  3. 拓扑结构

    • SCSI:支持更复杂的拓扑结构,如菊花链(daisy-chaining)和仲裁环(arbitrated loop),允许多个设备共享同一总线。
    • SATA:通常使用点对点拓扑结构,每个SATA端口只能连接一个设备,但通过使用交换机或多路复用器可以实现连接多个设备。
  4. 成本

    • SCSI:通常比SATA更昂贵,特别是在高性能应用中,如服务器和高端存储系统。
    • SATA:是一种成本较低的解决方案,广泛用于消费级和商用级存储设备
  5. 用途

    • SCSI:由于其高性能和多设备支持,SCSI通常用于服务器、高端工作站和存储区域网络(SAN)。
    • SATA:由于其成本效益和足够的性能,SATA广泛用于个人计算机、笔记本电脑和消费级存储设备。
  6. 热插拔

    • SCSI:支持热插拔,即可以在不重启系统的情况下添加或移除设备。
    • SATA:也支持热插拔,但在某些情况下可能需要额外的硬件或软件支持。
  7. 电源管理

    • SCSI:通常具有更先进的电源管理功能,可以更好地控制设备的能耗。
    • SATA:虽然也支持电源管理,但可能不如SCSI接口那样精细。
  • 随着技术的发展,SCSI接口在消费级市场已经被SATA和更现代的接口技术(如SAS和NVMe) 所取代,但在某些专业和高性能应用中仍然可以看到SCSI技术的身影。

  • M.2和SCSI是两种不同类型的存储接口,它们各自有不同的特点和适用场景。

  • M.2是一种物理接口形式,它支持两种不同的总线(传输通道):SATA和PCIe。M.2 SSD可以非常小巧,适合用于笔记本电脑或超薄设备中。M.2接口的SSD如果使用PCIe总线,并且采用NVMe协议,那么它将能够提供非常高的数据传输速度,远超过传统的SATA接口。NVMe协议是专门为SSD优化的,它能够减少数据传输的延迟,提高IOPS(每秒输入/输出操作数),从而提升整体性能。M.2 SSD通常用于需要高性能存储解决方案的场合,如高端游戏、专业应用和企业环境。

  • SCSI(Small Computer System Interface)是一种较早的接口技术,它既可以是物理接口,也可以是一套协议。SCSI接口最初设计用于连接高性能计算机系统中的外部设备,如硬盘驱动器、磁带驱动器、光盘驱动器等。SCSI接口支持多个设备的连接,并且提供了灵活的设备管理和较高的数据传输速率。SCSI接口在现代应用中已经较少见,它被更现代的接口如SAS(Serial Attached SCSI)和SATA所取代。

  • 总的来说,M.2 SSD通常用于需要便携性和高性能的场合,而SCSI接口则更多地应用于传统的、需要连接多个存储设备的服务器和工作站环境。 在选择存储解决方案时,需要根据具体的应用需求、预算和系统兼容性来决定使用哪种类型的存储设备。如果追求最高性能并且主板支持,M.2 NVMe SSD是一个非常好的选择。如果系统是基于较旧的平台或者预算有限,那么SCSI或SATA接口的存储设备可能更合适。

  • 类别选择host性能会好。

Virtio网络半虚拟化与全虚拟化的主要区别在于性能和实现方式。

  1. 全虚拟化

    • 在全虚拟化中,虚拟机管理程序(hypervisor)如QEMU会模拟整个物理设备,例如e1000网卡。
    • 虚拟机使用标准的设备驱动,例如e1000驱动,而QEMU提供仿真的e1000设备。
    • 这种方式的优点是虚拟机的内核不需要修改即可运行,因为仿真的设备都是标准的,内核已经支持的设备。
    • 缺点是效率较低,每次访问设备都需要进行虚拟机退出(vm_exit)和进入(vm_enter)操作,这会导致性能损失。
  2. 半虚拟化(Virtio)

    • Virtio通过定义一组标准的API接口,使得虚拟机可以高效地与虚拟化平台进行I/O操作。
    • 它使用前端驱动(在客户机操作系统中)和后端设备(在QEMU中)的架构,通过共享内存和环形缓冲区(vring)来实现高效的数据传输。
    • Virtio的前端驱动将操作系统特定的请求转换为virtio格式的消息,而后端设备则执行相反的操作。
    • 这种方式的优点是性能较好,因为它减少了虚拟机退出和进入的次数,通过共享内存和通知机制(kick和notify)来实现高效的数据传输。
    • 缺点是需要虚拟机中安装特定的Virtio驱动,以便知道它运行在虚拟化环境中,并按照Virtio的规定格式进行数据传输。
  • Virtio网络半虚拟化的性能通常优于全虚拟化,因为它减少了虚拟化层的干预,通过共享内存和高效的数据传输机制来提高I/O性能。然而,它需要虚拟机管理程序和虚拟机中的驱动程序支持Virtio标准。相比之下,全虚拟化不需要虚拟机中的特别驱动,但可能会因为频繁的上下文切换而导致性能下降。
  • 在实际应用中,如果性能是关键考虑因素,Virtio通常是首选,尤其是在需要大量I/O操作的场景中。如果环境不支持Virtio或者需要运行未经修改的旧操作系统,全虚拟化可能是唯一的选择

确认最终的配置(参考阿里云,腾讯云,2核4G服务器装windows,其实有点小吃力,但是勉强可以带得动,后面看情况加配置吧,毕竟小主机还得跑别的服务)

  • 点击下一步创建后,选择创建好的虚拟机,打开选项,设置 引导顺序,将Win11镜像放在第一个,virtio-win驱动镜像放在第二个。启动主机即可。

  • win11安装启动,通过vnc连接
    vnc介绍可以参考【运维】远程控制与访问的协议(域,工作组,RDP,ARD,VNC,SSH,SCP)和工具(DDNS,跳板机,堡垒机)

  • 在选择安装硬盘时,会出现没有硬盘可选的时候,只需要选择加载驱动程序,弹出框中选择打开virtio-win的镜像,找到vioscsi/win11/amd64目录,点击确认安装驱动就可以显示出硬盘了。



没有网络

  • shift+F10 打开CMD,然后运行oobe\BypassNRO.cmd即可,Windows会自动重启,重新开始设置Windows。
    Windows的OOBE(Out-of-Box Experience,开箱体验) 是用户在首次启动新购买的电脑或新安装Windows操作系统时遇到的一系列设置步骤。这个过程设计用于引导用户完成基本的系统设置,确保在开始使用之前配置好所有必要的选项。OOBE包括选择区域和语言、连接到网络、登录或创建用户账户、隐私设置、用户账户和安全设置以及同意许可协议等步骤。

  • OOBE的特点包括用户友好性、系统自定义、法律和安全要求以及即时更新和修补。例如,在Windows 10和Windows 11中,OOBE提供了更简洁和现代化的界面设计,支持触摸和桌面设备,并引入了Cortana语音助手以及更多的隐私设置选项。Windows 11进一步优化了用户体验,包括更直观的设置选项和个性化配置,以及引入了Windows Hello面部识别和指纹识别等生物识别技术的设置。

  • 管理员可以通过使用Unattend.xml配置文件来自定义OOBE设置,实现自动化安装过程的详细设置,包括自动设置用户账户、自动激活Windows、自动连接网络等。 此外,还可以使用sysprep命令准备Windows安装镜像,并自定义OOBE设置,以便在部署新计算机时快速应用相同的配置。

  • 在企业环境中,OOBE还可以通过Windows Configuration Designer工具来生成Unattend.xml文件,以自定义OOBE设置,包括用户账户、网络设置、应用程序安装等。(也就是windows的应答文件)

  • 总的来说,OOBE是Windows操作系统中的一个重要组成部分,它确保了用户在首次使用新设备时能够有一个流畅且安全的设置体验。

应答文件(Unattend.xml)在Windows操作系统的部署中扮演着重要角色,它允许系统管理员和IT专业人员自动化Windows安装过程中的用户交互部分。 通过应答文件,可以在没有人工干预的情况下完成Windows的安装和配置。

Windows ADK(评估和部署工具包)提供了一套工具,用于自定义和评估Windows操作系统的部署。其中包括Windows预安装环境(Windows PE)、部署工具、用户状态迁移工具(USMT)、批量激活管理工具(VAMT)、Windows性能工具包(WPT)、Windows评估工具包等。这些工具可以帮助创建应答文件,以及进行Windows映像的捕获、修改和管理。

在Windows安装过程中,应答文件中的设置可以在不同的配置阶段被应用,例如:

  1. windowsPE:在安装程序启动时,用于初始化Windows PE环境。
  2. offlineServicing:在安装映像应用更新和服务时使用。
  3. generalize:在准备将系统映像部署到多个计算机之前,用于使系统映像通用化。
  4. specialize:用于定义特定的计算机或用户设置。
  5. auditSystem:在系统启动后,但在用户登录前应用的设置。
  6. auditUser:在用户登录后应用的设置。
  7. oobeSystem:在首次启动(OOBE)过程中应用的设置,如用户账户创建、区域设置等。

应答文件的制作通常涉及以下步骤:

  1. 安装Windows ADK,特别是部署工具。
  2. 使用Windows系统映像管理器(SIM)或Windows映像和配置设计器(ICD)来创建应答文件。
  3. 定义应答文件中的设置,如区域设置、键盘布局、产品密钥、用户账户、网络设置等。
  4. 将应答文件部署到目标计算机上,以便在安装过程中使用。
  • 应答文件的使用可以显著提高Windows部署的效率和一致性,特别是在需要部署大量计算机的环境中。通过自动化安装过程,可以减少人为错误,确保所有计算机都按照统一的标准进行配置。

安装virtio-win驱动

  • 打开资源管理器,找到之前加入的virtio-win的镜像,打开后运行virtio-win-gt-x64.msi即可安装。

  • 这里qemu还是半虚拟化,redhat是全虚拟化,我没记错的话

    安装显卡驱动
    intel官方

    注意!vnc 不能复制粘贴传文件, 所以可以直接在虚拟机里下载(或者这里已经装好了,换rdp连也行)


    然后可以rdp登录,重新下载intel的显卡驱动并安装上去

  • 连接成功后,关闭win11虚拟机,需要重新设置一下核显。

  • 重新设置虚拟核显, 设置显卡为 无

    添加pci设备,和上面设置SRIOV核显时看到的一致,但是选择时不能选择0000:00:02.0,因为这是核显本体,一旦选择了核显本体,所有虚拟出来的核显都将失效,需要重新重启虚拟核显才行。所以只需要选择虚拟出来的02.1,02.2,02.3其中一个即可。
    删除已使用过的光驱(win11镜像和virtio-win驱动景象)

附,域名解析,rocky9.4,黑群晖

自动获取证书:1

群辉资料:1, 2, 3


本文标签: 主机网络AIOOOBEADK