在 ThinkPad X1 Carbon Gen 7 上使用加密文件系统和 UEFI 安装 ARCH Linux
在本文中,我们将在 ThinkPad X1 Carbon Gen 7 笔记本电脑上安装 Arch Linux。本教程包含 Arch Linux 的安装说明、基本配置以及一些安装后调整,以帮助您入门。
大多数说明都是 Arch Linux 安装通用的,因此只需进行简单修改,本教程即可用于任何 UEFI 系统安装。但是,有些要点是 ThinkPad X1 Carbon Gen 7 特有的,因此,如果您要安装除 ThinkPad X1 Carbon Gen 7 以外的 Arch Linux PC/笔记本电脑,则需要基本的 Linux 管理技能。
请注意
本指南仅帮助您入门。如果您对如何提高性能有一些其他提示和技巧,请使用下面的评论,以便我们将它们合并到本指南中。
谢谢。
完成本教程后,您将得到:
安装 Arch Linux 和 GNOME 桌面
使用
luks
加密对/
目录进行加密使用 systemd-boot 配置 Linux 引导加载程序
创建逻辑卷和分区来托管您的
swap
和/
目录为您的
/boot
目录配置 EFI 分区基本系统配置和微调
能够使用无线从 GNOME 桌面连接到 WiFi
正常工作的蓝牙和 Thunderbolt 控制器
能够升级 ThinkPad X1 Carbon Gen 7 上的固件
ThinkPad X1 Carbon Gen 7 笔记本电脑上的 ARCH Linux
在 ThinkPad X1 Carbon Gen 7 上安装 ARCH Linux 分步说明
为了避免任何混淆,假设和/或推荐以下 BIOS 设置:
BIOS
安全启动
已禁用内核 DMA 保护
已禁用。这是禁用 Thunderbolt BIOS 辅助模式所必需的。Thunderbolt BIOS 辅助模式
已禁用。这是 Thunderbolt 控制器固件升级所必需的为了确保您与本教程保持一致,请将引导方法设置为
UEFI Only
可选 I/O 端口访问配置
睡眠状态
设置为 Linux下一步是创建可启动的 Arch Linux USB。下载官方 Arch ISO,插入任意 USB 闪存驱动器并执行以下命令,假设
/dev/sdX
是 USB 闪存驱动器的块设备名称:# ddrescue archlinux-XXXX.XX.XX-x86_64.iso /dev/sdX --force -D
创建 Arch Linux USB 闪存驱动器后,将其插入 ThinkPad X1 Carbon,打开笔记本电脑并按
F12
。将弹出启动菜单。从那里选择 UEFI CD 的第一个选项。如果一切顺利,现在您应该会看到 Arch Linux 命令提示符并以 root 用户身份登录。我们需要做的第一件事是访问互联网。输入命令:
# wifi-menu
按照向导输入无线网络的 SSID 和适当的驱动程序。这可能需要几秒钟,但成功后请执行
ping
命令确认您可以访问互联网:$ ping -c 1 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=52 time=9.81 ms --- 8.8.8.8 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 9.810/9.810/9.810/0.000 ms
接下来,我们将对硬盘进行分区。我们将创建 2 个分区。第一个分区将用作 EFI 端,最终安装为
/boot
。第二个分区将用于为/
和swap
分区创建逻辑卷。执行以下 cfdisk 命令或使用您熟悉的任何其他分区工具:警告
执行以下命令将基本上清除硬盘驱动器上的所有文件系统和数据,并且无法返回。确保您确定自己在做什么。# cfdisk -z /dev/nvme0n1
对 SSD 驱动器进行分区。这将删除所有分区和数据。确保你知道自己在做什么。
选择 GPT 标签类型。
创建两个分区,如该屏幕截图所示。确保还选择适当的文件系统类型。 EFI 分区大小应介于 300 – 500MB 之间。仅供您参考,此安装将消耗大约 69MB 的磁盘空间,因此请确保您有一些空间可以移动。准备好后,写入更改并退出。
接下来,格式化 EFI 分区:
# mkfs.vfat -F32 -n EFI /dev/nvme0n1p1
此外,我们需要创建、加密并格式化第二个分区:
# cryptsetup --use-random luksFormat /dev/nvme0n1p2
接下来,将设备映射为
luks
。我们将在下一步中使用这个映射的设备名称来创建逻辑卷:# cryptsetup luksOpen /dev/nvme0n1p2 luks
格式化和加密分区
现在我们准备为根文件系统和交换分区创建逻辑分区。以下命令将执行此操作。请随意更改
swap
分区的大小以满足您的需求:# pvcreate /dev/mapper/luks # vgcreate vol_grp /dev/mapper/luks # lvcreate --size 8G vol_grp --name swap # lvcreate -l +100%FREE vol_grp --name root
(可选)使用 lvdisplay 命令显示所有逻辑卷。
使用 LVM 创建逻辑卷
最后,在此步骤中格式化新的
root
和swap
分区:# mkfs.ext4 -L root /dev/mapper/vol_grp-root # mkswap /dev/mapper/vol_grp-swap
格式化新分区
我们几乎已准备好安装基本系统软件包。但是,首先让我们安装所有必需的分区,包括交换分区:
# mount /dev/mapper/vol_grp-root /mnt # swapon /dev/mapper/vol_grp-swap # mkdir /mnt/boot # mount /dev/nvme0n1p1 /mnt/boot
通过挂载所有系统分区来准备 chroot
现在,我们已经准备好安装新系统的基础包了。无论是KDE桌面还是其他显示管理器都可以稍后安装。以下命令将安装推荐的软件包。如果您希望添加或删除某些内容,我建议您在重新启动到新系统后执行此操作。现在保持简单!在执行以下命令之前,您可能需要选择编辑
/etc/pacman.d/mirrorlist
文件,并将您喜欢的镜像放在列表顶部以加快下载速度:避免重启后陷入无互联网连接的困境!
下面的软件包列表将允许您使用 systemd 网络管理器通过 GNOME GUI 连接到 WiFi。 ThinkPad X1 Carbon Gen 7 没有有线网卡,因此当您对以下软件包列表进行任何修改时,请确保重新启动后能够连接。# pacstrap /mnt gnome gnome-extra xorg base base-devel linux linux-firmware lvm2 dhcpcd efibootmgr intel-ucode xf86-video-intel vi dhclient
现在是时候生成新的
/etc/fstab
了:# genfstab -U /mnt >> /mnt/etc/fstab
生成的
/etc/fstab
应类似于下图所示:为新的 Arch Linux 安装新生成的
/etc/fstab
系统安装完成后,使用
arch-chroot
命令进入新系统# arch-chroot /mnt
并进行一些配置。首先,禁用 Wayland。 Wayland 的目的是作为 Xorg 的更简单的替代品,但目前距离目标可能还很遥远。如果您想使用 Wayland,请随意跳过这一点或在重新启动到新系统后更改设置。打开
/etc/gdm/custom.conf
并取消注释行WaylandEnable=false
:禁用韦兰
接下来,更改时区并将系统时间设置为硬件时钟。如果不确定如何更改以下命令以适合您的时区,请列出
/usr/share/zoneinfo/
:# ln -s /usr/share/zoneinfo/Australia/Sydney /etc/localtime # hwclock --systohc --utc
为您的系统设置新的主机名。例如,让我们将其设置为
x1-carbon
:# hostnamectl set-hostname x1-carbon # echo x1-carbon > /etc/hostname
继续,生成语言环境。访问
/etc/locale.gen
并取消注释适合您的语言环境的行。例如,对于澳大利亚,我们取消注释行en_AU.UTF-8 UTF-8
。准备好后,使用以下命令生成并设置区域设置:# locale-gen # echo LANG=en_AU.UTF-8 > /etc/locale.conf # export LANG=en_AU.UTF-8
设置新的 root 密码:
# passwd New password: Retype new password: passwd: password updated successfully
创建一个新用户。以下命令将创建一个新用途,例如。
lubos
并为此用户设置一个新密码:# groupadd lubos # useradd -m -g lubos -G wheel,storage,power,network,uucp lubos set password: # passwd lubos
最重要的步骤之一是创建初始 ramdisk 环境。编辑
/etc/mkinitcpio.conf
以便生成的文件将具有以下内容。请确保保持HOOKS
的顺序,如下所示:MODULES=(ext4) BINARIES=() FILES=() HOOKS=(base udev autodetect modconf block encrypt lvm2 resume filesystems keyboard fsck)
当您对
/etc/mkinitcpio.conf
的内容感到满意时,执行:# mkinitcpio -p linux
初始ramdisk环境配置
创建初始ramdisk环境。接下来,将 system-boot 安装到您的
/boot
分区中:# bootctl --path=/boot install
系统引导安装
执行一些引导加载程序设置:
# echo default archlinux >> /boot/loader/loader.conf # echo timeout 4 >> /boot/loader/loader.conf
差不多了。使用
blkid
命令检索/dev/nvme0n1p2
的 UUID。检索分区 UUID。
创建名为
/boot/loader/entries/archlinux.conf
的文件,并输入以下内容,同时将YOUR-UUID-HERE
替换为之前使用检索到的内容blkid命令:
title Arch Linux linux /vmlinuz-linux initrd /intel-ucode.img initrd /initramfs-linux.img options cryptdevice=UUID="YOUR-UUID-HERE":vol_grp root=/dev/mapper/vol_grp-root resume=/dev/mapper/vol_grp-swap rw intel_pstate=no_hwp
完整的
archlinux.conf
引导加载程序文件示例最后一步,启用以下两个服务在重新启动后启动:
# systemctl enable gdm # systemctl enable NetworkManager
一切都应该准备好重新启动。退出 chroot 系统,卸载根分区并重新启动:
# exit # umount -R /mnt # reboot
Arch Linux GNOME 桌面
安装并启用
throttled
软件包。throttled
是 Linux 中 Intel 限制问题的解决方法。# pacman -S throttled # systemctl enable --now lenovo_fix.service
配置蓝牙支持:
# pacman -S gnome-control-center gnome-bluetooth # systemctl enable --now bluetooth
启用蓝牙支持
用户注释、观察结果和故障排除
有关麦克风以及有关 Lenovo ThinkPad X1 Carbon Gen 7 的更深入配置和调整的任何其他进一步阅读,可以在官方 Arch Linux wiki 页面上找到。
固件升级
自从 Lenovo 加入 Linux 供应商固件服务后,现在可以直接从 Linux 命令行升级某些 Lenovo 硬件固件。为此,请先安装 fwupd
软件包:
# pacman -S fwupd
要升级固件,请执行:
警告
请注意,升级固件总是会带来意想不到的风险!如果不确定你最好不要继续!
$ fwupdmgr refresh
$ fwupdmgr get-updates
$ fwupdmgr update
使用 fwupdmgr
升级 ThinkPad X1 Carbon Gen 7 上的 Thunderbolt 控制器的示例:
$ fwupdmgr get-updates
20QDCTO1WW
│
└─ThinkPad X1 Yoga 4th / Carbon 7th Thunderbolt Controller:
│ Device ID: f388b1939351229f5cd3016ff13b2df354e9d38e
│ Summary: Unmatched performance for high-speed I/O
│ Current version: 41.00
│ Vendor: Lenovo (TBT:0x0109)
│ Flags: internal|updatable|require-ac|supported|registered
│ GUID: c7920601-0cda-507f-851e-92129eb1d470
│
└─ThinkPad X1 Carbon 7th / X1 Yoga 4th Thunderbolt Controller:
New version: 43.00
Remote ID: lvfs
Summary: Lenovo ThinkPad X1 Carbon 7th / X1 Yoga 4th Thunderbolt Firmware
License: proprietary
Size: 262.1 kB
Vendor: Lenovo Ltd.
Flags: is-upgrade
Description: Lenovo ThinkPad X1 Carbon 7th / X1 Yoga 4th Thunderbolt Firmware
• Before update, set the Thunderbolt BIOS Assist Mode to "Disable" in BIOS setup under Config > Thunderbolt 3.
• DO NOT FORCE UPDATE Thunderbolt Controller. This may damage the firmware.
从上面的输出中我们可以看到 Thunderbolt 控制器固件从版本 41 升级到 43 可用。 Thunderbolt 控制器将在更新后重新启动/断开连接,因此如果您有任何设备连接到此端口,最好将其断开连接。
要执行实际的 Thunderbolt 固件升级,请执行:
# fwupdmgr update
Downloading 43.00 for ThinkPad X1 Yoga 4th / Carbon 7th Thunderbolt Controller...
Fetching firmware https://fwupd.org/downloads/c656c45c56fe417ac38dab5a57f451c8340292e7-Lenovo-ThinkPad-X1Carbon5th-Thunderbolt-Firmware-N1MTF28W-Secured.cab
Downloading… [***************************************] Less than one minute remaining…
Decompressing… [***************************************]
Authenticating… [***************************************]
Updating ThinkPad X1 Yoga 4th / Carbon 7th Thunderbolt Controller…
Restarting device… [***************************************]
要确认升级已成功执行,请执行:
$ fwupdmgr get-updates
No upgrades for ThinkPad X1 Yoga 4th / Carbon 7th Thunderbolt Controller, current is 43.00: 43.00=same
________________________________________________
Devices that have been updated successfully:
• ThinkPad X1 Yoga 4th / Carbon 7th Thunderbolt Controller (41.00 → 43.00)
Uploading firmware reports helps hardware vendors to quickly identify failing and successful updates on real devices.
Upload report now? (Requires internet connection) [Y|n]:
雷电控制器
开箱即用安装 Arch Linux 后,Thunderbolt 控制器应该可以工作。
在 Arch Linux 上连接到 ThinkPad X1 Carbon Gen 7 的 Lenovo Thunderbolt 3 坞站
但是,您可能会遇到一些注意事项。例如,它突然停止工作,我无法克服以下错误消息:
"No Thunderbolt support - Thunderbolt security level could not be determined"
我将 Thunderbolt 3 与 Lenovo Thunderbolt 3 坞站结合使用。它工作了几个星期,突然停止工作,因为没有办法让它被系统识别。经过各种故障排除尝试(涉及各种配置、软件升级)后,我还发现 ThinkPad X1 Carbon 上的 HDMI 端口根本无法工作。
这不可能是巧合,我求助于联想紧急重置。 (请参阅下面的视频)了解如何重置 Lenovo ThinkPad X1 Carbon Gen 7 笔记本电脑。之后,雷电和 HDMI 再次开始正常工作。
Lenovo ThinkPad X1 Carbon Gen 7 的紧急重置