Zenith Horizon

PVE AllinOne 折腾笔记 3

2026/03/20
loading

按照 飞牛--OpenWrt-Windows-Ubuntu 的顺序安装4个虚拟机。

1. 安装飞牛

由于要将5块机械硬盘Raid5直通飞牛,提供给整个系统作为存储池,所以先安装飞牛。

1.1 安装

飞牛虚拟机的具体安装过程很简单,不再赘述。下面贴出虚拟机配置:

boot: order=scsi0
cores: 4
cpu: host
cpuunits: 2048
hostpci0: 0000:00:02.0
ide2: none,media=cdrom
memory: 8192
meta: creation-qemu=10.1.2,ctime=1769233815
name: fn
net0: virtio=BC:24:11:E6:30:EA,bridge=vmbr0,firewall=1
numa: 0
onboot: 1
ostype: l26
sata0: /dev/disk/by-id/ata-ST6000NM0115-1YZ110_ZADAAKTD,backup=0,size=5860522584K
sata1: /dev/disk/by-id/ata-C400-MTFDDAK128MAM_0000000014190EA161C5,size=125034840K
sata2: /dev/disk/by-id/ata-WDC_WD60EJRX-89MP9Y1_WD-WX31D88FVSYP,backup=0,size=5860522584K
sata3: /dev/disk/by-id/ata-ST6000NM0115-1YZ110_ZADA9MDJ,backup=0,size=5860522584K
sata4: /dev/disk/by-id/ata-ST6000NM0065-1RM11C_ZA100031,backup=0,size=5860766016K
sata5: /dev/disk/by-id/ata-ST6000NM0115-1YZ110_ZADAAZ1W,backup=0,size=5860522584K
scsi0: local-lvm:vm-100-disk-0,iothread=1,size=32G
scsihw: virtio-scsi-single
smbios1: uuid=63dca4cb-ad4d-41a7-a1db-f3b6d5389b31
sockets: 1
tags: fn;vm
vga: virtio
vmgenid: 15e4d4a5-432f-4493-912d-1d1bd5f760c0
  • CPU 分配4核,host模式。

  • 内存 分配8G,基本够用。

  • 硬盘直通 120G SSD 2.5寸 用来建立存储空间1;直通 5块6T 3.5寸机械组建Raid5 用来建立存储空间2。这部分在下面详细介绍。

  • 直通核显给飞牛。下面详细介绍。

1.2 硬盘直通

查看并记录下来要直通的硬盘 ID。

ls -l /dev/disk/by-id/ | grep ata
lrwxrwxrwx 1 root root  9 Jan 28 06:00 ata-C400-MTFDDAK128MAM_0000000014190EA161C5 -> ../../sdb
lrwxrwxrwx 1 root root 10 Jan 28 06:00 ata-C400-MTFDDAK128MAM_0000000014190EA161C5-part1 -> ../../sdb1
lrwxrwxrwx 1 root root  9 Jan 28 06:00 ata-LITEON_CV5-8Q256_002732100HH4 -> ../../sdg
lrwxrwxrwx 1 root root 10 Jan 28 06:00 ata-LITEON_CV5-8Q256_002732100HH4-part1 -> ../../sdg1
lrwxrwxrwx 1 root root  9 Jan 28 06:00 ata-ST6000NM0065-1RM11C_ZA100031 -> ../../sdd
lrwxrwxrwx 1 root root 10 Jan 28 06:00 ata-ST6000NM0065-1RM11C_ZA100031-part1 -> ../../sdd1
lrwxrwxrwx 1 root root  9 Jan 28 06:00 ata-ST6000NM0115-1YZ110_ZADA9MDJ -> ../../sdc
lrwxrwxrwx 1 root root 10 Jan 28 06:00 ata-ST6000NM0115-1YZ110_ZADA9MDJ-part1 -> ../../sdc1
lrwxrwxrwx 1 root root  9 Jan 28 06:00 ata-ST6000NM0115-1YZ110_ZADAAKTD -> ../../sdf
lrwxrwxrwx 1 root root 10 Jan 28 06:00 ata-ST6000NM0115-1YZ110_ZADAAKTD-part1 -> ../../sdf1
lrwxrwxrwx 1 root root  9 Jan 28 06:00 ata-ST6000NM0115-1YZ110_ZADAAZ1W -> ../../sde
lrwxrwxrwx 1 root root 10 Jan 28 06:00 ata-ST6000NM0115-1YZ110_ZADAAZ1W-part1 -> ../../sde1
lrwxrwxrwx 1 root root  9 Jan 28 06:00 ata-WDC_WD60EJRX-89MP9Y1_WD-WX31D88FVSYP -> ../../sda
lrwxrwxrwx 1 root root 10 Jan 28 06:00 ata-WDC_WD60EJRX-89MP9Y1_WD-WX31D88FVSYP-part1 -> ../../sda1

其中以 ata 开头的即为要直通的6块sata硬盘(注意 sdg 是已经挂载的 USB 外接硬盘不直通),记录下来对应 ID,开始直通操作:

qm set 100 -sata0 /dev/disk/by-id/ata-ST6000NM0115-1YZ110_ZADAAKTD
qm set 100 -sata1 /dev/disk/by-id/ata-C400-MTFDDAK128MAM_0000000014190EA161C5
qm set 100 -sata2 /dev/disk/by-id/ata-WDC_WD60EJRX-89MP9Y1_WD-WX31D88FVSYP
qm set 100 -sata3 /dev/disk/by-id/ata-ST6000NM0115-1YZ110_ZADA9MDJ
qm set 100 -sata4 /dev/disk/by-id/ata-ST6000NM0065-1RM11C_ZA100031
qm set 100 -sata5 /dev/disk/by-id/ata-ST6000NM0115-1YZ110_ZADAAZ1W

如取消直通:

qm set 100 -sata0 none

下面就可以在飞牛中建立存储空间了,如图:

1.3 核显直通

之前用 PVE-Tools 脚本开启核显直通有点问题,最后还是看网上教程手动完成。

1.3.1 修改 grub 启动加载参数

​ vi /etc/default/grub​

找到 GRUB_CMDLINE_LINUX_DEFAULT​ 项,在默认的 quiet 后添加参数如下:

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifb:off"

更新 grub 配置生效

update-grub

1.3.2 添加模块

​ vi /etc/modules​

在文件末尾添加如下内容:

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
kvmgt

1.3.3 添加 pve 启动驱动加载黑名单

​ vi /etc/modprobe.d/pve-blacklist.conf​

在文件末尾添加如下内容:

blacklist i915
blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
options vfio_iommu_type1 allow_unsafe_interrupts=1

1.3.4 更新内核

update-initramfs -k all -u

全部完成后重启 pve。

1.3.5 修改飞牛配置

在 pve 界面选择 fn>硬件,双击显示,将显卡由默认改为 VirtIO-GPU

​添加 PCI 设备

​添加原始设备,在设备列表中找到显卡,这里的 UHD Graphics 630 即为 i5-9500T的核显。

重启飞牛虚拟机。打开飞牛即可看到核显已经直通。

2. 安装 OpenWrt

我选择的是 openwrt-25.12.0-rc2-x86-64-generic-ext4-combined-efi_1.img,大部分常用插件已经安装,软件包更新为 apk 模式。

2.1 创建虚拟机

不使用CD介质。

删除默认磁盘

​CPU 给1核,内存 1G 即可。其他默认。

不要马上启动虚拟机,将 OpenWrt 镜像转换为虚拟硬盘。

cd /mnt/udisk/template/iso # 已提前将 OpenWrt 镜像上传至 udisk
qm importdisk <vmid> ./openwrt.iso udisk # vmid 为虚拟机ID,openwrt.iso 为上传的镜像文件名,udisk 表示将虚拟磁盘存放在 udisk

完成后在 pve 界面选择 openwrt 虚拟机 > 硬件,可以看到一个未使用硬盘,双击添加到虚拟机。

控制台启动虚拟机进入 openwrt 。

2.2 设置 root 密码

passwd root

2.3 设置 lan 口 ip

​vi /etc/config/network​

找到 config interface 'lan'​ 块,将 ipaddr​ 设置为想要设置的地址,如:

list ipaddr '192.168.1.102/24'

重启虚拟机。

浏览器中输入 ip 地址打开 OpenWrt,用 root 和刚才设置的密码登录。

2.4 配置旁路由

选择 网络>接口,编辑 lan 口。

常规设置里再次设置好 ipv4 地址和网关:

因为打算设置为旁路由,所以要在DHCP服务器里勾选 忽略此接口。

保存 > 保存并应用。旁路由设置完毕。

2.5 更新系统

给 openwrt 换源:

系统 > 软件包 > 配置 APK,将下面的 /etc/apk/repositories.d/distfeeds.list​ 内容清空,粘贴下面内容:

https://mirrors.pku.edu.cn/openwrt/releases/25.12.0-rc2/packages/x86_64/base/packages.adb
https://mirrors.pku.edu.cn/openwrt/releases/25.12.0-rc2/packages/x86_64/luci/packages.adb
https://mirrors.pku.edu.cn/openwrt/releases/25.12.0-rc2/packages/x86_64/packages/packages.adb
https://mirrors.pku.edu.cn/openwrt/releases/25.12.0-rc2/packages/x86_64/routing/packages.adb
https://mirrors.pku.edu.cn/openwrt/releases/25.12.0-rc2/packages/x86_64/telephony/packages.adb
https://opkg.cooluc.com/openwrt-25.12/x86_64/packages.adb
https://core3.cooluc.com/x86_64/6.18.4~74ab83c752e112bb2a2e047704cb5ea2-r1/packages.adb

保存,点击 更新列表(也可在 控制台键入 apk update​ )

在控制台键入以下命令更新系统软件包:

apk upgrade

最后贴出我的 openwrt 虚拟机配置:

boot: order=scsi0
cores: 1
cpu: x86-64-v2-AES
memory: 1024
meta: creation-qemu=10.1.2,ctime=1769353412
name: openwrt
net0: virtio=BC:24:11:52:9F:A1,bridge=vmbr0,firewall=1
numa: 0
ostype: l26
scsi0: udisk:104/vm-104-disk-0.raw,iothread=1,size=1023704576
scsihw: virtio-scsi-single
smbios1: uuid=f050a1f1-31bf-4692-a499-5ddae4397c37
sockets: 1
tags: opt;vm
vmgenid: 7ad477d7-4772-4d78-8fa6-4bc33ccf6e78

3. 安装 Windows 10

Tiny10 是由大神NTDEV基于 Windows 10 LTSC 制作的一版 Windows10 精简系统。Tiny10 安装完成后,C盘占用9.4GB,内存占用1.7GB,系统非常清爽流畅。系统默认英文,可以通过设置添加中文语言包。

3.1 下载安装镜像

这里下载 Tiny10 的安装镜像 tiny10_x64_23h2.iso​ ,到这里下载最新的驱动镜像 virtio-win-0.1.285.iso​ ,都上传到 udisk。

3.2 创建虚拟机

虚拟机创建过程很简单,注意要挂载 virtio 驱动镜像,机型选 q35,cpu 选 host,其他默认即可。

3.3 安装 Tiny10

启动虚拟机,安装 windows 中到选择分区时需要浏览 virtio驱动镜像加载虚拟磁盘驱动,位置为 \vioscsi\w10\amd64 ​

3.4 添加中文包

安装完 tiny10 后,右键开始菜单->Settings(设置)->Time&Language(时间和语言)->Language(语言)->Add a Language(添加语言),然后搜索china或zh都会看到中文简体,然后点击添加安装即可。

3.5 开启远程桌面

右键开始菜单->设置->系统->远程桌面->启动远程桌面。

3.6 激活系统

右键开始菜单->Windows PowerShell,在终端中键入:

irm https://get.activated.win | iex

根据提示激活 Windows。

最后贴出 win10 虚拟机配置(分配 CPU 4 核 host,内存分配 16G):

boot: order=scsi0;ide2;ide0
cores: 4
cpu: host
ide2: none,media=cdrom
machine: pc-q35-10.1
memory: 16384
meta: creation-qemu=10.1.2,ctime=1769324037
name: win10
net0: virtio=BC:24:11:83:BC:E6,bridge=vmbr0,firewall=1
numa: 0
onboot: 1
ostype: win10
scsi0: udisk:101/vm-101-disk-0.qcow2,iothread=1,size=64G
scsihw: virtio-scsi-single
smbios1: uuid=bf8d722e-1782-419c-9ac9-2ece8abd8697
sockets: 1
tags: vm;win
vmgenid: a2bcd7b2-51af-411f-8361-12ddfff8610e

4. 安装 xubuntu

创建 xubuntu 虚拟机与飞牛类似,这里分配 CPU 2 核、内存4G。

启动虚拟机安装 xubuntu,这里选择最小化安装,其他默认。

安装后进行几个优化:

4.1 换源

bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh)

4.2 配置SSH

见 进阶篇 配置SSH。

4.3 开启远程桌面

安装 xrdp

apt update
apt install xrdp

配置 xrdp

echo xfce4-session > ~/.xsession
adduser xrdp ssl-cert  # 解决权限错误
systemctl enable xrdp
systemctl restart xrdp
# 检查端口监听(默认3389)
netstat -tunlp | grep 3389

如出现闪退

vim /etc/xrdp/xrdp.ini
# 在[Globals]段添加:
ssl_protocols=TLSv1,TLSv1.1,TLSv1.2,TLSv1.3

root 登录失败

sed -i 's/^auth required pam_succeed_if.so user != root quiet success/#&/' /etc/pam.d/gdm-password

Author: Max

Permalink: /archives/pve-allinone-3

Published: 2026-03-20 20:42:56

Updated: 2026-03-20 20:33:01

License: 本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可

CATALOG