安装 Ubuntu 双系统记录

麻了搞了一整天 因为电脑是 NVIDIA 显卡, 对 Linux 及其不友好, 所以装起来也比较麻烦. 记录一下.

由于我只有一块盘, 两个系统得装到一块盘里, 所以得分区.

分区用分区助手或者windows的磁盘管理都行.

下载 20.04.02 LTS 版本的 Ubuntu. 需要一块大一点的U盘, 把他用exFAT格式格了, 用 UltraISO 写入下载好的镜像文件.

重启, 从U盘启动, 在 grub 引导界面, 选中第一个Ubuntu(或者是install Ubuntu), 按 e 编辑启动设置(下面有提示), 然后找到倒数第二行, 末尾应该是

quiet splash ---

删掉 ---, 输入 acpi_osi=linux nomodeset

如果不这样做, 安装的时候点 install 会卡死.

原因是, Ubuntu 内置 NVIDIA 的第三方开源驱动 nouveau, 所以导致系统在安装过程中之别到了 NVIDIA 显卡而加载了这个驱动, 然后由于神秘原因他会卡死. 加这个启动参数把他禁用掉就可以了. 按照下面的提示操作(按 F10 回到引导)

然后进去安装, 有一步选择安装形式的, 第一个选项是保留Windows的某些目录, 第二个是重写硬盘, 第三个是其他, 选第三个. 设置分区. 具体是, 找到之前划出来的 free 空间, 点击左下角的 +, 先选择文件格式为 swap, 就是 linux 的交换空间, 选择逻辑分区, 大小填物理内存, 我的电脑是 16G. 然后划分 \boot 就是启动目录. 还是从 free 里添加, 主分区, 选择默认的 4(什么什么来着忘记了, 反正是默认的), 选择 \boot, 然后划个 1G (网上有说200M就够了的也又说 1G 的我觉得还是 1G 保险一点). 其他就不用细分了, 直接全部划给 /, 主分区.

接下来根据需求一路安装即可.

注意由于禁用了 nouveau, 分辨率很低, 会导致显示不完全, 按 Alt + F7 移动窗口即可.

重启进入 Ubuntu 系统, 但是这时候是无法输入密码是进不去的, 会循环卡在登录界面. 原因是启动了 nouveau. 按 Ctrl + Alt + F2 进入 tty 文本模式, 就是纯命令行. 在这里把 nouveau 加入黑名单, 就不会启动了. 到 /etc/modprobe.d 下, 找到 blacklist.conf, 先修改一下权限

sudo chmod 666 blacklist.conf

然后写入(记得用要 sudo 开 vi):

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb

(我也不懂除了 nouveau 之外的是在干什么, 反正找到的博客上这么写了我就这么加上就是了)

然后把文件属性恢复

sudo chmod 644 blacklist.conf

更新一下内核

sudo update-initramfs -u

重启, 就可以进图形桌面了.

并没有遇到这个情况qaq

先往 apt 里加入 NVIDIA 的 ppa 包

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

查看驱动版本

ubuntu-drivers devices

安装推荐驱动

ubuntu-drivers devices

如果用 21 版本的 Ubuntu 会因为内核太高级而装不起来.

以上步骤由于连接到 ppa 很迷, 一会很快一会超时, 需要多次尝试.

不出意外的话, 他会让你设置一个什么密码. 大概是说第三方驱动安装需要这个密码, 然后我们装的是"第三方"(别忘了集成的驱动是那个会让你进不去的 nouveau)设置就好了, 记得就行, 待会要用.

然后重启, 会出现蓝色背景的界面 perform mok management. 选择第二个 enroll mok, 然后选 continue 进入 enroll the key, 选择 yes 并输入之前设置的那个密码, 完成后会回到 perform mok management, 此时已经没有第二个选项 enroll mok, 了. 再选第一个 continue reboot.

如果一开始选了 continue reboot 会导致驱动没有安装上. 需要卸载重装:

sudo apt-get remove nvidia-*

然后再装一遍重新设置那个密码什么什么的.

以为就完事了吗? 重启后发现直接黑屏, 只有一个光标在第一行一闪一闪. 这是登录的图形界面没有加载出来. 按 Ctrl + Alt + F2 进入 tty, 可以检查一下驱动有没有安装上:

nvidia-smi

因为 20 版本的 Ubuntu 用的登录界面是 gdm3, 与 NVIDIA 驱动不兼容. 我们需要换一个登录界面, 比如 lightdm

sudo apt-get install lightdm

然后他会让你选择登录界面是 gdm3 还是 lightdm.

之后就可以啦!

或者, 不知道为什么, 在 tty 里登录了以后, 再按 Ctrl + Alt + F1 回到图形界面, 他居然奇迹般的好了! 离谱(可以用这个方法避免别人使用电脑hhhh).

由于 Windows EFI 引导后的界面是 BCD 类型的? 然后主板用的是 EFI 引导, 所以 Ubuntu 没有出现在 Windows 的引导界面. 但是, Win10 的蓝色背景的那个 Metro bootloader 引导有更多选项, 然后可以在奇怪的地方找到 Ubuntu 系统. 或者可以用 EasyUEFI 设置 EFI 引导顺序是 Ubuntu 在先, 这样的话可以进入 grub 引导, grub 里有 Windows 的. 或者还可以用一个什么第三方引导? 不想折腾啦.