开启Secure Boot安装Windows和Ubuntu双系统
现在新的电脑硬件基本都采用UEFI(Unified Extensible Firmware Interface)代替了老旧的BIOS。UEFI与BIOS在安装系统上有诸多不同,本文讲述在一台预装了Windows 10的笔记本电脑上安装Ubuntu 18.04的过程。
Secure Boo是UEFI的一项功能,能防止恶意软件感染引导,是很好的安全措施。在开始之前,我也参阅了一些网上文章,有些提到要关闭Secure Boot,其实是没必要的,较新版本的64位Ubuntu已经能很好的兼容Secure Boot了。本文是在开启Secure Boot的情况下操作的。
本文的素材写于2018年10月,硬件是Lenovo Legion Y7000P-1060 2018,由于不同硬件差异较大,即使相同型号不同批次也可能有变化,所以本文内容不一定适合所有情况,仅供参考。
参考链接:
准备工作
机器本身预装了Windows 10 Home,所以,安装Windows的过程就免了。
不过,有些准备工作得在Windows下进行:
- 所有硬盘空间已经被Windows占据,通过磁盘管理工具,将现有的Windows分区压缩,空出一块未分配的空间,供接下来的Ubuntu使用;
- 如果你打算在Ubuntu下挂载Windows分区,需禁用Windows的快速启动与休眠功能(设置→系统→电源和睡眠→其他电源设置→选择电源按钮的功能)。
安装Ubuntu
用Ubuntu安装CD或U盘引导,进行安装。
要点在磁盘分区步骤,这里只在未分配空间上新建两个分区:交换分区swap和根分区/(小硬盘没必要划分太多分区)。当然,你可以根据需要划分别的分区,但EFI分区是没必要的,因为预装Windows时已经建了一个,而一台机器上只需要一个EFI分区,Ubuntu会自动识别并将其挂载到/boot/efi/。
机器的硬盘设备名是/dev/nvme0n1,相应的,grub2引导程序也安装在/dev/nvme0n1。
下面是安装好后,在Ubuntu系统下看到的最终磁盘分区情况:
$ sudo parted -l /dev/nvme0n1 Model: SAMSUNG MZVLB512HAJQ-000L2 (nvme) 磁盘 /dev/nvme0n1: 512GB Sector size (logical/physical): 512B/512B 分区表:gpt Disk Flags: 数字 开始: End 大小 文件系统 Name 标志 1 1049kB 274MB 273MB fat32 EFI system partition 启动, esp 2 274MB 290MB 16.8MB Microsoft reserved partition msftres 3 290MB 380GB 380GB ntfs Basic data partition msftdata 5 380GB 384GB 4096MB linux-swap(v1) 6 384GB 511GB 127GB ext4 4 511GB 512GB 1049MB ntfs Basic data partition 隐藏分区, diag
分区1是EFI分区,分区3是Windows的C盘,分区5是Ubuntu的swap分区,分区6是Ubuntu的根分区。
安装完成,正常情况下重启会出现菜单,可以选择进入Ubuntu或Windows。
安装后配置
Secure Boot与硬件驱动
由于开启了Secure Boot,所以一些第三方硬件驱动时需要注册才能使用。
比如安装这台机器的NVIDIA显卡驱动:
$ sudo ubuntu-drivers autoinstall
会提示创建一个注册(enrollment)密码,完毕重启系统,根据提示输入刚才的密码后显卡驱动才能被正确加载。所以,Secure Boot是一个很好的功能,不得已情况下不建议关闭它。
重启注册驱动的过程没有截图,可以参考这个链接的图片:SecureBoot - Systemtap Wiki,不同产家显示可能有些许差异,但大致步骤是一样的。
系统时间
缺省情况下Ubuntu的系统时间是UTC,而Windows的系统时间是本地时间,这就导致在两个系统间切换时的时钟混乱问题。解决方法就是将两者调整一致,要么修改Windows,要么修改Ubuntu。
这里选择把Ubuntu的时间设置为本地时间:
$ sudo timedatectl set-local-rtc 1
触控板
用过Mac的人都会对它的触控板赞不绝口,如今Windows 10的触控板支持也不错了,在Linux下稍加配置,也可达到相同的效果。
这里使用的方案是Fusuma,其主页有详细说明:https://github.com/iberianpig/fusuma,就不赘述了。