定时关机自动唤醒降低住宅主机电费
许多家庭都会用一台旧电脑或小主机跑下载、文件共享或搭建个人网站,但 24 小时开着电费确实不低。
如果能让它夜里自动关机、白天按需唤醒,一年能省下不少钱。
本文直接带你走一遍从 BIOS 到系统的完整配置,零基础也能跟着操作。
准备工作:确认硬件是否支持
不是所有主板都支持定时唤醒,但 2010 年以后的绝大多数主板都带 RTC(Real-Time Clock)唤醒 功能。
你要做的第一件事是重启电脑进入 BIOS/UEFI。
- 开机时按 Del、F2、F10、Esc(不同主板不一样,屏幕通常有提示)进入设置界面。
- 找到一个叫 Power Management Setup、ACPI Settings 或 Wake Up Event 的选项。
- 确认里面有 Wake on RTC Alarm 或 Resume by Alarm 项,并且可以设置日期和时间。
如果你的主板完全找不到这类选项,说明不支持自动唤醒,只能考虑加装智能插座或使用网卡唤醒(需另一台设备发魔法包)。
第一步:设置自动唤醒时间(BIOS 操作)
- 在 BIOS 中找到 Wake on RTC Alarm,将其设为 Enabled。
- 下方通常会出现 Wake Up Date(唤醒日期)和 Wake Up Time。日期可以选 Every Day(每天)或指定某天,建议选 Every Day,方便日常使用。
- 时间设定为你希望主机自动开机的时刻,比如早上 8:00。
- 按 F10 保存退出。
不同主板选项名可能略有差异,例如华硕叫 Restore on AC Power Loss 旁边才是 RTC,技嘉叫 Resume by Alarm。
如果找不到,可以去官网下载对应型号的说明书。
第二步:设置定时关机(Windows 任务计划)
Windows 系统自带计划任务,不用装额外软件。
- 按 Win + R,输入
taskschd.msc并回车。 - 在右侧点击 创建基本任务。
- 名称填“定时关机”,触发器选 每天,设置具体时间(例如 23:00)。
- 操作选择 启动程序,程序或脚本填
shutdown,参数填/s /t 0(立即关机)。 - 完成创建。之后每天到了设定时间系统就会自动关机。
如果想在执行前有 30 秒倒计时,可以把参数改成 /s /t 30。
第三步:设置自动唤醒与关机的组合(Linux 环境)
如果你的住宅主机跑 Linux(Ubuntu、Debian、CentOS),可以用 cron + rtcwake 来实现。
- 安装
rtcwake(一般系统自带):sudo apt install util-linux(Ubuntu/Debian)。 - 编辑 cron 表:
sudo crontab -e。 - 添加以下两行(以每晚 23:00 关机、次日 8:00 唤醒为例):
0 8 * * * /sbin/rtcwake -m no -t $(date +%s -d 'tomorrow 08:00')
0 23 * * * /sbin/shutdown -h now
解释:每天 8:00 执行 rtcwake 设置下一次唤醒时间为明天 8:00,23:00 关机。-m no 表示只设置唤醒时间但不断电。
更简单的做法(单次设置后不再修改):先决定每天固定时间开机,然后在 BIOS 里设好唤醒时间,在系统里只用 cron 定时关机即可。
避坑指南:容易忽略的三个细节
- 电源模式:如果你的主机设置了“休眠”而非“关机”,RTC 唤醒可能无法生效。务必使用完全关机(Shut Down)。Windows 可在“电源选项”中关闭快速启动。
- BIOS 电池:如果每次断电后 BIOS 时间都重置,说明主板电池没电了,需要换一颗 CR2032 纽扣电池,否则定时唤醒会失效。
- 网络唤醒与 RTC 唤醒冲突:部分主板同时开启 Wake-on-LAN 和 RTC 唤醒时,可能会互相干扰。建议只保留 RTC 唤醒,或者自己测试验证。
效果验证:怎么知道设置成功了
- 白天:手动关机,等待预设唤醒时间到了,看主机是否自动启动。如果成功,风扇和指示灯亮起。
- 晚上:到设定的关机时间,观察主机是否自动断电。Windows 可以在事件查看器中搜索“关机”日志;Linux 运行
last -x | grep shutdown查看。 - 用电量对比:用一个智能插座或功率计测量前一晚待机功耗和设置后的关机功耗,你会发现关机后功耗接近零。
常见问题解答
问:我的 BIOS 里没有 RTC 唤醒,还能实现自动开机吗?
答:可以试试网络唤醒(WOL),需要另一台设备或路由器发送魔法包。不过配置稍复杂,且不能完全独立于网络环境。
问:能否设置多个不同的关机/唤醒时间?
答:BIOS 只能设一个唤醒时间。关机可以在系统里排多个计划任务。如果需求更灵活,考虑用智能插座通过手机 app 定时通断电,但突然断电对硬盘有风险,不建议。
问:Linux 下 rtcwake 报错“无法设置唤醒时间”怎么办?
答:先确认你拥有 root 权限,并且 rtcwake 命令能正常执行。如果依然报错,检查 /sys/class/rtc/rtc0/wakealarm 文件是否可写。部分虚拟机或旧内核不支持。
问:Windows 定时关机后会不会有未保存的工作丢失?
答:会。建议在计划关机时间前留出时间手动保存并关闭程序,或者在计划任务中使用 /f 参数强制关闭应用(但有数据丢失风险)。
如果你正在折腾住宅主机省电,建议先按本文步骤配置好定时关机和自动唤醒,再用一周时间观察实际用电量和稳定性。
遇到异常时,重点排查 BIOS 设置和电源选项,一般都能解决。