j4125 软路由折腾日记

ESXi 篇

ESXi下载地址

https://customerconnect.vmware.com/en/evalcenter?p=free-esxi8

ESXi安装的时候提示“Shutting down firmware services...Relocating modules and starting up the kernel...”

在安装程序引导界面出现以后按Shift + O,加入参数

ignoreHeadless=TRUE

即可解决。

ESXi网卡直通以后,爱快无法启动,同时直通的网卡提示“已开启/需要重新引导”

解决办法是在ESXi的 主机 - 管理 - 高级设置 里,将

VMkernel.Boot.disableACSCheck

设置为True。

ESXi核显直通给群晖以后,重启后群晖无法启动,同时核显提示“已开启/需要重新引导”

原因是ESXi开机的时候会强制占用核显,导致直通失效,解决办法是在ESXi的 主机 - 管理 - 高级设置 里,将

VMkernel.Boot.vga

设置为False。

PVE 篇

PVE 如何将img导入磁盘

qm importdisk <虚拟机ID> <img文件路径> local-lvm

PVE 网口直通报错

nano /etc/default/grub

修改GRUB_CMDLINE_LINUX_DEFAULT为以下值

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_port_pm=off"

更新grub并重启

update-grub
reboot

PVE 核显直通

nano /etc/default/grub

修改GRUB_CMDLINE_LINUX_DEFAULT增加以下参数

video=efifb:off

修改

nano /etc/modules

添加

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

用以下命令查看PCI设备ID并记下来

lspci -nn

可以看到核显ID为8086:3185

00:02.0 VGA compatible controller [0300]: Intel Corporation GeminiLake [UHD Graphics 600] [8086:3185] (rev 06)

添加到vfio的配置中

nano /etc/modprobe.d/vfio.conf

添加

options vfio-pci ids=8086:3185

修改

nano /etc/modprobe.d/blacklist.conf

添加

blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
blacklist i915

更新引导

update-initramfs -u
update-grub

PVE 硬盘直通

查询硬盘列表

ls -l /dev/disk/by-id/

直通

qm set <虚拟机ID> -<sata|scsi|ide><序号> <硬盘设备路径>

解决python安装ta-lib报错的问题

问题

Failed to build ta-lib
ERROR: Could not build wheels for ta-lib, which is required to install pyproject.toml-based projects

原因

通过pip安装python的ta-lib包需要调用Visual Studio编译ta-lib库,若没有安装visual studio或者ta-lib库就会编译失败

解决办法

由于安装ta-lib库和visual studio太过麻烦,
https://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib
提供了预编译的python包,
下载对应版本以后,使用pip安装即可,注意把TA_Lib‑0.4.24‑cpXXX‑cpXXX‑XXX.whl替换为实际的文件名

pip install TA_Lib‑0.4.24‑cpXXX‑cpXXX‑XXX.whl

解决Microsoft Store不走代理的问题

起因

最近折腾wsl,发现微软商店在打开科学上网以后的情况下无法访问,老是切来切去很不方便。后来一番搜索才知道原来是微软的UWP应用的网络设置是受限制的,不让使用本地回环代理。

解决办法

CheckNetIsolation.exe loopbackexempt -a -p=S-1-15-2-1609473798-1231923017-684268153-4268514328-882773646-2760585773-1760938157

S-1-15-2-1609473798-1231923017-684268153-4268514328-882773646-2760585773-1760938157是Microsoft Store在注册表里的uuid,路径为

HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Mappings\S-1-15-2-1609473798-1231923017-684268153-4268514328-882773646-2760585773-1760938157

其它应用的方法类似

如何还原

如果想回到限制,则:

CheckNetIsolation.exe loopbackexempt -c
# 或者
CheckNetIsolation.exe loopbackexempt -d -p=S-1-15-2-1609473798-1231923017-684268153-4268514328-882773646-2760585773-1760938157

甲骨文云服务器上ubuntu的坑

防火墙

甲骨文云的ubuntu默认使用iptables管理防火墙规则,但是防火墙服务又不是ufw,导致很多脚本关闭防火墙失败。
正确的办法应该是

sudo iptables -F
sudo netfilter-persistent save

缺少的组件

甲骨文云的ubuntu默认没有安装cron和unzip

apt install cron unzip -y

Linux Mint 前置音频面板无声音的解决办法

起因

最近安装了Linux Mint,目的是减少工作的时候,无关事情的干扰。由于用的廉价机箱,前置面板的线序还是老的AC97的规范,而现在的主板都是针对AUDIO HD的线序,包含了插入检测。在Windows下可以直接在螃蟹驱动里关闭前置面板检测来强制输出到前置面板的音频接口,把前置面板的接口当做一个独立的输出通道。而在Linux桌面下,却没有这个考虑。系统自带的声音设置根本没有前置面板的输出通道。
2022-12-13 02-10-04屏幕截图.png

解决办法

安装pavucontrol:

sudo apt install pavucontrol

然后在所有程序里找到PulseAudio音量控制,在“回放”里面切换为headphones即可(虽然显示未插入,实际已经插入),可以将这个设备设置为默认,这样就默认输出到headphones了。

2022-12-13 02-12-24屏幕截图.png