0%

Deepin又一次折腾记录

Deepin 15.10.2 stable

最近又重装了一遍Deepin,全新安装最新版本Deepin15.10.1,然后更到15.10.2(赶上这几天Deepin更新了)。此次安装折腾了两天,解决了很多之前的问题,当然,也出现很多之前没有出现过的问题(流泪)。
得到了很多经验体会,特此记录
(这几天不断地强制关机,感觉我的机械硬盘命不久矣噢…TAT)

安全模式安装系统

首先是全新安装,日常出现卡在DeepinLogo处死机的现象。重新开机(没错就是先强制重启),选择install faillsafe,进入安全模式。(这里有时候也会进不去,多试两次就进去了)。
(这里出现过一个很有意思的问题:安全模式下长时间不操作,系统待机,唤醒后是用户登录页,需要输入密码,我都没有设置用户和密码怎么登录??蒙了好几个所谓初始密码后,放弃,强制重启)
安全模式中,我是先安装了intel-microcode,因为在开机日志里会看到update microcode to version 0x52

sudo apt-get install intel-microcode

注:使用其他源(如上交大源)可能会无法定位该包,建议先切回官方源。
然后更新独显驱动,因为15.5版本的时候,一更新系统内核就会崩,即卡在logo无法进入系统,直到更新了显卡驱动,后才能正常时候新内核

sudo apt-get install nvidia-driver // 其实是安装了一个闭源的显卡驱动

然后点击桌面的安装程序开始安装。
安装成功后即可进入系统。注意重新安装一下intel-microcode,和显卡驱动,因为安全模式的安装的软件,到正常系统就没有了(安全模式大概就类似windows下的PE系统吧)。

更新软件列表及更换镜像源

接着更新软件列表

sudo apt-get update

注意,在此之前可以先更换一下软件源,因为官方源一般会比较慢。据说在广东及河南等地,上交大的镜像源会比较快。另外华为云在社区口碑也不错。更换方式如下,进入/etc/apt/source.list直接添加(1)或命令行添加(2):

  1. deb [by-hash=force] http://ftp.sjtu.edu.cn/deepin panda main contrib non-free
  2. sudo sed -i “s@http://packages.deepin.com/deepin@https://mirrors.huaweicloud.com/deepin@g" /etc/apt/sources.list

该命令会顺带更新系统。

独显问题开始作妖

升级完系统后,又出现问题了。
我的dde桌面突然退到2D模式,即关闭了桌面动画,而且系统软件打开后都会出现厚厚的黑框框。经查确实是处于2D模式且无法切换为3D模式。我就感觉,必然又是显卡出了问题。折腾大半天,切换为大黄蜂显卡驱动方案可以解决问题。
切换方式可以通过

sudo apt-get install bumblebee-nvidia nvidia-driver nvidia-settings

安装大黄蜂驱动,也可以直接在系统软件“显卡驱动管理器”中自动安装切换。具体方式如下:
安装大黄蜂显卡驱动
其实一开始切换是有点慌的,因为在社区见过有旁友装了大黄蜂以后无法进入系统。

待机后无法唤醒

然而后来确实出现问题了。我发现待机时间过长,显示屏关闭后,无法唤醒显示屏。虽然可以听到系统确实已经启动,可以听到wifi连接的提示音,但是显示屏就是不亮。
这个在社区已经臭名昭著的待机后无法唤醒的问题,今天终于被我遇上了。。TAT
在社区看了很多帖子,都说没有可以真正解决的方式,无非强制计算机不待机(??)。期间我也试过切换回开源驱动,即默认的驱动,但是没有效果,于是最后只得切回大黄蜂(听说该驱动省电),然后…强制不待机…
感觉很多问题挖到后边都能和独显扯上关系啊…

pcspkr问题??

这一次更新系统后,还出现一个新的现象,出现系统Logo后,一般就进入用户登录界面了,但现在在Logo页还会打印log,其中是一条报错信息

Error: Driver ‘pcspkr’ is already registered, aborting…

甚至在前几次开机时,出现该log后,是有一定几率进不去系统的。。貌似upate以后就可以稳定进入了但是每次到那个地方还是会有停顿的样子。每次都会提一口气担心系统又这样挂掉了。
查了一下,这是一个跟蜂鸣器相关的内核模块,想想确实Deepin在那个时间会调蜂鸣器发出进入系统的提示音。找了一圈找到的解决方式是

  1. aptitude install alsa-base
    echo blacklist snd-pcsp >> /etc/modprobe.d/alsa-base-blacklist

  2. 据说该方法原理是屏蔽该模块

    echo -e “# Used for shielding pcspkr module, this module seems to be related to buzzer.\nblacklist pcspkr” | sudo tee /etc/modprobe.d/blacklist-pcspkr.conf

由于我虽然出现这个问题,但是后来都不影响启动,所以我也没折腾这个问题。但据社区的帖子所说,这两个方法貌似都没能根治该问题…


臭名昭著的Logo死机问题

关于开机时卡在logo处的问题,另找到一个解决方案:
开机后在grub引导时,选择deepin系统,先不要按Enter,按e键进入编辑模式

在菜单中的代码中,找到倒数第二行,会出现如下所示的代码:
linux /vmlinuz-4.15.0-29deepin-generic root=UUID=b66d8ffa-aed9-466c-bc12-6bb801e45901 ro splash quiet
表示加载的linux内核文件,后面是内核的参数,各项含义为
root告诉内核根分区的设备
ro表示在设备启动时为read-only,如果是rw表示read-write
splash表示开机动画
quiet表示在启动过程中只有重要信息显示,类似硬件自检的消息不会显示quiet表示在启动过程中只有重要信息显示,类似硬件自检的消息不会显示
single以单用户模式登录,一般用于修改系统,比如deepin密码忘记了等等。single以单用户模式登录,一般用于修改系统,比如deepin密码忘记了等等。
在quiet的后面空一格加上如下所示的代码:acpi_osi=! acpi=”windows 2009”,按F10保存即可。这时会重新开始登录deepin系统,耐心等待进入桌面。

但是以上操作只能成功进入系统一次,大概因为以上对grub的设置其实写到一个临时文件中,所以不能对以后的进入奏效。
所以需要对grub的设置文件进行修改,永久性解决该问题。进入系统以后,执行

sudo gedit /boot/grub/grub.cfg

打开配置文件。如果系统没有gedit可以使用vim或nano打开,仍在原来的位置加上,acpi_osi=! acpi=”windows 2009”
据说这种操作的原理是:旧版的BIOS无法打识别一些新版的linux内核,所以添加该语句让系统“误以为”是Windows系统。
参考原文


备注:系统的显卡驱动管理器中原本有一个NV-PRIME方案,用于混合显卡的驱动。但15.10.2stable版本中官方禁用了prime方案(暂时)。

如果对上述问题有较好的解决方式或看法,欢迎交流[邮箱 xiaohuangren028@gmail.com]


完结 撒花 ฅ>ω<*ฅ