前言
博客基于Hexo平台,而Hexo发布到pages上面需要使用Git。为了使用Git方便且在学校也能水文章,我在我的戴尔灵越7590笔记本上安装了Win10 + Ubuntu 20.04双系统,并将论坛源文件从家中的NAS移动到笔记本的SSD中。
好不容易把系统配置好,能支撑日用了,不过我很快就遇到了睡死的问题——合盖后再打开经常会卡死在黑屏状态下,屏幕左上角有一白色光标。键盘操作、切换tty、敲击键盘均无反应,只能长按电源键强行关机再重启。
基本信息
参数 | 值 |
---|---|
CPU | Intel Core i7-9750H |
芯片组 | Intel HM370 |
内存 | 2 * 8GB DDR4-2666 SO-DIMM,镁光D9VPP颗粒 |
GPU | Intel UHD630 & NVIDIA GeForce GTX 1650 (4GB 128bit 8Gbps GDDR5) |
SSD | 西数SN750 500G (Win10) & 西数SN550 250G (Ubuntu) |
无线网卡 | Intel 9560AC CNVi |
屏幕 | 15.6" 1920x1080 VA,72% NTSC |
系统 | Windows 10 20H2 & Ubuntu 20.04 (5.8内核) |
解决过程
考虑独显问题
众所周知N卡在Linux下没有好用的开源驱动,系统自动帮我安装好了450版本的闭源驱动并配置好了双显卡切换。同时,老黄的Linux驱动也有各种毛病,于是尝试升级到最新460驱动,无解;在驱动控制面板中屏蔽独显,无解。因此暂时排除独显问题。
考虑Connected Standby问题
戴尔在近几年的机型中引入并默认启用了微软主推的Connected Standby (S0ix) 睡眠模式,而S0ix模式的问题很多,它所能提供的始终连接特性无法正常实现,且无法让电脑完全进入睡眠,导致电脑温度高、电量快速消耗,实际表现反而不如传统的S3睡眠;也给Linux、黑苹果等第三方系统带来了电源管理问题。联想在其机型的BIOS里提供了禁用S0ix的选项,而戴尔没有提供,只能手动改为S3睡眠。
根据灵越7590机型的ArchWiki条目,解决方法是在内核参数中增加acpi_rev_override=1 acpi_osi=Linux mem_sleep_default=deep
。开机进入GRUB,选中Ubuntu启动项,按 E 编辑启动项,在linux
所在行的quiet splash
前加上这三个参数,按 F10 键引导系统。进入系统使用一段时间后合上屏幕,静置几分钟后打开,机器正常唤醒。反复测试几次后问题未复现。
保存参数
上面通过在GRUB中E键编辑内核参数的方法只在此次启动生效,而为了每次启动系统都应用该修复,需要将这些参数都保存到GRUB配置文件中成为默认值。下面介绍保存这些参数的方法:
使用文本编辑器打开
/etc/default/grub
,这里我使用的是nano
:$ sudo nano /etc/default/grub
找到
GRUB_CMDLINE_LINUX_DEFAULT
一行,在quiet splash
前增加条目acpi_rev_override=1 acpi_osi=Linux mem_sleep_default=deep
。然后保存该文件。例如在nano
下则是 Ctrl+O,按回车确认保存,再按 Ctrl+X离开编辑器。更新GRUB配置文件:
$ sudo update-grub
这样无论是以后升级内核,还是手动执行
update-grub
,每次开机默认都会带上那三个参数。
本操作应该也适用于戴尔其他启用了S0ix的机型。
$ EOF.