当前位置: 首页 > article >正文

【搞机】GMK-G3因特尔n100处理器核显直通win10虚拟机

环境

系统:Proxmox Virtual Environment 8.1.3
Linux内核:Linux version 6.5.13-6-pve (build@proxmox) (gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC PMX 6.5.13-6 (2024-07-26T12:34Z)
CPU:Intel N100 (4) @ 3.400GHz
GPU:Intel Alder Lake-N [UHD Graphics]
n100固件:/usr/share/kvm/n100.rom (放入指定位置)
固件包下载位置:https://github.com/Lenoud/pve8_n100_hdmi

效果

pve下部署了一台openwrt软路由,sa6400群晖,一台Windows10(直通),两个面板,一台docker服务器,启动时自动开启route和Windows10,gmk-g3的无线网卡和其它usb接口全部直通给Windows,可正常当物理机使用,办公、看电视、轻度游戏

在这里插入图片描述

直通脚本(自己编写-未测试)

#!/bin/bash
#Kernel: Linux 6.5.13-6-pve
#pve8.1.3


echo "英特尔cpu直通设置"
echo "请先创建111编号的windows虚拟机"


# 检查GRUB_CMDLINE_LINUX_DEFAULT是否已包含 intel_iommu=on
if ! grep -q 'intel_iommu=on' /etc/default/grub; then
    echo "更新GRUB配置"
    
    # 更新GRUB_CMDLINE_LINUX_DEFAULT行
    sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT="[^"]*/GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on/' /etc/default/grub
    
    echo "刷新update-grub"
    update-grub
else
    echo "GRUB_CMDLINE_LINUX_DEFAULT已包含intel_iommu=on,无需修改"
fi

# 检查黑名单文件是否已包含所需内容
if ! grep -q 'blacklist amdgpu' /etc/modprobe.d/pve-blacklist.conf; then
    echo "设置黑名单"
    
    cat >> /etc/modprobe.d/pve-blacklist.conf << EOF
blacklist amdgpu
blacklist i915
blacklist snd_hda_intel
options vfio_iommu_type1 allow_unsafe_interrupts=1
EOF

    echo "刷新update-initramfs"
    update-initramfs -u -k all
else
    echo "黑名单配置已存在,无需修改"
fi

# 检查文件是否存在
if [ -e /etc/pve/qemu-server/111.conf ]; then
    # 文件存在,追加内容
    cat >> /etc/pve/qemu-server/111.conf << EOF
args: -set device.hostpci0.addr=02.0 -set device.hostpci0.x-igd-gms=0x2 -set device.hostpci0.x-igd->
hostpci0: 0000:00:02.0,legacy-igd=1,romfile=n100.rom
hostpci1: 0000:00:14.0
hostpci2: 0000:00:1f.3
hostpci3: 0000:01:00.0
vga: none
EOF
else
    # 文件不存在,打印错误消息
    echo "文件 /etc/pve/qemu-server/111.conf 不存在"
fi

http://www.kler.cn/a/514754.html

相关文章:

  • 【项目初始化】自定义异常处理
  • AI模型提示词(prompt)优化-实战(一)
  • 爬虫基础之爬取某站视频
  • 【附源码】108个Python实战项目,练完能力飙升
  • Android系统开发(六):从Linux到Android:模块化开发,GKI内核的硬核科普
  • C#使用WMI获取控制面板中安装的所有程序列表
  • 如何有效使用Python爬虫将网页数据存储到Word文档
  • 机器学习实战第一天:LSTM(长短时记忆网络)
  • Git 如何将旧仓库迁移新仓库中,但不显示旧的提交记录
  • C语言初阶牛客网刷题——JZ17 打印从1到最大的n位数【难度:入门】
  • 【JavaSE】(8) String 类
  • 计算机怎么入门
  • 动态规划(DP)(细致讲解+例题分析)
  • ChatGPT接入苹果全家桶:开启智能新时代
  • HBased的原理
  • HDBaseT和KVM 和POE是怎么融合在一块的
  • 国产编辑器EverEdit - 文件列表
  • 08-Elasticsearch
  • 区块链的数学基础:核心原理与应用解析
  • ImportError: cannot import name ‘datapoints‘ from ‘torchvision‘
  • # [Unity]【游戏开发】 脚本生命周期与常见事件方法
  • 局域网中 Windows 与 Mac 互相远程连接的最佳方案
  • 网络编程-网络原理HTTP初识
  • 【Python】笔试面试题之生成器、闭包、字典
  • Java设计模式 九 桥接模式 (Bridge Pattern)
  • 【软件测试项目实战 】淘宝网:商品购买功能测试