首页
关于
壁纸
直播
留言
友链
统计
Search
1
《吞食天地1》金手指代码
8,248 阅读
2
白嫖Emby
7,100 阅读
3
Emby客户端IOS破解
7,075 阅读
4
《三国志英杰传》攻略
6,825 阅读
5
破解emby-server
4,616 阅读
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
累计撰写
384
篇文章
累计收到
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
页面
关于
壁纸
直播
留言
友链
统计
搜索到
54
篇与
moonjerx
的结果
2026-05-18
禁用 Windows 10 自动更新 — 完整踩坑记录
操作环境:Windows 10,PowerShell(管理员权限) 目标:彻底、永久禁止系统自动更新一、背景Windows 10 的自动更新机制非常顽固,微软在多个层面都做了保护:服务层:wuauserv(Windows Update)+ UsoSvc(Update Orchestrator)策略层:注册表 AU 策略计划任务层:\Microsoft\Windows\UpdateOrchestrator\* 下十余个任务权限保护:部分计划任务文件归属 TrustedInstaller,普通管理员无法直接修改仅禁用服务是不够的,Win10 会通过计划任务自动把服务重新拉起。二、踩坑过程第一次尝试(只禁服务 + 注册表)Stop-Service wuauserv -Force Set-Service wuauserv -StartupType Disabled Set-Service UsoSvc -StartupType Disabled Stop-Service UsoSvc -Force reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /t REG_DWORD /d 1 /f reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v AUOptions /t REG_DWORD /d 1 /f问题:未处理计划任务,系统会通过 UpdateOrchestrator 定时任务重新启用服务并触发更新。第二次尝试(追加禁用计划任务)Get-ScheduledTask -TaskPath "\Microsoft\Windows\UpdateOrchestrator\*" | Disable-ScheduledTask报错:Disable-ScheduledTask : 拒绝访问。 HRESULT 0x80070005原因:这些计划任务文件(位于 C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\)的所有者是 TrustedInstaller,即使管理员也无写入权限。第三次尝试(夺权后再禁用)✅ 成功思路:对每个任务文件先 takeown 夺取所有权,再 icacls 授权,最后执行 Disable-ScheduledTask。Get-ScheduledTask -TaskPath "\Microsoft\Windows\UpdateOrchestrator\*" | ForEach-Object { $path = "C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\$($_.TaskName)" takeown /f $path /a icacls $path /grant Administrators:F Disable-ScheduledTask -TaskName $_.TaskName -TaskPath $_.TaskPath }结果:全部 13 个任务均成功禁用(State: Disabled)。三、最终完整一行命令⚠️ 需以管理员身份运行 PowerShellStop-Service wuauserv -Force; Set-Service wuauserv -StartupType Disabled; Set-Service UsoSvc -StartupType Disabled; Stop-Service UsoSvc -Force; reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /t REG_DWORD /d 1 /f; reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v AUOptions /t REG_DWORD /d 1 /f; Get-ScheduledTask -TaskPath "\Microsoft\Windows\UpdateOrchestrator\*" | ForEach-Object { $path = "C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\$($_.TaskName)"; takeown /f $path /a; icacls $path /grant Administrators:F; Disable-ScheduledTask -TaskName $_.TaskName -TaskPath $_.TaskPath }四、三层封锁说明层级操作说明服务层禁用 wuauserv + UsoSvc停止并设为 Disabled,阻止开机自启策略层写注册表 AU 策略NoAutoUpdate=1,AUOptions=1,策略级别覆盖用户设置计划任务层夺权并禁用全部 UpdateOrchestrator 任务防止任务重新拉起服务五、被禁用的计划任务清单任务名作用Reboot_AC插电时重启安装更新Reboot_Battery电池模式重启安装更新Report policies上报策略信息Schedule Maintenance Work计划维护工作Schedule Scan计划扫描更新Schedule Scan Static Task静态扫描任务Schedule Wake To Work唤醒执行更新Schedule Work计划更新工作Start Oobe Expedite WorkOOBE 加急更新StartOobeAppsScanAfterUpdate更新后扫描应用StartOobeAppsScan_LicenseAccepted许可接受后扫描UpdateModelTask更新模型任务USO_UxBroker更新界面代理六、恢复方法(如需重新开启更新)Set-Service wuauserv -StartupType Manual Start-Service wuauserv Set-Service UsoSvc -StartupType Manual Start-Service UsoSvc Get-ScheduledTask -TaskPath "\Microsoft\Windows\UpdateOrchestrator\*" | Enable-ScheduledTask reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /f记录时间:2026-05-18
2026年05月18日
37 阅读
0 评论
0 点赞
2025-07-14
uni.getSystemInfoSync 全量信息解析
📱 uni.getSystemInfoSync 全量信息解析(iPhone 12 + iOS 18.5 示例)在开发基于 UniApp 的移动应用时,获取设备信息对于 UI 适配、安全区域计算、调试优化 至关重要。本文将基于一份真实的系统信息(以 iPhone 12 为例),完整解析 uni.getSystemInfoSync() 返回的数据结构,并提供适配建议。注:所有敏感信息如设备ID、AppID 等均已脱敏或替换。📦 基础信息字段示例值含义brand / deviceBrandapple设备品牌model / deviceModeliPhone 12设备型号platformios系统平台system / osVersioniOS 18.5系统版本language / osLanguagezh-Hans-HK当前系统语言(简体中文-香港)deviceTypephone设备类型📐 屏幕 & 像素信息字段示例值含义pixelRatio / devicePixelRatio3物理像素 / 逻辑像素比screenWidth390 px屏幕宽度screenHeight844 px屏幕高度windowWidth390 px可视区域宽度windowHeight844 px可视区域高度statusBarHeight47 px状态栏高度(刘海高度)🔒 安全区域信息安全区域对于适配刘海屏和底部 Home Indicator 非常重要。"safeArea": { "top": 47, "bottom": 810, "left": 0, "right": 390, "width": 390, "height": 763 }, "safeAreaInsets": { "top": 47, "bottom": 34, "left": 0, "right": 0 }字段示例值含义safeAreaInsets.top47 px顶部安全区(通常是状态栏)safeAreaInsets.bottom34 px底部安全区(通常是 Home Indicator 区域)safeArea.height763 px内容区高度(去除安全边距)🧱 App & UniApp 信息字段示例值含义appNameMyApp应用名称(已脱敏)appId__UNI__xxxxxxx应用 ID(已脱敏)appVersion14.75用户可见版本appVersionCode1475内部版本号(用于版本比较)appWgtVersion4.3.54资源版本(wgt 包)uniPlatformapp当前平台uniCompileVersion4.64编译时使用的 HBuilderX 版本uniRuntimeVersion4.75App 运行时版本browserNamewkwebviewiOS 内核类型browserVersion18.5WebView 版本(与系统一致)uaMozilla/5.0...uni-app浏览器 UserAgent(已截断)🧪 实际使用建议✅ 状态栏高度使用:padding-top: var(--status-bar-height); // 适配刘海屏✅ Bottom 安全区适配:padding-bottom: env(safe-area-inset-bottom); // 适配 Home Indicator✅ JS 动态计算 padding:const system = uni.getSystemInfoSync(); const paddingTop = system.statusBarHeight + 44; // 状态栏 + 自定义导航栏 const paddingBottom = system.safeAreaInsets.bottom + 55; // Home Indicator + 底部 tab🎯 调试辅助(推荐实践)在开发过程中你可以引入一个 浮动调试按钮,点击后显示当前系统信息及安全区计算值,便于测试不同设备的实际效果。例如:minHeight: 100vhpaddingTop: calc(var(--status-bar-height) + 44px)paddingBottom: calc(env(safe-area-inset-bottom) + 55px)🧾 总结本文详细解析了 uni.getSystemInfoSync() 的所有关键字段及含义,尤其针对 iPhone 12 的刘海屏、安全区域、底部指示器做了说明。了解这些参数,可以帮助我们开发时更好地进行:UI 适配页面布局计算自定义导航栏和底部栏浮动调试工具实现
2025年07月14日
75 阅读
0 评论
0 点赞
2025-06-23
Linux 命令行连接 Wi-Fi(适用于 PVE、Debian、Ubuntu)
最简单、最快速的方式只需一行命令:nmcli device wifi connect "Long" password "xiyang" iface wlo1✅ 说明:Long 是 Wi-Fi 名称(SSID)xiyang 是密码wlo1 是你的无线网卡名称,可用 ip link 或 nmcli device 查看📶 查看当前无线接口和状态nmcli device status🔍 查看可用 Wi-Fi 热点nmcli device wifi list📂 管理连接配置列出已保存的连接:nmcli connection show设置开机自动连接(通常默认已启用):nmcli connection modify "Long" connection.autoconnect yes删除旧配置(如需重连):nmcli connection delete "Long"⚙️ 设置静态 IP(可选)nmcli connection modify "Long" ipv4.method manual \ ipv4.addresses 192.168.1.100/24 \ ipv4.gateway 192.168.1.1 \ ipv4.dns "8.8.8.8 1.1.1.1"🚀 开机自动连接(脚本方案)创建脚本 /usr/local/bin/wifi-connect.sh:#!/bin/bash nmcli device wifi connect "Long" password "xiyang" iface wlo1加执行权限:chmod +x /usr/local/bin/wifi-connect.sh添加 systemd 服务实现开机连接(略)。📝 结语适用于没有桌面环境的 Linux 系统,如 PVE、Debian、服务器等环境下轻松连接 Wi-Fi。只需 nmcli,不必使用图形界面!
2025年06月23日
89 阅读
0 评论
0 点赞
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日
150 阅读
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,559 阅读
0 评论
0 点赞
1
2
...
11
您的IP: