T470s 上安装 Linux 滚动发行版 openSUSE Tumbleweed

已经转移到 Linux 操作系统一年多的时间了,所以新机到了之后第一件事就是安装新的操作系统。为了享受滚动发行版及时的新硬件特性支持和应用软件更新,稍稍忍受一下时不时的一些小问题也是值得的,特别是在较新的硬件设备上。现在已经有很多滚动发行的 Linux 了,不过我还是比较喜欢和习惯运行 KDE 桌面的 openSUSE。

背景介绍

这次安装系统折腾了很长时间,所以需要记录一下。开始以为是自己在 BIOS 中关于 UEFI 的设置没搞对才无法启动 U 盘安装,后来发现原来是烧录安装光盘镜像到 U 盘的时候出了问题导致 U 盘无法引导。搞到最后都不知道默认的 BIOS 设置是否能够直接安装成功了。而且似乎最后安装成功的 UEFI 似乎也不是 Secure Boot 模式(多半还真是 Secure boot 模式)。(已确认,不是 Secure Boot 模式,详见后面的更新。)

因为是第一次安装使用 UEFI 而不是传统的 BIOS 引导的系统,所以开始做了不少功课。了解到 openSUSE 已经能够很好地支持 UEFI 引导,并且对 Secure Boot 的支持也没有问题。默认是通过 shim 来完成交接的。既然这样,那就直接在预装的 Windows 10 旁边安装 openSUSE Tumbleweed 吧。本来准备用 UEFI Secure Boot 特性的,结果折腾来折腾去好像弄成了非 Secure Boot 状态(但是引导系统里确实安装了 shim)。下面再解释原因吧。

之前提到过好几次 openSUSE 的安装了(比如 09 年直接从 Windows 分区启动安装,11年通过 Windows 分区中的光盘镜像安装,还有 16 年改用 U 盘镜像安装),这里就不再罗嗦很多细节,只把一些折腾的经历记录一下,长个记性,也给有需要的朋友一些参考。这次稍作改变,因为看到介绍说要用 UEFI 启动的话,需要同样使用 UEFI 启动安装过程,那么就是直接将安装光盘镜像烧录到 U 盘里最方便。咱就不折腾了,相信前辈的经验。

烧录光盘镜像到 U 盘

在 Windows 下制作的话推荐 ImageUSB。Linux 下制作的话可以接着往下看。

因为 openSUSE Tumbleweed 的安装光盘 DVD 镜像大约就是 4GB,有时候还稍大,所以需要准备一个最低 8GB 的 U 盘,将里面的文件备份到可靠的地方。然后就是下载 openSUSE Tumbleweed 的安装光盘 DVD 镜像。这个方法和过程应该同样适用于 openSUSE Leap。

烧录安装光盘到 U 盘有很多种方法。社区推荐的是使用 SUSE Studio ImageWriter。这个软件虽然已经很久没有更新了,但是用着还是没任何问题。还有就是 Linux 命令行上的 `dd` 和 `cp 指令。目前这三个方法都只适用于在 Linux 下烧录 U 盘了。

如果是在 Windows 下制备安装 U 盘,openSUSE SDB 上提供了一些方法,比如 ImageUSB、GRUB4DOS 等。

我实际用的是 Rufus,一个社区不怎么推荐的软件,运行在 Windows 上。我是在 Linux 里的 Windows 7 虚拟机里完成烧录的。但是后来我在 Windows 10 系统里再用 Rufus 的时候就发现不行了,不但没有提供 `dd 模式,而且就算基本的那个模式都无法烧录,总是提醒我需要一个可启动的光盘镜像才可以烧录成可启动 U 盘,否则就要我取消勾选「制作可启动 U 盘」那个选项。这个真是很莫名其妙。又试了 ImageUSB 才在 Windows 10 系统中制作成功。

但是不知道为什么,我在使用 openSUSE Tumbleweed 20170308 快照的时候,使用 SUSE Studio ImageWriter 和 dd 指令每次烧录的结果都是无法从 U 盘启动。本来很简单个事儿,折腾了大半天也没搞定。为了这个还在 openSUSE 论坛问了好久(帖子)。后来试了 cp 居然也是一样的不行。这里还是把方法记下来,回头再试试。

补充一点解释

根据后来的测试以及在论坛中的讨论,ImageWriter、cpdd、ImageUSB(Windows)和 Rufus 的 DD Image 模式(Windows)它们的原理应该是一样的,都是二进制复制(plain binary copy)。完成之后的 USB 驱动器对电脑来说就相当于一个 DVD。它们在我的 ThinkPad T470s 上不可用是因为这个 bug 939456。但是我测试的结果是它们应该都可以在 HP Pavilion 笔记本上使用,开启 EFI 的 Secure Boot 也没有问题。

根据 bug 939456 中的提示,使用 mksusecd 处理下下载过来的 DVD 镜像,

# mksusecd -c /path/to/new.iso /path/to/orig-download-tumbleweed.iso

之后再使用上面的方法制作 U 盘就可以顺利启动安装了。

SUSE Studio ImageWriter

这个本来是提供了 Windows 版本的,但是很久没有维护了。不过 openSUSE 的官方源还提供安装,于是就安装试试看,

$ sudo zypper install imagewriter

然后从开始菜单里的工具中找到它。很简单,很直观的工具。

dd

dd 是个工作在底层的磁盘工具。很强大,但是很难用。幸好这里只是用来制作个 U 盘,问题还不大。

操作前先确定 U 盘的路径。

$ sudo fidsk -l

注意看结果中的 U 盘大小。如果此时系统中只有一块硬盘,又没有其它的移动盘挂在系统上,那么多半就是 /dev/sdb 了。这个一定要确认好,不然误用了别的设备的路径那就哭死吧

先切换到光盘镜像所在的文件夹,

$ cd /path/to/the/iso/

取消挂载 U 盘,

$ umount /dev/sdX

假设光盘镜像名字为 ostw.iso,开始烧录,

$ sudo dd if=ostw.iso of=/dev/sdX bs=1M status=progress;sudo sync

注意是 /dev/sdX,不是 U 盘上的某个分区(/dev/sdX1)。

等待一阵子,估计得半个小时以上,要看 U 盘的写入速度了。

cp

有网友介绍了这个方法,作用跟 dd 差不多。

$ cp /path/to/iso/ostw.iso /dev/sdX

这里同样要注意确认 U 盘的设备路径 /dev/sdX。注意不是 U 盘上的某个分区(/dev/sdX1)(后面带了个数字)。

Rufus

运行在 Windows 下。下载地址 https://rufus.akeo.ie/

它提供了两种烧录方式,第一种说是可以让你在烧录光盘后还能使用剩余的 U 盘的空间。这个实际上没必要,因为安装完成后不就把 U 盘给重新格式化了吗?第二种是「dd」方式,估计跟 dd 指令那个差不多。网友说应该选用 dd 方式。但是我是后来才知道的,所以用了第一种方式。结果也成功完成安装了。但是过程中有几个文件说是无法复制,后来安装成功,启动后才从 YaST2 里面再次安装的那几个包。

我是在 Linux 里的 Windows 7 虚拟机里完成烧录的。这样做好不好咱不知道,反正能用。可是后来发现在 Windows 10 系统里却无法用 Rufus 制作 Linux 的安装光盘到 U 盘,但是 ImageUSB 可以。可见社区推荐 ImageUSB 也是有它的道理的。误,更正 –> Windows 10 系统中也可以用 Rufus 烧录 ISO 镜像到 U 盘的。只是操作顺序需要注意,(需要特别注意选择正确的「设备 Device」确保是正确的那个 U 盘

  1. 打开 Rufus 之后,需要从其窗口中间位置那里的下拉菜单中选择「ISO Image」模式,如下图方框位置。

    使用 Rufus 烧录 openSUSE Tumbleweed 光盘镜像到 U 盘

    使用 Rufus 烧录 openSUSE Tumbleweed 光盘镜像到 U 盘

  2. 点击「开始 Start」之后还可以选择 2 种模式中的一个,如下图,
    混合光盘的两种写入模式

    混合光盘的两种写入模式

    1. Rufus 推荐的「光盘模式 ISO Image mode」,写完后可以使用 U 盘的剩余空间;
    2. 「dd 镜像模式 DD Image mode」,使用完后 U 盘需要重新格式化才能使用;应该跟前面介绍的 dd 的效果是一样的。

Windows 10 开机初始化并准备磁盘分区

新机到手自然还是需要先开机试试各项功能是否都正常工作的。预装系统也就这么点用处了。开机自检、进入系统那是非常迅速,跟之前的 T420s 简直不可同日而语。所以有了旧电脑的对比,新电脑就算有不少缺点也都能忍了 :-D

初始化 Windows 10 照例是需要点击一系列关闭或者禁止信息收集之类的选项的,然后终于看到了很炫酷的桌面。WQHD 的 2560×1440 分辨率在 14″ 的显示器上表现果然还是很惊艳。尤其是在看惯了 TN 屏的低劣显示效果之后,IPS 屏幕就更冲击眼球了。图片、文字和色彩表现都非常清晰、锐利和鲜艳。

Windows 10 是预装的,还是留着吧,指不定什么时候就用上了。

准备给它留 100GB 磁盘,分成 C 盘系统盘和一个与系统无关的数据 D 盘,剩下的就都给 Linux 系统了。所以也不用麻烦,直接进入 Windows 10 的磁盘管理(右键单击「开始」图标 -> 「计算机管理」-> 「磁盘管理」)那里执行分区。先给压缩到只留 60GB 作为系统盘,再创建了一个新分区 40GB 作为平常习惯留 Windows 数据的 D 分区。这样一来,以前系统里的那些不需要安装的应用软件就可以直接复制到这里,也许在新系统中也能够直接使用。(其实不能用也没关系,反正现在不用了。)

512GB 的硬盘,实际可用容量是 476 GB。最后确定的分区是这样子的,

EFI     260MB
win c   60GB
win d   40GB
swap    2GB
/       40GB
/home   60GB
/data   240GB

按照网上的说法,留出了大约 7% 的容量未分配。之所以除了 //home 之外另留了个 /data 分区,是想着可以将不需要高频率备份的音乐和视频放在那里以减少备份时候的处理时间。是的,备份是使用电脑的第一要务。这是多年来的血泪教训。

建议不要在 Windows 10 下直接给 Linux 的部分磁盘进行分区,而是等到安装 Linux 系统的时候使用安装光盘上的分区工具进行分区。因为 Windows 10 的磁盘管理在分区的时候会给这些 Linux 分区设定分区类型为「Microsoft basic data」,仅仅格式化而不是修改 GPT 分区表的话是不会修改这个类型标记的。虽然似乎也可以在安装 Linux 之后通过 gdisk 程序修改分区类型,但是多一事不如少一事啊。

另外,因为计划中是 8GB+16GB 的内存配置,所以不打算用休眠功能,所以 /swap 分区只给了 2GB。平常使用电脑应该是不会用到 /swap 的,也就是个摆设,以提高系统的兼容性。实话实说,如果在不用虚拟机的情况下,我尽情折腾也用不完 24GB 内存的一个零头。

为了避免以后产生麻烦,在重启或者关闭 Windows 10 之前需要到「开始菜单」->「电源选项」->左侧「选择电源按钮的功能」->单击「更改当前不可用的设置」->下面「关机设置」里**取消**勾选「启用快速启动(推荐)」->下面「保存更改」这样来关闭 Windows 10 的快速启动功能。网上应该有很详细的图文教程。另外,如果关闭了 Windows 下的「休眠 hybernate」功能,则系统中不会再有「快速启动」选项,也就不需要关闭它了。

要关闭 Windows 下的「休眠 hybernate」功能,则

  1. 从开始菜单的所有程序中浏览找到命令行工具,右键单击选择使用「管理员 Administrator」身份运行它;
  2. 在打开的命令行终端中输入,
    >powercfg /h off

    来关闭休眠功能。

设置 BIOS

前面说过了,我因为折腾了太久,最后 BIOS 也让我改得面目全非。这里只提个大致的思路。(先看本小节小面的 2017-05-06 更新;这个「思路」还留着可以作为不支持 secure boot 的情况下的参考。)

  1. 先在在默认的 BIOS 设置下从 U 盘启动安装(开机按 F12 进入启动设备选择并找到 USB 盘来启动)。
  2. 不行的话,再试试开机按 F1 键进入 BIOS,到「Config」那一页,进入「USB」,开启「USB UEFI BIOS Support」。
  3. 如果还不行,那就试试 BIOS 里最后一个菜单页,将里面的「OS Optimized Defauts」设置为 「Disable」。
  4. 如果还不行,那就只有最后一个相关的设置了。注意,这一项启用后似乎无法恢复到原来的状态了(BIOS 里「恢复默认设置」都不行)开机按 F1 键进入 BIOS,到 「Security」页面,进入 「Secure Boot」 里面设置 UEFI 的「Secure Boot configuration」那里选中「Reset to Setup Mode」并按「Enter」键。在开启这个选项之前,其上方的「Platform Mode」和「Secure Boot Mode」是什么样子的我已经不记得了,开启之后分别变成了「Setup Mode」和「Custom Mode」。见下图。

    T470s BIOS UEFI Secure Boot 配置

    T470s BIOS UEFI Secure Boot 配置

也许是因为这个,我的 Secure Boot 状态现在变成莫名其妙的了:在刚进入 BIOS 的基本信息页面,显示的是 UEFI Secure Boot 那一项后面显示的是「OFF」,而在上图中的页面,Secure Boot 后面显示的是「Enabled」。

注意:如果已经安装好了 Linux 并有了 GRUB2 启动菜单,此时进入 BIOS 选择「恢复默认设置(Reset to Default」则会失去 GRUB2 启动菜单。虽然还可以恢复——里面的 /boot/efi/opensuse 文件夹还在——但是比较麻烦。详见恢复 UEFI 模式的 GRUB 启动菜单

更新 2017-05-06

因为更换硬盘,所以有机会再仔细记录针对 ThinkPad T470s 上 UEFI 模式下安装 openSUSE Tumbleweed 做一些尝试。结论是,

  1. 不管是否开启 secure boot,都可以通过 openSUSE Tumbleweed DVD 安装光盘启动并成功安装。该光盘是可以烧录到 USB 驱动器(U 盘)上使用的,因为 T470s 没有带光驱。
  2. 如果在关闭 secure boot(也就是上面 4. 中提到的「Reset to Setup Mode」)情况下安装,还可以在安装完成后通过「Restore Factory Keys」来再次启用 secure boot。启用后进入 opensuse secureboot 启动项的时候会询问是否信任该启动项。如果没有「Restore Factory Keys」,则该系统 EFI 的 secure boot 模式处于「OFF」也就是「关闭」状态。
  3. 如果烧录的 U 盘无法启动安装,可以尝试使用另一种方法重新烧录 ISO 镜像到 U 盘上。(我使用 ddcp、ImageUSB、SUSE ImageWriter 都失败了;使用 Rufus 的光盘烧录并选择「」 DD 模式才成功。具体原因未知。)

磁盘文件系统的选择

openSUSE Tumbleweed 安装默认的文件系统是 / 使用 Btrfs 并视磁盘大小开启 snapshot 功能;/home 使用 XFS 文件系统。目前主流的建议都是 Btrfs + EXT4。其实也有人建议在 /home 分区也使用 Btrfs 的。

根据 Phoronix 上的测试,在 Linux 4.10 内核上,Btrfs、XFS 和 EXT4 的性能是各有千秋。而根据 openSUSE 论坛上的这个讨论帖子,Btrfs 现在已经很好的支持 SSD 了,开发也很完善;EXT4 很臃肿,但是相关工具比较多;XFS 是企业级的。

我最后选择了在 /home 分区用 EXT4,但是我真的很想用 Btrfs 的,当然会关闭 /home 上的 snapshot 特性。等待大家的经验分享。当然,根据网友 gogalthorp 的建议,至少应该给 EXT4 分区加上这样的挂载参数,

ext4       noatime,acl,user_xattr 1 1

我最后在 /etc/fstab 里给 EXT4 分区添加了这样的挂载参数,

/home      ext4       noatime,acl,user_xattr 1 2
/data      ext4       users,noatime,acl,user_xattr       1 2

其中,后面的 1 2 是安装系统后默认的,我就没改。在 /data 上增加 users 是为了让所有用户都可访问(因为我修改了系统默认设定的用户目录权限 755700noatime 的意思是在访问文件的时候不写入访问时间记录,可减少对磁盘的写入(估计量也不大),但并不影响记录文件修改时间。具体见我的咨询帖

以后有机会了可能会考虑加密 /home 分区,但是现在还不敢尝试,怕一不留神弄不好要耽误太多时间折腾。万一正忙着的时候里面的数据弄丢了,那我只好跳楼了。

这次安装系统走了不少弯路,权当是花时间买个经验吧。希望这里记录的一点东西能给网友们一些参考。基本的设置就还是按照之前的经验来,后续一些其它的折腾经验都会发到 T470s 标签下面。©

本文发表于水景一页。永久链接:<https://cnzhx.net/blog/install-rolling-linux-opensuse-tumbleweed-on-t470s/>。转载请保留此信息及相应链接。

6 条关于 “T470s 上安装 Linux 滚动发行版 openSUSE Tumbleweed” 的评论

  1. 引用通告: 恢复 UEFI 模式的 GRUB2 启动项 | 水景一页

  2. 引用通告: Linux 系统中配置 T470s 的电源管理及充放电阈值 | 水景一页

  3. 引用通告: T470s 上 HiDPI 显示器在 openSUSE KDE 环境下的相关设置 | 水景一页

  4. 引用通告: ThinkPad T470s 上的 openSUSE 系统里设置开机自动配置 TrackPoint 指点杆 | 水景一页

  5. 引用通告: 针对 SSD 与大内存电脑的优化:内存虚拟硬盘的创建与使用 | 水景一页

  6. 引用通告: 在 T470s 上折腾 Linux 滚动发行版 openSUSE Tumbleweed 记录汇总 | 水景一页

雁过留声,人过留名

电子邮件地址不会被公开。 必填项已用*标注

特别提示:与当前文章主题无关的讨论相关但需要较多讨论求助信息请发布到水景一页讨论区的相应版块,谢谢您的理解与合作!请参考本站互助指南