S-Blog 发布的文章

1、使用opencroe -smify',自动检测硬件,自动生成efi
2、用usb 探测,增加 探测后的kexn 到 efi
3、用recovery模式 在线更新安装。
m4800的声卡 alcid=15 才有声音

模式 选 GFW ,去掉直连 和屏蔽列表保留 GFW列表 和代理列表即可
代理列表 添加连不上的域名 哪个连不上添加哪个 DNS 选 china 通过 upd cloude 1.1.1.1
以下是 telegram
telegram.org
t.me
telegram.me
telegra.ph
tdesktop.com
还有 nodeseek。com

这种模式最合理 pt也走直连
币安也是直连
https://b.szlnas.space/admin/write-post.php##

方法:在 GRUB 直接进入 root shell(最稳)

在你现在这个菜单:

Proxmox VE GNU/Linux, with Linux 6.17.9-1-pve

按 e 进入编辑。

找到这一行(很长的一行):

linux /boot/vmlinuz-6.x.x root=ZFS=... boot=zfs quiet

在最后 加一段:

init=/bin/bash

变成类似:

linux /boot/vmlinuz-6.x.x root=ZFS=... boot=zfs quiet init=/bin/bash
重启后进入root 再按 ai提示的操作,这个方法要先挂载系统盘,才能找到网络文件

专门针对 PVE 的 /dev/sda 和 /dev/sdc设置休眠,sdb 飞牛盘开启电源管理 但不休眠,减少磁头停靠。
truenas 每天唤醒6次,使用排查发现是自动证书检测,关闭它,systemctl disable certmonger --now,验证:systemctl status smartd。

总体思路:

sdc能正常休眠,sda经常醒来,不知道为什么,他们组成了阵列,如果sdc在休眠那么sda也应该休眠,所以用以下思路。
先设置sdb apm开启,不休眠,同时用hdparm -S 设定sdc5分钟没活动就休眠。
然后再写一个sh,每 5 分钟运行一次;先检查 sdc 是否休眠,如果 sdc 没休眠 → 什么都不做
如果 sdc 已休眠 → 再检查 sda
如果 sda 已休眠 → 什么都不做
如果 sda 未休眠 → 执行强制休眠 hdparm -Y /dev/sda
不写日志
开机自动运行

先设置sdb apm开启,不休眠,同时用hdparm -S 设定sdc5分钟没活动就休眠

1️⃣ 创建服务文件
nano /etc/systemd/system/hdparm-homedate.service

写入以下内容( 5 分钟空(300秒/5=60)闲后自动 standby,模式为254,防止磁头停靠减少磁盘寿命,永久生效):

[Unit]
Description=Set sda and sdc to standby (sleep) on boot
After=multi-user.target

[Service]
Type=oneshot
ExecStart=/usr/sbin/hdparm -B 254 -S 0 /dev/sdb #磁盘活动时 磁头不要停靠 永远不进入睡眠
ExecStart=/usr/sbin/hdparm -S 60 /dev/sdc
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

✅ 关键点:

[Unit]、[Service]、[Install] 必须独占一行,不要写成一行

ExecStart 是执行命令

RemainAfterExit=yes 表示系统启动后保持设置状态

2️⃣ 重新加载 systemd
systemctl daemon-reload
3️⃣ 启用开机自启
systemctl enable hdparm-homedate.service
4️⃣ 立即生效
systemctl start hdparm-homedate.service
5️⃣ 验证
systemctl status hdparm-homedate.service
hdparm -C /dev/sda
hdparm -C /dev/sdb
hdparm -C /dev/sdc

hdparm -C 查看硬盘状态

active/idle 或 standby 表示已经设置成功

sh脚本

一、创建脚本

创建脚本文件:

nano /usr/local/bin/force_sleep_sda.sh

写入内容:

!/bin/bash

检查 sdc 是否休眠

state_sdc=$(hdparm -C /dev/sdc | grep -i state)

if echo "$state_sdc" | grep -q standby; then

# sdc 已休眠,检查 sda
state_sda=$(hdparm -C /dev/sda | grep -i state)

if echo "$state_sda" | grep -q active; then

    # sda 未休眠,强制休眠
    hdparm -Y /dev/sda

fi

fi

保存:

Ctrl+O
Enter
Ctrl+X
二、赋予执行权限
chmod +x /usr/local/bin/force_sleep_sda.sh

二、创建 systemd service

创建:

nano /etc/systemd/system/force-sleep-sda.service

内容:

[Unit]
Description=Force sleep sda if sdc already sleeping

[Service]
Type=oneshot
ExecStart=/usr/local/bin/force_sleep_sda.sh

保存退出。

三、创建 timer

创建:

nano /etc/systemd/system/force-sleep-sda.timer

内容:

[Unit]
Description=Run force sleep sda every 5 minutes

[Timer]

开机 2 分钟后首次运行

OnBootSec=2min

每 5 分钟运行一次

OnUnitActiveSec=5min

Unit=force-sleep-sda.service

[Install]
WantedBy=timers.target

保存退出。

四、加载 systemd 配置
systemctl daemon-reexec
systemctl daemon-reload
五、启用并启动 timer
systemctl enable force-sleep-sda.timer
systemctl start force-sleep-sda.timer
六、验证 timer 是否运行

查看:

systemctl list-timers | grep force-sleep

应看到类似:

force-sleep-sda.timer loaded active waiting 3min left
七、验证开机自动运行

检查:

systemctl is-enabled force-sleep-sda.timer

应返回:

enabled

说明:

已设置开机自动运行

每 5 分钟执行一次

不使用 cron

不写任何日志文件

主板优化
1、关闭cpu turboost
2、cpu 模式 max battry
3、offset 电压-100mv
4、开启pcie ASMP 高级电源管理选L1 最高睡眠
5、sata asmp电源管理
6、关闭不用的网卡口,关闭板载音频,wifi关闭没找到。
7、cpu超频设置3000mhz
8、CPU C10 C6最高都开启
9、PVE 设置 动态调整模式,默认最低频。

参考这个 可以改成 4中选项的 https://www.cnblogs.com/zqingyang/p/19222076

一、nano set_schedutil_final.sh
添加以下内容

!/bin/bash

set_schedutil_final_complete.sh

Proxmox VE root 用户一键永久开启 schedutil CPU governor

Intel 优化 + 自动修复 + systemd 正确 + 无倒计时自动重启

set -e

echo "=== 检测 CPU 是否为 Intel ==="
CPU_VENDOR=$(lscpu | grep "Vendor ID" | awk '{print $3}')

REBOOT_NEEDED=0

if [[ "$CPU_VENDOR" == "GenuineIntel" ]]; then

GRUB_FILE="/etc/default/grub"
cp $GRUB_FILE ${GRUB_FILE}.bak

if ! grep -q "intel_pstate=passive" $GRUB_FILE; then
    echo "✅ 修改 GRUB 配置,添加 intel_pstate=passive"
    sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="\([^"]*\)"/GRUB_CMDLINE_LINUX_DEFAULT="\1 intel_pstate=passive"/' $GRUB_FILE
    update-grub
    REBOOT_NEEDED=1
else
    echo "✅ GRUB 已存在 intel_pstate=passive,无需修改"
fi

else

echo "⚠️ 非 Intel CPU,跳过 intel_pstate 设置"

fi

echo "=== 创建独立 governor 设置脚本 ==="
GOV_SCRIPT="/usr/local/bin/set-cpu-governor.sh"

cat > $GOV_SCRIPT <<'EOF'

!/bin/bash

设置所有 CPU 为 schedutil

for cpu in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do

if [ "$(cat $cpu)" != "schedutil" ]; then
    echo schedutil > $cpu
fi

done
EOF

chmod +x $GOV_SCRIPT
echo "✅ 脚本 $GOV_SCRIPT 已创建"

echo "=== 创建 systemd 服务文件 ==="
SERVICE_FILE="/etc/systemd/system/set-cpu-governor.service"

cat > $SERVICE_FILE <<EOF
[Unit]
Description=Set CPU governor to schedutil
After=multi-user.target

[Service]
Type=oneshot
ExecStart=$GOV_SCRIPT
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
EOF

echo "✅ systemd 服务文件已创建"

echo "=== 重新加载 systemd 并启用服务 ==="
systemctl daemon-reload
systemctl enable set-cpu-governor.service
systemctl start set-cpu-governor.service

echo "=== 检查并立即修复所有 CPU governor ==="
$GOV_SCRIPT

echo "=== 当前 CPU governor 状态 ==="
for cpu in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do

echo "$cpu : $(cat $cpu)"

done

echo "✅ schedutil 已设置为永久生效"

if [[ $REBOOT_NEEDED -eq 1 ]]; then

echo "🔄 GRUB 修改已生效,立即重启系统..."
reboot

else

echo "ℹ️ 无需重启,所有设置已生效"

fi

二、赋予执行权限 chmod +x set_schedutil_final.sh
三、直接运行 ./set_schedutil_final.sh