我的电脑是神舟z7 kp7s1,显卡1060,尝试了Ubuntu的16.04,安装完进入界面总是卡死了,后面换18.04依然无解,和版本无关,而是因为英伟达的显卡问题。

参考了如下这篇文章:Ubuntu 16.04安装小记 最后成功安装了18.04,Ubuntu 18回归了gnome桌面,gnome shell extensions还是很给力的,美化完还是蛮好看的。

前言

Ubuntu大概是最容易安装的一个Linux发行版,因此本文并不是普通意义上的安装教程或新品尝鲜的感受。

本文针对的读者,是那些想在有双显卡(Intel和NVIDIA)的笔记本上安装Ubuntu 16.04的人,以及对我的电脑有浓厚好奇心的观众。

我的电脑

因为兴趣爱好和使用习惯上的偏好,我在去年年底购入了一台未来人游戏本,打算由此替换掉使用了两年多的Macbook Air,并彻底抛弃Mac平台。

这台未来人的主要配置如下:

  • CPU: Intel i7 6700HQ
  • GPU:
    • Intel HD 530
    • NVIDIA GTX 970M
  • Network Controller: Intel Corporation Wireless 3165

这些硬件配置意味着对系统的特殊要求:

  • 内核版本在4.2以上才能保证无线网卡的正常工作。
  • 内核版本在4.4以上才能完全支持SkyLake系列CPU。
  • 需要安装闭源驱动才能让独立显卡发挥出最高性能,同时支持双显卡切换。

为什么选择Ubuntu

从去年购入电脑之后,因为硬件太新的原因,我不断尝试安装各种不同的发行版,但无一成功,这其中包括:

  • Arch Linux: 我在这台电脑上安装Arch的时候,Kernel 4.4 还没发布,同时由于电脑上其他硬件以及我不信奉Arch哲学的原因,我没有对Arch做更多的尝试。
  • Gentoo Linux: 我是Gentoo的死忠,这次尝试过Gentoo之后发现,双显卡的设置令我捉摸不透,因此Gentoo暂时搁置。
  • Redhat系:由于Nouveau的原因,导致安装程序无法正常启动,放弃。
  • Debian:同上。
  • Ubuntu:尝试过各种版本号,其中大部分会因Nouveau的问题而挂掉,15.10 和16.04 可以安装上,安装完成后需要手动配置其他东西(内核版本、内核模块、闭源驱动等);最终我选择了16.04。

安装过程

Ubuntu 16.04 的安装过程一如既往地“无痛”。只是,在我这台电脑上安装完成后,无法直接进入系统(因为会死机)。

后续处理

因为Ubuntu 16.04 提供了4.4.0的内核,所以不需要再进行任何方式的内核升级,但因为要处理显卡驱动,所以还要简单处理一下内核模块。

显卡驱动

该发行版依旧内置了Nouveau 开源驱动,这是导致频繁死机的直接原因。接下来要做的三件事情是:

  • 禁用Nouveau 内核模块
  • 安装Intel HD 530 驱动(二选一)
  • 安装NVIDIA 闭源驱动(二选一)

禁用Nouveau 内核模块

首先添加一个blacklist:

1
 vi /etc/modprobe.d/blacklist-nouveau.conf

在这个文件中写入以下内容:

1
2
3
4
5
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

为了保证完全禁用掉,还要在内核中直接禁用Nouveau:

1
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf

这之后,更新配置试生效:

1
 update-initramfs -u

重启后再次进入系统,就能避免登录之后直接卡死的情况。

安装Intel HD 530 驱动

在进行完以上操作后,可以登录进系统,但卡死的情况仍然频繁发生。解决方案要么是安装Intel的驱动,要么是安装NVIDIA的闭源驱动,可以根据自己的需求来决定。

要安装的是Guc Firmware for SkyLake,可以来这里下载。

下载后,解压、安装、重启,电脑即可正常运行。如果不想安装NVIDIA闭源驱动的话,就可以到此结束了。

然而在我的电脑上,只安装Intel驱动会遗留一个Bug:无法支持外接显示器。

安装NVIDIA闭源驱动

网上有非常多种安装N卡驱动的方法,根据我的实验,只有最简单的是最靠谱的;用其他方法安装会出现各种意外。

首先打开Ubuntu 自带的Additional Drivers:

在Additional Drivers标签可以看到,系统已经识别出具体的N卡型号,并给出了闭源驱动的版本号:

在Terminal 中输入:

1
$ sudo apt-get install nvidia-[version] # version为具体的版本号,如图所示为'361'

安装完毕后,再在Additional Drivers里选择该驱动,重启即可正常使用。

可以看到,在NVIDIA Settings里,可以进行双显卡切换,不过切换后需要注销并重新登录才能应用设置。

这里有个尚未解决的Bug:在安装了N卡闭源驱动之后,如果在PRIME中选择应用Intel显卡,会出现无法正常关机的情况。因此一旦安装了N卡驱动,就一直使用N卡驱动吧。

输入法

我这里安装的是搜狗拼音,分三步:

  1. 从官网上下载了deb并安装时,会遇到依赖缺失的情况,用apt-get install -f解决。
  2. 进入系统设置的语言设置时,会提示语言未安装完全,此处要根据提示进行安装。
  3. 安装之后,在语言设置里设置使用Fcitx,在Fcitx设置的Input Method选显卡中记得添加Sogou Pinyin,这时搜狗拼音输入法才会在顶部显示出来。

结束

关于安装,到此告一段落。

然而经理了这么长时间的折腾,我对此还是有些感慨的:

  1. 不要购买太新的电脑用来跑Linux。
  2. 对于驱动软件,我认为闭源驱动比开源驱动更值得信赖。
  3. 作为一名Linux用户,应该定期查阅Kernel Mailing List。

【转】Ubuntu 18.04安装小记的更多相关文章

  1. Ubuntu 18.04 安装MySQL

    最近在写东西的时候,需要用到MySQL,在网上查了一下,都说Ubuntu18.04不能安装MySQL5.7.22, 总觉的不可能,所以自己就研究了一下,然后分享给大家 工具/原料   VMware W ...

  2. Ubuntu 18.04 安装博通(Broadcom)无线网卡驱动

    目录 Ubuntu 18.04 安装博通(Broadcom)无线网卡驱动 Package gcc is not configured yet. 解决办法 history history | grep ...

  3. 在Ubuntu 18.04 安装 MySQL 8.0

    在Ubuntu 18.04 安装 MySQL 8.0 ① 登入 mysql 官网,在官网中下载 deb 包,点击该链接,即可下载. https://dev.mysql.com/downloads/re ...

  4. Ubuntu 18.04 安装部署Net Core、Nginx全过程

    Ubuntu 18.04 安装部署Net Core.Nginx全过程 环境配置 Ubuntu 18.04 ,Nginx,.Net Core 2.1, Let's Encrypt 更新系统 sudo a ...

  5. Ubuntu 18.04 安装和常用软件安装

    Ubuntu 18.04 安装 下载 Ubuntu 制作 U 盘启动盘 设置电脑为 U 盘启动 插入 U 盘,重启电脑 按照提示安装 Ubuntu 更新 NVIDIA 显卡和 Broadcom 无线网 ...

  6. Ubuntu 18.04安装MongoDB 4.0(社区版)

    Ubuntu 18.04(虚拟机VirtualBox上),MongoDB 4.0, 听室友说,23点有世界杯决赛呢!可是,孤要写博文的啊!以记录这忙乱的下午和晚间成功安装了一个软件到Linux上.—— ...

  7. 真实机下 ubuntu 18.04 安装GPU +CUDA+cuDNN 以及其版本选择(亲测非常实用)【转】

    本文转载自:https://blog.csdn.net/u010801439/article/details/80483036 ubuntu 18.04 安装GPU +CUDA+cuDNN : 目前, ...

  8. [笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程

    Docker的好处之一,就是在Container里面可以随意瞎搞,不用担心弄崩Host的环境. 而nvidia-docker2的好处是NVidia帮你配好了Host和Container之间的CUDA相 ...

  9. Ubuntu 18.04安装arm-linux-gcc交叉编译器

    Ubuntu 18.04安装arm-linux-gcc交叉编译器

随机推荐

  1. C# 字符串提取数字

    转自:http://www.cnblogs.com/dolphin-gjh/p/6121792.html 一.使用正则表达式 1 string str = "sztq数字提取123sztq数 ...

  2. 【C#】Unicode的流言终结者和编码大揭秘

    如果你是一个生活在2003年的程序员,却不了解字符.字符集.编码和Unicode这些基础知识.那你可要小心了,要是被我抓到你,我会让你在潜水艇里剥六个月洋葱来惩罚你. 这个邪恶的恐吓是Joel Spo ...

  3. Linux Shell 文本处理工具

    Linux下使用Shell处理文本时最常用的工具: find.grep.xargs.sort.uniq.tr.cut.paste.wc.sed.awk: 提供的例子和参数都是最常用和最为实用的: 我对 ...

  4. 洛谷P1403 [AHOI2005] 约数研究 [数论分块]

    题目传送门 约数研究 题目描述 科学家们在Samuel星球上的探险得到了丰富的能源储备,这使得空间站中大型计算机“Samuel II”的长时间运算成为了可能.由于在去年一年的辛苦工作取得了不错的成绩, ...

  5. shell中的条件判断if和测试

    (一)条件判断 if 中-z 到 -d 的意思 [ -a file ] 若file存在,则为真. [ -b file ] 若file存在且是一个块特殊文件,则为真. [ -c file ] 若file ...

  6. 【BZOJ 4035】 4035: [HAOI2015]数组游戏 (博弈)

    4035: [HAOI2015]数组游戏 Time Limit: 15 Sec  Memory Limit: 32 MBSubmit: 181  Solved: 89 Description 有一个长 ...

  7. [CodeForces-513E2]Subarray Cuts

    题目大意: 给你一个数列,从中选出k个互不重叠的非空子串,定义s[i]为第i个子串的和,求|s[1]-s[2]|+|s[2]-s[3]|+...+|s[k-1]-s[k]|的最大值. 思路: 考虑将绝 ...

  8. Qt on android 蓝牙开发(控制小车)

    因为要做一个用蓝牙控制小车的app,就用着QT搞了下,网上关于QT蓝牙开发的资料比较少,我在这里记录下过程希望对看到了人有所帮助 首先在项目文件里添加 QT += bluetooth 这样就可以用QT ...

  9. 【原】【Git】EGit强制覆盖本地文件

    今天带来的是EGit使用中有时会用到的一个技巧,强制覆盖本地.EGit强制覆盖远端(其实没有这个说法),在另一篇文章中写了http://www.cnblogs.com/guodongdidi/p/48 ...

  10. es6 箭头函数 this 问题

    1. 在箭头函数出现之前,每个新定义的函数都有其自己的this值(例如,构造函数的 this 指向了一个新的对象:严格模式下的函数的 this 值为 undefined:如果函数是作为对象的方法被调用 ...