安静刷机新体验!拾光坞G2第三方系统风扇降噪保姆级教程
使用拾光坞G2的小伙伴们大家好,由于拾光坞不限制刷机的策略,是不是很多小伙伴拿到G2后已经忍不住刷了第三方系统?那么,是不是有很多小伙伴刷其他系统之后,感觉风扇很吵呢?
别慌!问题的核心我们懂。首先,拾光坞G2原系统内置风扇智能阶梯调速算法,可跟随CPU温度波动,进行智能、阶梯式平缓调控风扇转速,避免骤升骤降导致的突兀刺耳声。用户还可以手动通过拾光坞APP进行设置风扇开关的温度(详见下图路径)。但刷第三方系统后,风扇自动调速模块失效,双风扇之一会持续100%运行,导致部分用户觉得声音过大。
未刷机前调节风扇温度路径:拾光坞APP首页-应用中心-云盘管理-云盘风扇
图片保姆级降噪方案
接到用户反馈后,为了让大家刷第三方系统时也能正常控制转速,降低风扇噪声,我们特地编译了一个一键控制转速调速神器,快速让风扇回归安静,供大家使用。
Linux风扇转速控制:以下方案已在 Debian 12, Ubuntu 22.04, FNOS, PVE 8.4 等常见 Linux 发行版上验证通过。其他系统的操作逻辑大致相同,仅供参考:
1 .下载G2 风扇控制转速程序
wget
http://down.sgwbox.com/tools/x86/fanctrl-O /root/fanctrl;chmod +x /root/fanctrl;
用法:
./fanctrl (0~100)
例如:
./fanctrl 40 表示设置风扇转速为40%
./fanctrl 80 表示设置风扇转速为80%
实测常规设置风扇转速为50%是基本听不到声音的;大于60略吵,全速运转有点吵;建议大家正常设置50%转速即可,两个风扇50%转速对于日常使用散热已是足够。
以上就可以告别恼人的噪声了!
(下面是写给一些有温控需求但是又懒得自己写程序的小伙伴:风扇转速能控制了,但是这个设置是一次性的,我想要根据温度调整怎么办,能不能弄个温控脚本,当CPU超过一定温度后,暂时接受噪声的困扰可以让风扇全速运转快速降温,避免cpu极端温度导致系统卡死?那必须可以,整一个:)
2、温控调整
以下脚本我自己写来测试的,仅仅提供一个思路,技术大佬可以自行编写更高效的程序
1)安装依赖
apt update
apt install hdparm hddtemp smartmontools
2)下载温控脚本
wget http://down.sgwbox.com/tools/x86/fan_control.sh -O /usr/local/bin/fan_control.sh;
chmod +x /usr/local/bin/fan_control.sh;
以下是部分设置项,可以根据需要自行修改
...# 配置文件路径STATE_FILE="/var/run/fan_control.state"LOG_FILE="/var/log/fan_control.log"FAN_CTRL="/root/fanctrl"# 初始化设置MAX_CPU_TEMP=80 # CPU温度阈值(℃)MAX_HDD_TEMP=50 # 硬盘温度阈值(℃)SAFE_FAN_SPEED=40 # 安全温度下的风扇转速(%)# 初始化状态init_state() { if [ ! -f "$STATE_FILE" ]; then echo "current_speed=$SAFE_FAN_SPEED" > "$STATE_FILE" echo "last_action=initialized" >> "$STATE_FILE" $FAN_CTRL $SAFE_FAN_SPEED fi # 读取当前状态 source "$STATE_FILE" 2>/dev/null || { echo "current_speed=$SAFE_FAN_SPEED" > "$STATE_FILE" source "$STATE_FILE" }}...
3)启动服务
/usr/local/bin/fan_control.sh --service
建议使用systemd管理守护进程(下面会写怎么弄)
4)查看状态
/usr/local/bin/fan_control.sh --status
5)查看日志
/usr/local/bin/fan_control.sh --log
或者
tail /var/log/fan_control.log
脚本功能
1. 多源温度检测
CPU:优先使用x86_pkg_temp,备选coretemp硬盘:智能检测休眠状态,支持hddtemp/smartctl/sysfs三种方式
2. 智能风扇控制
超温时逐步增加风速(+10%/分钟)恢复正常后自动降回40%防止风扇剧烈波动
3. 完整日志记录
所有操作和时间戳记录到/var/log/fan_control.log
当前状态保存到/var/run/fan_control.state
4. 休眠保护
硬盘休眠时不检测温度避免唤醒
检测失败有备用方案
示例:
# fan_control.sh --status
===== 系统温度监控状态 =====
当前风扇转速: 40%
CPU温度阈值: 80°C
硬盘温度阈值: 50°C
CPU当前温度: 58°C
硬盘当前温度: 34°C
最后状态记录:
cpu温度:55°,硬盘温度:34°,风扇转速:40%
最后操作记录:
初始风扇转速: 40%
启动温度监控服务
初始风扇转速: 40%
使用: /usr/local/bin/fan_control.sh --service 以守护进程方式运行
#日志查看示例
# tail /var/log/fan_control.log
[2025-07-03 10:44:03] cpu温度:55°,硬盘温度:34°,风扇转速:40%
[2025-07-03 10:45:03] cpu温度:57°,硬盘温度:34°,风扇转速:40%
[2025-07-03 10:46:04] cpu温度:54°,硬盘温度:34°,风扇转速:40%
[2025-07-03 10:47:04] cpu温度:57°,硬盘温度:34°,风扇转速:40%
[2025-07-03 10:48:04] cpu温度:57°,硬盘温度:34°,风扇转速:40%
[2025-07-03 10:49:04] cpu温度:55°,硬盘温度:34°,风扇转速:40%
[2025-07-03 10:50:04] cpu温度:57°,硬盘温度:34°,风扇转速:40%
[2025-07-03 10:51:04] cpu温度:57°,硬盘温度:34°,风扇转速:40%
[2025-07-03 10:52:04] cpu温度:58°,硬盘温度:34°,风扇转速:40%
[2025-07-03 10:53:05] cpu温度:55°,硬盘温度:34°,风扇转速:40%
如果需要让程序放入后台一直运行,有两种方式:
1.简单方便
nohub /usr/local/bin/fan_control.sh --service &
2.如果觉得不够优雅,可以加入系统服务,并设置开机启动:
1)创建风扇控制服务
tee /etc/systemd/system/fan-control.service <
[Unit]
Description=Fan Control Service
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/fan_control.sh --service
Restart=always
RestartSec=60
User=root
[Install]
WantedBy=multi-user.target
EOF
2)设置开机启动,并立即启动
systemctl daemon-reload
systemctl enable fan-control
systemctl start fan-control
3)日志查看
# tail /var/log/fan_control.log
[2025-07-03 10:44:03] cpu温度:55°,硬盘温度:34°,风扇转速:40%
[2025-07-03 10:45:03] cpu温度:57°,硬盘温度:34°,风扇转速:40%
[2025-07-03 10:46:04] cpu温度:54°,硬盘温度:34°,风扇转速:40%
[2025-07-03 10:47:04] cpu温度:57°,硬盘温度:34°,风扇转速:40%
[2025-07-03 10:48:04] cpu温度:57°,硬盘温度:34°,风扇转速:40%
[2025-07-03 10:49:04] cpu温度:55°,硬盘温度:34°,风扇转速:40%
[2025-07-03 10:50:04] cpu温度:57°,硬盘温度:34°,风扇转速:40%
[2025-07-03 10:51:04] cpu温度:57°,硬盘温度:34°,风扇转速:40%
[2025-07-03 10:52:04] cpu温度:58°,硬盘温度:34°,风扇转速:40%
[2025-07-03 10:53:05] cpu温度:55°,硬盘温度:34°,风扇转速:40%
以上就是今天分享的全部内容了,如果对你有帮助,欢迎点赞、留言、加个关注!
