首页
关于
壁纸
直播
留言
友链
统计
Search
1
《吞食天地1》金手指代码
8,604 阅读
2
白嫖Emby
7,233 阅读
3
Emby客户端IOS破解
7,216 阅读
4
《三国志英杰传》攻略
6,854 阅读
5
破解emby-server
4,636 阅读
moonjerx
game
age-of-empires
zx3
san-guo-zhi
尼尔:机械纪元
net
emby
learn-video
docker
torrent
photoshop
route
minio
git
ffmpeg
im
vue
gitlab
typecho
svn
alipay
nasm
srs
mail-server
tailscale
kkfileview
aria2
webdav
synology
redis
oray
chemical
mxsite
math
π
x-ui
digital-currency
server
nginx
baota
k8s
http
cloud
linux
shell
database
vpn
esxi
rancher
domain
k3s
ewomail
os
android
windows
ios
app-store
macos
develop
java
javascript
uniapp
nodejs
hbuildx
maven
android-studio
jetbrain
jenkins
css
mybatis
php
python
hardware
hard-disk
pc
RAM
software
pt
calibre
notion
office
language
literature
philosophy
travel
登录
Search
标签搜索
ubuntu
mysql
openwrt
zerotier
springboot
centos
openvpn
jdk
吞食天地2
synology
spring
idea
windows11
吞食天地1
transmission
google-play
Japanese
xcode
群晖
kiftd
MoonjerX
累计撰写
386
篇文章
累计收到
466
条评论
首页
栏目
moonjerx
game
age-of-empires
zx3
san-guo-zhi
尼尔:机械纪元
net
emby
learn-video
docker
torrent
photoshop
route
minio
git
ffmpeg
im
vue
gitlab
typecho
svn
alipay
nasm
srs
mail-server
tailscale
kkfileview
aria2
webdav
synology
redis
oray
chemical
mxsite
math
π
x-ui
digital-currency
server
nginx
baota
k8s
http
cloud
linux
shell
database
vpn
esxi
rancher
domain
k3s
ewomail
os
android
windows
ios
app-store
macos
develop
java
javascript
uniapp
nodejs
hbuildx
maven
android-studio
jetbrain
jenkins
css
mybatis
php
python
hardware
hard-disk
pc
RAM
software
pt
calibre
notion
office
language
literature
philosophy
travel
页面
关于
壁纸
直播
留言
友链
统计
搜索到
56
篇与
moonjerx
的结果
2025-06-13
释放 PCI 直通网卡 enp4s0 并恢复给宿主机使用
在 Proxmox VE 中,我们经常会将某块物理网卡 PCI 直通给虚拟机(例如 iKuai、OpenWRT 等软路由),但一旦直通后,该网卡会被系统挂载到 vfio-pci 驱动中,宿主机无法再直接使用这块网卡。本文介绍如何将已直通的网卡(如 enp4s0)解绑 VFIO 并绑定回原生驱动,从而让 PVE 宿主机再次识别并使用。1️⃣ 查看当前网卡绑定状态lspci -nnk | grep -A3 -i ethernet示例输出:04:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller I226-V [8086:125c] (rev 04) Subsystem: Intel Corporation Ethernet Controller I226-V [8086:0000] Kernel driver in use: vfio-pci Kernel modules: igc说明该网卡目前仍然在 vfio-pci 直通状态。2️⃣ 解绑 VFIO 驱动执行以下命令将设备从 vfio 中解绑:echo 0000:04:00.0 > /sys/bus/pci/drivers/vfio-pci/unbind其中 0000:04:00.0 是该网卡的 PCI 地址,可从 lspci 命令中获取。3️⃣ 绑定回宿主机原生驱动(igc)该设备是 Intel I226-V 网卡,使用的是 igc 驱动。执行绑定:echo 0000:04:00.0 > /sys/bus/pci/drivers/igc/bind4️⃣ 验证绑定状态再次运行:lspci -nnk | grep -A3 04:00.0期望输出应为:Kernel driver in use: igc5️⃣ 查看设备是否重新出现ip link你应该能看到 enp4s0 已经回归并可用于网络配置。6️⃣ 重载网络配置ifreload -a或者单独启用 bridge:ifup vmbr1🧹 可选清理:取消开机自动直通如果你不再打算将该网卡用于 PCI 直通,建议清除模块绑定配置:编辑模块配置文件(如存在):nano /etc/modprobe.d/vfio.conf注释掉以下内容:options vfio-pci ids=8086:125c然后更新 initramfs:update-initramfs -u✅ 总结操作步骤命令 查看驱动绑定状态`lspci -nnkgrep -A3 -i ethernet`解绑 vfio 驱动echo 0000:04:00.0 > /sys/bus/pci/drivers/vfio-pci/unbind 绑定 igc 驱动echo 0000:04:00.0 > /sys/bus/pci/drivers/igc/bind 检查是否回归系统ip link 重载网络配置ifreload -a 或 ifup vmbr1 现在,enp4s0 已可正常用于 Proxmox 的网络桥接(如 vmbr1),可以继续用于虚拟机内网或管理用途。
2025年06月13日
191 阅读
0 评论
0 点赞
2025-03-26
PVE开启IOMMU与硬件直通
硬件直通准备1. 确认主板支持主板BIOS/UEFI设置:启用 VT-d(Intel CPU) 或 AMD-V(AMD CPU)。禁用 CSM(仅限i440机型,需确保其他设置为UEFI模式)。ACS Enable(若存在,需启用,自动模式无效)。启用 4G解码(4G Decoding)。禁用 Resizable BAR/Smart Access Memory(AMD GPU直通时避免“代码43错误”)。启用 IOMMU(AMD主板需特别注意)。主显示器设置为CPU/iGPU(若CPU集成显卡)。预分配内存64M。启用IOMMU2. 配置内核参数编辑 /etc/default/grub 文件,修改 GRUB_CMDLINE_LINUX_DEFAULT 行:Intel CPU:GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt initcall_blacklist=sysfb_init pcie_acs_override=downstream,multifunction pci=nommconf"AMD CPU:GRUB_CMDLINE_LINUX_DEFAULT="quiet iommu=pt initcall_blacklist=sysfb_init pcie_acs_override=downstream,multifunction pci=nommconf"其他可选配置:# GVT-g模式(共享显卡) GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt i915.enable_gvt=1 video=efifb:off" # 独占模式(无PVE控制台输出) GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt video=efifb:off"3. 参数释义iommu=pt:启用IOMMU,PT模式优化未直通设备性能。initcall_blacklist=sysfb_init:解决PVE 7.2+的核显驱动冲突。i915.enable_gvt=1:启用Intel GVT-g虚拟显卡技术(需支持的CPU)。pcie_acs_override=downstream:拆分IOMMU组,避免直通导致物理机崩溃。pci=nommconf:禁用PCI配置空间的内存映射,提升稳定性。4. 更新GRUB并重启# 更新引导配置 proxmox-boot-tool refresh # 或 update-grub # 重启系统 reboot5. 验证IOMMU启用# 检查IOMMU状态 dmesg | grep -e DMAR -e IOMMU # 成功示例: # [ 0.000000] DMAR: IOMMU enabled # 验证IOMMU组 find /sys/kernel/iommu_groups/ -type l # 检查中断重映射 dmesg | grep remapping # 成功示例(Intel): # [ 0.175675] DMAR-IR: Enabled IRQ remapping in x2apic mode # 成功示例(AMD): # AMD-Vi: Interrupt remapping enabled显卡直通配置1. 屏蔽显卡驱动编辑 /etc/modprobe.d/pve-blacklist.conf:# NVIDIA blacklist nvidiafb blacklist nouveau blacklist nvidia # AMD blacklist amdgpu blacklist radeon # Intel blacklist snd_hda_codec_hdmi blacklist snd_hda_intel blacklist snd_hda_codec blacklist snd_hda_core blacklist i9152. 忽略显卡警告(NVIDIA专属)编辑 /etc/modprobe.d/kvm.conf:options kvm ignore_msrs=1 report_ignored_msrs=03. 配置VFIO获取设备ID:# 查找显卡及音频设备ID lspci -nn | grep VGA lspci -n -s <设备地址>配置vfio-pci:编辑 /etc/modprobe.d/vfio-pci.conf:options vfio-pci ids=1234:5678,1234:5678 disable_vga=1 # 替换为实际设备ID,多个ID用逗号分隔更新内核并重启:update-initramfs -u reboot4. 验证显卡接管lspci -nnk # 成功示例: # Kernel driver in use: vfio-pci添加显卡到虚拟机1. 创建虚拟机系统选项:机型:选择 q35。BIOS:选择 OVMF(UEFI)。CPU:选择 host 模式。内存:关闭 Ballooning设备。2. 直通显卡进入虚拟机管理界面,点击 硬件 → 添加 → PCI设备。选择目标显卡,勾选:启用所有功能。主GPU(可选,可能影响启动)。ROM-Bar 和 PCI-Express。Intel GVT-g虚拟化核显(Intel 5-10代CPU)1. 配置GRUBGRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt i915.enable_gvt=1 video=efifb:off"2. 加载内核模块编辑 /etc/modules:vfio vfio_iommu_type1 vfio_pci kvmgt3. 验证GVT-gls /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/ # 成功示例: # i915-GVTg_V5_1 i915-GVTg_V5_2 ...注意事项驱动冲突:确保所有显卡驱动被正确屏蔽。内核更新:每次内核升级后需重新运行 update-initramfs -u。日志排查:使用 dmesg | tail 或 journalctl 检查直通失败原因。额外笔记:一、开启iommu,打开编辑 nano /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifb:off" GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on" 二、加载vfio模块,打开编辑 nano /etc/modules 加上以下内容 vfio vfio_iommu_type1 vfio_pci vfio_virqfd 三、禁用驱动(不同PVE版本可能不同) nano /etc/modprobe.d/pve-blacklist.conf 加入以下内容: block AMD driver blacklist radeon blacklist amdgpu block NVIDIA driver blacklist nouveau blacklist nvidia block INTEL driver blacklist snd_hda_intel blacklist snd_hda_codec_hdmi blacklist i915 # Nvidia blacklist nvidiafb blacklist nouveau blacklist nvidia # AMD blacklist amdgpu blacklist radeon # Intel UHD blacklist snd_hda_codec_hdmi blacklist snd_hda_intel blacklist snd_hda_codec blacklist snd_hda_core blacklist i915 四、查询显卡的PCI ID lspci|grep 570 04:00.0 查看显卡的Device ID 显卡 root@pve:~# lspci -n -s 04:00.0 04:00.0 0300: 1002:67df (rev ef) 声卡 root@pve:~# lspci -n -s 04:00.1 04:00.1 0403: 1002:aaf0 五、编辑vfio nano /etc/modprobe.d/vfio.conf 将设备加入(两个ID就加两个) options vfio-pci 1002:67df options vfio-pci 1002:aaf0 或者: options vfio-pci ids=1002:67df,1002:aaf0 六、更新grub并重启 update-grub && reboot dmesg | grep -e DMAR -e IOMMU 从命令行运行 如果没有输出,则说明有问题。 root@pve:~# dmesg | grep -e DMAR -e IOMMU [ 0.141371] DMAR: IOMMU enabled root@pve:~# dmesg | grep iommu [ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.8.12-4-pve root=/dev/mapper/pve-root ro quiet intel_iommu=on video=efifb:off [ 0.141295] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.8.12-4-pve root=/dev/mapper/pve-root ro quiet intel_iommu=on video=efifb:off [ 0.621854] iommu: Default domain type: Translated [ 0.621854] iommu: DMA domain TLB invalidation policy: lazy mode 更新内核,重启 update-initramfs -u reboot
2025年03月26日
1,651 阅读
0 评论
0 点赞
2025-03-23
Proxmox VE 保姆级安装教程
一、硬件要求CPU:支持虚拟化技术(Intel VT-x/AMD-V)内存:至少 2GB(建议 4GB+)存储:至少 20GB 硬盘空间网络:需连接网络(安装依赖包)二、下载 Proxmox VE访问官网:https://www.proxmox.com选择 Download → Proxmox VE → 下载最新版 ISO 文件(如 proxmox-ve_7.4-1.iso)验证文件完整性(可选):sha256sum proxmox-ve_7.4-1.iso对比官网提供的 SHA256 值。三、制作启动U盘工具推荐:Rufus(Windows)或 Etcher(跨平台)以 Rufus 为例:插入空U盘(建议 4GB+)打开 Rufus → 选择下载的 ISO 文件格式选 FAT32,分区方案选 MBR 或 GPT(根据目标系统)点击开始 → 等待写入完成(此处插入图片:Rufus 配置界面截图)四、BIOS/UEFI 设置重启电脑 → 进入 BIOS/UEFI(开机时按 Del/F2/F12)禁用 Secure Boot(首次安装建议关闭)启用 Virtualization Technology(Intel VT-x/AMD-V)设置启动顺序:将U盘设为第一启动项五、开始安装1. 引导界面插入启动U盘 → 重启 → 选择 Install Proxmox VE(此处插入图片:Proxmox 引导界面截图)2. 安装配置Language:选择语言(中文需后续设置)Keyboard Layout:选择键盘布局Network:选择网卡 → 自动获取 IP 或手动配置Hostname:输入主机名(如 proxmox)Storage:选择存储类型(默认 ZFS 或 LVM)Partitioning:选择 Guided Storage → 全盘安装或手动分区3. 设置 root 密码输入并确认密码(后续登录需用此密码)4. 完成安装等待安装完成 → 重启 → 拔掉U盘六、首次登录1. Web 界面登录访问 https://<你的IP>:8006(浏览器输入)用户名:root密码:安装时设置的密码(此处插入图片:Proxmox Web 界面登录截图)2. SSH 登录(可选)ssh root@<你的IP>七、后续配置(必看)更新系统:apt update && apt upgrade -y配置防火墙:ufw allow 8006/tcp # Web 界面 ufw allow 22/tcp # SSH ufw enable创建存储库:Web 界面 → Datacenter → Storage → 添加 ZFS/LVM 存储添加虚拟机:Web 界面 → Create CT (LXC) 或 Create VM (KVM)八、常见问题无法进入 BIOS:重启时反复按 Del/F2/F12,不同主板按键不同。网络不通:检查网线 → 确保 DHCP 启用 → 手动配置 IP。存储配置失败:选择 LVM 替代 ZFS(新手建议)。提示:完整图文教程可参考官方文档或视频教程(搜索关键词:Proxmox 安装 7.4)。
2025年03月23日
766 阅读
0 评论
0 点赞
2025-03-20
驾考笔记
记1分违法行为(灯光会车货宽高,不带四证)1.不按规定使用灯光。 2.不按规定会车。 3.驾驶机动车载货长度、宽度、高度超过规定。 4.上道路行驶的机动车未放置检验合格标志、保险标志,未随车携带行驶证、机动车驾驶证。 记2分违法行为(交叉行停电盔带,排队插队)1.行经交叉路口不按规定行车或者停车。 2.有拨打、接听手持电话等妨碍安全驾驶的行为。 3.驾驶二轮摩托车,不戴安全头盔。 4.在高速公路或者城市快速路上行驶时,驾驶人未按规定系安全带。 5.遇前方机动车停车排队或者缓慢行驶时,借道超车或者占用对面车道、穿插等候车辆。 6.不按照规定为校车配备安全设备,或者不按照规定对校车进行安全维护。 7.驾驶校车运载学生,不按照规定放置校车标牌、开启校车标志灯,或者不按照经审核确定的线路行驶。 8校车上下学生,不按照规定在校车停靠站点停靠。 9.校车未运载学生上道路行驶,使用校车标牌、校车标志灯和停车指示标志。 10.驾驶校车上道路行驶前,未对校车车况是否符合安全技术要求进行检查,或者驾驶存在安全隐患的校车上道路行驶。 11.在校车载有学生时给车辆加油,或者在校车发动机引擎熄灭前离开驾驶座位。记3分违法行为(超载超速超质量;高低禁入不按道;标线人道减停避;牵引安检超让逆;故障灯光设警告)1.驾驶营运客车(不包括公共汽车)、校车以外的载客汽车载人超过核定人数未达20%。 2.驾驶中型以上载客载货汽车、危险物品运输车辆在高速公路、城市快速路以外的道路上行驶或者驾驶其他机动车行驶超过规定时速未达20%。 3.驾驶货车载物超过核定载质量未达30%。 4.在高速公路上行驶低于规定最低时速。 5.驾驶禁止驶入高速公路的机动车驶入高速公路。 6.在高速公路或者城市快速路上不按规定车道行驶。 7.行经人行横道,不按规定减速、停车、避让行人。 8.违反禁令标志、禁止标线指示。 9.不按规定超车、让行的,或者逆向行驶。 10.违反规定牵引挂车。 11.在道路上车辆发生故障、事故停车后,不按规定使用灯光和设置警告标志。 12.上道路行驶的机动车未按规定定期进行安全技术检验。记6分违法行为()1.机动车驾驶证被暂扣期间驾驶机动车 2.违反道路交通信号灯通行 3.驾驶营运客车(不包括公共汽车)、校车载人超过核定人数未达20%的,或者驾驶其他载客汽车载人超过核定人数20%以上。 4.驾驶中型以上载客载货汽车、校车、危险物品运输车辆在高速公路、城市快速路上行驶超过规定时速未达20%。 5.驾驶中型以上载客载货汽车、校车、危险物品运输车辆在高速公路、城市快速路以外的道路上行驶或者驾驶其他机动车行驶超过规定时速20%以上未达到50%。 6.驾驶货车载物超过核定载质量30%以上或者违反规定载客。 7.驾驶营运客车以外的机动车在高速公路车道内停车。 8在高速公路或者城市快速路上违法用应急车道行驶。 9.低能见度气象条件下,驾驶机动车在高速公路上不按规定行驶。 10.运载超限的不可解体的物品,未按指定的时间、路线、速度行驶或者未悬挂明显标志。 11.载运爆炸物品、易燃易爆化学物品以及剧毒、放射性等危险物品,未按指定的时间、路线、速度行驶或者未悬挂警示标志并采取必要的安全措施。 12.以隐瞒、欺骗手段补领机动车证。 13.连续驾驶中型以上载客汽车、危险物品运输车辆以外的机动车超过4小时未停车休息或者停车休息时间少于20分钟。 14.不按照规定避让校车。记12分违法行为(不符酒驾超载(20%)逃;无牌遮牌伪他牌;高速停车倒逆穿;)1.驾驶与准驾车型不符的机动车。 2.饮酒后驾驶机动车。 3.驾驶营运客车(不包括公共汽车)、校车载人超过核定人数20%以上。 4.造成交通事故后逃逸,尚不构成犯罪。 5.上道路行驶的机动车未悬挂机动车号牌的,或者故意遮挡、污损、不按规定安装机动车号牌。 6.使用伪造、变造的机动车号牌、行驶证、驾驶证、校车标牌或者使用其他机动车号牌、行驶证。 7.在高速公路上倒车、逆行、穿越中央分隔带掉头。 8.驾驶营运客车在高速公路车道内停车。 9.驾驶中型以上载客载货汽车、校车、危险物品运输车辆在高速公路、城大快速路上行驶超过规定时速20%以或者在高速公路、城市快速路以外的道路上行驶超过规定时速50%以上介以及驾驶其他机动车行驶超过规定首页速50%以上。 10.连续驾驶中型以上载客汽车、危险品运输车辆超过4小时末停车休息可评论停车休息时间少于20分钟的。 11.未取得校车驾驶资格驾驶校车。
2025年03月20日
90 阅读
0 评论
0 点赞
2024-10-13
自动选择可用的Maven仓库并下载settings.xml文件
在使用Maven进行项目构建时,正确配置settings.xml文件对于依赖管理和仓库访问至关重要。然而,在多仓库环境下,如何确保能够自动选择一个可用的仓库来下载settings.xml文件呢?本文将介绍一个简单的Shell脚本,它可以帮助我们解决这个问题。脚本功能该脚本的主要功能包括:定义多个Maven仓库及其对应的settings.xml文件URL。检查每个仓库是否可用。如果找到可用的仓库,则从其对应的URL下载最新的settings.xml文件到用户的.m2目录下。如果所有仓库都不可用,则输出错误信息。脚本代码#!/bin/bash # 定义仓库URL及对应的settings.xml文件URL declare -A REPOS=( ["http://100.100.100.196:30024/repository/maven-public/"]="https://dl.test.com/intranet/settings.xml" ["http://100.100.100.72:30024/repository/maven-public/"]="https://dl.test.com/private/settings.xml" ["https://maven.test.com/repository/maven-public/"]="https://dl.test.com/internet/settings.xml" ) # 获取当前登录用户的用户名 USERNAME=$(whoami) # 根据操作系统设置settings.xml的目标路径 if [[ "$OSTYPE" == "darwin"* ]]; then # macOS SETTINGS_XML="/Users/$USERNAME/.m2/settings.xml" elif [[ "$OSTYPE" == "msys"* ]] || [[ "$OSTYPE" == "cygwin"* ]]; then # Windows (Git Bash or Cygwin) SETTINGS_XML="C:/Users/$USERNAME/.m2/settings.xml" else # Linux 或其他 Unix-like 系统 SETTINGS_XML="$HOME/.m2/settings.xml" fi # 函数:检查仓库是否可用 check_repo() { local repo_url=$1 curl --silent --head --fail $repo_url > /dev/null if [ $? -eq 0 ]; then return 0 # 可用 else return 1 # 不可用 fi } # 函数:下载settings.xml文件 download_settings() { local settings_url=$1 echo "正在下载 $settings_url 到 $SETTINGS_XML" curl -s -o "$SETTINGS_XML" "$settings_url" if [ $? -eq 0 ]; then echo "下载成功" else echo "下载失败" fi } # 主逻辑:按顺序检查仓库直到找到一个可用的 for repo in "${!REPOS[@]}"; do if check_repo $repo; then download_settings ${REPOS[$repo]} exit 0 # 成功下载后退出脚本 else echo "仓库 $repo 不可用,尝试下一个..." fi done echo "所有仓库均不可用,无法更新settings.xml"使用方法将上述脚本保存为一个文件,例如命名为update-settings.sh。给该脚本执行权限:chmod +x update-settings.sh。运行脚本:./update-settings.sh。注意事项确保您的系统已安装curl工具,这是脚本中用于网络请求的工具。根据实际情况修改仓库URL和对应的settings.xml文件URL。此脚本假定用户已经有一个.m2目录,如果不存在,请先创建或允许脚本有权限创建。通过这个脚本,我们可以轻松地在多个可能的Maven仓库之间切换,并始终保持settings.xml文件是最新的。这对于需要频繁更新依赖或者在不同网络环境下工作的开发者来说非常有用。
2024年10月13日
90 阅读
0 评论
0 点赞
1
2
3
...
12
您的IP: