过去两天我都开着电脑一整夜,醒来后就去上班了。当我回到家时,Ubuntu 无法唤醒,最后我不得不硬关机,然后重启电脑。
我检查了我的系统日志并查看了每小时的 cron 报告,直到它关闭为止。
昨天:
Oct 19 12:17:01 elite CRON[6507]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Oct 19 19:43:09 elite rsyslogd: [origin software="rsyslogd" swVersion="7.4.4" x-pid="772" x-info="http://www.rsyslog.com"] start
今天:
最新的每小时 Cron 报告:
Oct 20 14:17:01 elite CRON[13180]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
然后:
Oct 20 14:18:28 elite dhclient: DHCPREQUEST of 192.168.1.137 on eth0 to 192.168.1.1 port 67 (xid=0x7daedddb)
Oct 20 14:18:28 elite dhclient: DHCPACK of 192.168.1.137 from 192.168.1.1
Oct 20 14:18:28 elite dhclient: bound to 192.168.1.137 -- renewal in 34922 seconds.
Oct 20 14:18:28 elite NetworkManager[886]: <info> (eth0): DHCPv4 state changed reboot -> renew
Oct 20 14:18:28 elite NetworkManager[886]: <info> address 192.168.1.137
Oct 20 14:18:28 elite NetworkManager[886]: <info> prefix 24 (255.255.255.0)
Oct 20 14:18:28 elite NetworkManager[886]: <info> gateway 192.168.1.1
Oct 20 14:18:28 elite NetworkManager[886]: <info> hostname 'elite'
Oct 20 14:18:28 elite NetworkManager[886]: <info> nameserver '192.168.1.1'
Oct 20 14:18:28 elite dbus[762]: [system] Activating service name='org.freedesktop.nm_dispatcher' (using servicehelper)
Oct 20 14:18:28 elite dbus[762]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
最新每小时报告:
Oct 20 15:17:01 elite CRON[13649]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
回家后启动:
Oct 20 22:05:15 elite rsyslogd: [origin software="rsyslogd" swVersion="7.4.4" x-pid="760" x-info="http://www.rsyslog.com"] start
答案1
最明显的答案是你的内存条有问题。尝试在 BIOS 中查找自动关机/开机设置,并确保它们被禁用
从闪存驱动器或 CD 启动 Ubuntu,然后选择内存测试并运行它,查看是否有任何错误,如果有,请更换内存条。
最糟糕的情况是您的 CMOS 电池可能出现故障。
答案2
首先,在开始之前保存所有未保存的工作。
打开终端并输入以下命令:
sudo pm-hibernate
系统应进入休眠状态。现在,重新打开机器,如果机器能够正常重新启动且没有任何问题,则您应该能够启用休眠功能(默认情况下禁用),并且在长时间不活动后不会再出现问题。
以下是启用休眠模式的方法。
打开终端并执行以下命令(您可以在此处使用任何文本编辑器:gedit、leafpad、mousepad、nano、vim 等):
gksu gedit /var/lib/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
并将以下内容复制/粘贴到文件中:
[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate
ResultActive=yes
保存文件并退出。然后重新启动以使更改生效。
现在,设置一个脚本以在挂起后自动启用休眠模式。
使用以下命令通过 gedit 打开新文件:
gksu gedit /etc/pm/sleep.d/0000rtchibernate
将以下内容复制并粘贴到文件内容中:
#!/bin/bash
# Script name: /etc/pm/sleep.d/0000rtchibernate
# Purpose: Auto hibernates after a period of sleep
# Edit the "autohibernate" variable below to set the number of seconds to sleep.
curtime=$(date +%s)
autohibernate=3600
echo "$curtime $1" >>/tmp/autohibernate.log
if [ "$1" = "suspend" ]
then
# Suspending. Record current time, and set a wake up timer.
echo "$curtime" >/var/run/pm-utils/locks/rtchibernate.lock
rtcwake -m no -s $autohibernate
fi
if [ "$1" = "resume" ]
then
# Coming out of sleep
sustime=$(cat /var/run/pm-utils/locks/rtchibernate.lock)
rm /var/run/pm-utils/locks/rtchibernate.lock
# Did we wake up due to the rtc timer above?
if [ $(($curtime - $sustime)) -ge $autohibernate ]
then
# Then hibernate
rm /var/run/pm-utils/locks/pm-suspend.lock
/usr/sbin/pm-hibernate
else
# Otherwise cancel the rtc timer and wake up normally.
rtcwake -m no -s 1
fi
fi
关闭 gedit 之前保存文件。
接下来,使文件可执行,并使用以下两个命令将副本放入 /usr/lib/pm-utils/sleep.d/ 中:
sudo chmod +x /etc/pm/sleep.d/0000rtchibernate
sudo cp /etc/pm/sleep.d/0000rtchibernate /usr/lib/pm-utils/sleep.d/0000rtchibernate
重新启动以使更改生效。