简易操作:Arch Linux KDE Plasma与Windows 11双系统安装教程
在 ThinkPad X13 2021 Intel 上安装 Arch Linux KDE Plasma + Windows 11 双系统的指南
本文在 GitHub 上持续更新
Operating System: Arch Linux
KDE Plasma Version: 5.27.1
KDE Frameworks Version: 5.103.0
Qt Version: 5.15.8
Kernel Version: 6.2.1-arch1-1 (64-bit)
Graphics Platform: X11
Processors: 8 × 11th Gen Intel® Core™ i7-1165G7 @ 2.80GHz
Memory: 15.3 GiB of RAM
Graphics Processor: Mesa Intel® Xe Graphics
Manufacturer: LENOVO
Product Name: 20WKA000CD
System Version: ThinkPad X13 Gen 2i
Windows 的准备工作
下载 Arch Linux 系统 ISO 镜像
Arch Linux 官网下载
官网的下载地址为:
Arch Linux – Releases
但是只提供 Torrent 和 Magnet 链接
镜像网站下载
可以在清华大学镜像:
https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/latest/
或者上海交大镜像:
https://mirror.sjtu.edu.cn/archlinux/iso/latest/
下载到最新版的系统 ISO 镜像
本地制作 ISO 镜像
还可以用下面的方法在一台 Arch Linux 设备上制作自定义的 ISO 镜像:
ArchWiki – Archiso
制作之前需要下载软件 archiso
,然后复制配置文件:
cp -r /usr/share/archiso/configs/baseline/ (profile_directory)
并执行:
sudo mkarchiso (profile_directory)/baseline
在 (profile_directory)
目录的 out
文件夹下可以找到 ISO 镜像
为 Linux 系统分区
右键点击开始菜单,选择“磁盘管理”,分出一块空分区,建议不小于 64GB
关闭快速启动
Windows 工具 >> 控制面板 >> 电源选项 >> 选择电源按钮的功能 >> 更改当前不可用的设置 >> 关闭快速启动 >> 保存修改
关闭 Secure Boot
进入 UEFI/BIOS 设置
ThinkPad 的操作如下:启动 ThinkPad 时按 Enter
打断正常开机,然后按下 Fn+Esc
解锁 Fn
按钮,再按 Fn+F1
进入 UEFI/BIOS 设置
关闭 Secure Boot
在 UEFI/BIOS 设置界面:
ThinkPad:Security >> Secure Boot >> Off
删除多余的 Windows 启动项
如果在电脑上装有多个 Windows,则系统只会选择其中一个在 Windows Boot Manager 中启动,若要删除多余的启动项,在 Windows 的“系统配置”(搜索框中输入 msconfig
或在“Windows 工具”中选择)的“引导”页面即可删除
刻录 USB 启动盘
Windows 系统方案
Windows 上可以用 Rufus,支持 Windows 和 Linux 系统镜像,但无法在 Linux 上使用(只提供 Windows 版 EXE 可执行文件)
Linux 系统方案
Linux 上可以用命令行刻录 USB 启动盘
首先使用 lsblk
检查 USB 设备的名称(NAME
一列)和挂载点(MOUNTPOINTS
一列),例如 /dev/sda
,需要设备处于插入但未挂载的状态
如果被挂载,可以用 sudo umount (partition_name)
或 sudo umount (mount_point)
卸载设备,卸载磁盘的所有被挂载的分区
例如 sudo umount /dev/sda1
或 sudo umount /run/media/(user_name)/(device_label)
之后格式化磁盘:
sudo wipefs --all /dev/sda
之后直接将 ISO 镜像拷贝到 USB 中(这一步需要约2分钟):
sudo cp (iso_path)/(iso_name) /dev/sda
跨平台方案
推荐使用 Ventoy,在 Windows 和 Linux 上都可以使用,方法是下载安装包后解压、安装到 USB 上,之后直接将 ISO 镜像拷贝到 USB 中即可选择镜像文件进行登录系统,支持多个系统镜像登录
从 USB 启动
在 Windows 中设置从 USB 启动
设置 >> 恢复 >> 立即重新启动 >> USB HDD
在 UEFI 中设置从 USB 启动
启动时按 Enter
打断正常开机,然后按下 Fn+Esc
解锁 Fn
按钮,再按 Fn+F12
选择第一个启动项为 USB HDD
安装系统
连接到互联网
检查确保系统已经启用了网络接口:
ip link
对于无线局域网(Wi-Fi)和无线广域网(WWAN),请确保网卡未被 rfkill
禁用
如果使用有线以太网,连接网线即可
如果使用WiFi,使用 iwctl
连接无线网络:
首先找到网络设备:
iwctl device list
获得 device_name
,一般是 wlan0
iwctl station (device_name) scan
iwctl station (device_name) get-networks
iwctl station (device_name) connect (SSID)
也可以输入 iwctl
进入交互模式,此时会显示 [iwd]#
标志上面的命令不加 iwctl
输入,最后用 exit
推出
连接到有线或无线网络后,可以用 ping
测试:
ping -c (count_number) (website_destination)
更新系统时间
使用 timedatectl
开启 NTP 同步时间,确保系统时间是准确的:
timedatectl set-ntp true
建立硬盘分区
对 Linux 分区建议使用 BTRFS/XFS/EXT4 文件系统
可以使用 lsblk
查看,使用 parted
修改分区,可以使用交互模式
parted
常用命令:
-
help
:帮助 -
print
:显示分区状态 -
unit
:更改单位,推荐使用s
(扇区) -
set
:设置flag
,例如在分区 1 上创建 EFI 分区需要设置flag
为esp
:set 1 esp on
-
mkpart
:创建分区,分区类型选择primary
,文件系统类型选择fat32
(对 EFI 分区),btrfs/xfs/ext4
(对 Linux 分区),ntfs
(对 Windows 分区) -
resizepart
:改变分区大小 -
rm
:删除分区 -
name
:更改分区名字,比如将分区 2 改名为Arch
,需要设置:name 2 'Arch'
-
quit
:退出
更多操作参考以下网址:
Parted User’s Manual
Windows 安装程序会创建一个 100MiB 的 EFI 系统分区,一般并不足以放下双系统所需要的所有文件(即 Linux 的 GRUB 文件),可以在将 Windows 安装到盘上之前就用 Arch 安装媒体创建一个较大的 EFI 系统分区,建议多于 256MiB,之后 Windows 安装程序将会使用你自己创建的 EFI 分区,而不是再创建一个
创建文件系统
例如,要在根分区 /dev/(root_partition)
上创建一个 BTRFS 文件系统,请运行:
mkfs.btrfs /dev/(root_partition)
XFS 和 EXT4 对应的命令就是 mkfs.xfs
和 mkfs.ext4
如果需要覆盖原有分区,加入 -f
参数强制执行即可
挂载分区
将根磁盘卷挂载到 /mnt
mount /dev/(root_partition) /mnt
对于 UEFI 系统,挂载 EFI 系统分区:
mount --mkdir /dev/(efi_system_partition) /mnt/boot
挂载 EFI 系统分区一定要加 --mkdir
参数
选择镜像源
一般建议选择清华大学镜像和上海交大镜像,这两个镜像稳定且积极维护,清华大学镜像速度更快,上海交大镜像更新频率更高
编辑 /etc/pacman.d/mirrorlist
,在文件的最顶端添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
改为清华大学镜像
或添加:
Server = https://mirror.sjtu.edu.cn/archlinux/$repo/os/$arch
改为上海交大镜像
这个文件接下来还会被 pacstrap
复制到新系统里,所以请确保设置正确
安装必需的软件包
使用 pacstrap
脚本,安装 base 软件包和 Linux 内核以及常规硬件的固件:
pacstrap /mnt base linux linux-firmware sof-firmware vim base-devel
生成 fstab 文件
用以下命令生成 fstab 文件 (用 -U
或 -L
选项设置 UUID 或卷标):
genfstab -U /mnt >> /mnt/etc/fstab
进入新的 Archlinux 系统
更改根目录到新安装的系统:
arch-chroot /mnt
更新软件包缓存:
pacman -Syyu
时区
设置时区:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc
本地化
编辑 /etc/locale.gen
,然后取消掉 en_US.UTF-8 UTF-8
和 zh_CN.UTF-8 UTF-8
前的注释
接着生成 locale 信息:
locale-gen
然后创建 /etc/locale.conf
文件,并编辑设定 LANG 变量:
LANG=en_US.UTF-8
不推荐在 locale.conf
中设置任何中文 locale,会导致 TTY 乱码
网络配置
创建 /etc/hostname
文件,写入自定义的主机名:
(my_hostname)
编辑本地主机名解析 /etc/hosts
,写入:
127.0.0.1 localhost
::1 localhost
127.0.1.1 (my_hostname)
安装网络管理软件 NetworkManager
:
pacman -S networkmanager
启用 NetworkManager
(systemctl
命令对大小写敏感):
systemctl enable NetworkManager
一定要安装网络管理软件,否则重启后将无法联网
创建 initramfs
执行以下命令:
mkinitcpio -P
Root 用户密码
设置 Root 用户密码:
passwd
安装引导程序
这是安装的最后一步也是至关重要的一步,请按指引正确安装好引导加载程序后再重新启动,否则重启后将无法正常进入系统
pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=(ID)
grub-mkconfig -o /boot/grub/grub.cfg
其中 (ID)
是 Arch Linux 系统启动项在 BIOS 启动菜单中的名字
重启
输入 exit
退出 chroot 环境
输入 umount -R /mnt
手动卸载被挂载的分区
最后,执行 reboot
重启系统,systemd
将自动卸载仍然挂载的任何分区
不要忘记移除安装介质
初始配置
现在登录到新装好的系统时使用的是 Root 用户,用户名为 root
,需要手动输入
连接网络
命令行输入 nmtui
并按照终端上的图形界面一步一步操作
设置新用户
useradd -m -G wheel (user_name)
为用户创建密码
passwd (user_name)
一定要设置在 wheel 用户组里面
visudo 配置
更改 visudo 默认编辑器为 Vim
visudo 的默认编辑器是 Vi,若要改为 Vim,则首先在终端中输入以下命令用 Vim 打开 visudo:
EDITOR=vim visudo
在开头的一个空行键入:
Defaults editor=/usr/bin/vim
按 Esc
进入命令模式,再按 :x
保存,按 Enter
退出
用户组授权
在 visudo
中取消注释 %wheel ALL=(ALL) ALL
如果不想每次执行 Root 用户命令都输入密码,可以取消注释 %wheel ALL=(ALL) NOPASSWD: ALL
必须保留最前面的 %
,这不是注释的一部分
单个用户免密码
在最后一行(空行)按 i
进入输入模式,加上这一行:
Defaults:(user_name) !authenticate
进入命令模式,保存退出即可
注:如果想保留输入密码的步骤但是想在输入密码时显示星号,则加上一行 Defaults env_reset,pwfeedback
即可
启用蓝牙
pacman -S bluez
systemctl enable bluetooth
KDE Plasma 桌面安装
安装 Xorg 和 SDDM
安装 Xorg:
pacman -S xorg
安装 SDDM:
pacman -S sddm
SDDM 字体选择 noto-fonts
启用 SDDM
不启用 SDDM 则无法进入图形界面
启用 SDDM:
systemctl enable sddm
安装 Plasma 桌面
安装 Plasma 桌面:
pacman -S plasma
可以排除掉一些软件包:
^4 ^5 ^20 ^21 ^33
即 discover
、drkonqi
、kwayland
、kwallet
、plasma-firewall
jack
选择 jack2
pipewire-session-manager
选择 wireplumber
phonon-qt5-backend
选择 phonon-qt5-vlc
,这会自动下载 VLC 播放器
安装必要的软件
pacman -S firefox firefox-i18n-zh-cn konsole dolphin dolphin-plugins ark kate gwenview kimageformats spectacle yakuake okular poppler-data git noto-fonts-cjk
firefox-i18n-zh-cn
是 Firefox 浏览器的中文语言包
dolphin-plugins
提供了右键菜单挂载 ISO 镜像等选项
kimageformats
提供了 Gwenview 对 EPS、PSD 等图片格式的支持,但 Gwenview 依然是以栅格化形式打开 EPS 矢量图,质量较差,建议用 Okular 查看 EPS 图片
poppler-data
是 PDF 渲染所需的编码数据,不下载 poppler-data
会导致部分 PDF 文件的中文字体无法在 Okular 中显示
KDE Frameworks/KDE Gear/Plasma 的更新时间表可以在 KDE Community Wiki 查看
在图形界面下设置
现在重启电脑后即可进入图形界面,用户从 Root 变为新建的普通用户
系统设置
此时系统语言为英语,可以执行 export LANG=zh_CN.UTF-8
将终端输出修改为中文,再执行 systemsettings
打开系统设置
语言和区域设置
将系统语言改为中文需要保证 localectl list-locales
输出包含 zh_CN.UTF-8
并且安装了中文字体
系统设置 >> 语言和区域设置 >> 语言 >> 改为“简体中文”
其余“数字”、“时间”、“货币”等选项可以分别修改,可以搜索“China”找到“简体中文”
电源与开机设置
系统设置 >> 电源管理 >> 节能 >> 勾选“按键事件处理” >> 合上笔记本盖时 >> 选择“关闭屏幕” >> 勾选“即使已连接外部显示器”
系统设置 >> 开机与关机 >> 桌面会话 >> 登入时 >> 选择“以空会话启动”
高分辨率设置
系统设置 >> 显示和监控 >> 显示配置 >> 分辨率 >> 全局缩放 >> 200%
系统设置 >> 光标 >> 大小 >> 36
然后重启电脑
触摸板设置
系统设置 >> 输入设备 >> 触摸板 >> 手指轻触 >> 选择“轻触点击”
工作区行为设置
Dolphin 中单击文件、文件夹时的行为默认是单击打开,如果需要双击打开可以在此处设置:
系统设置 >> 工作区行为 >> 常规行为 >> 单击文件、文件夹时 >> 选择“选中”
锁屏设置
自动锁定屏幕的时间和锁屏界面的外观等在此处设置:
系统设置 >> 工作区行为 >> 锁屏
自动启动设置
系统设置 >> 开机与关机 >> 自动启动
可以添加 Yakuake 下拉终端为自动启动
终端快捷键配置
打开终端 Konsole/Yakuake(Yakuake 设置自动启动后可以用 Fn+F12
直接打开):
设置 >> 配置键盘快捷键 >> 复制改为 Ctrl+C
,粘贴改为 Ctrl+V
双系统启动设置
下载 os-prober
:
sudo pacman -S os-prober
想要让 grub-mkconfig
探测其他已经安装的系统并自动把他们添加到启动菜单中,编辑 /etc/default/grub
并取消下面这一行的注释:
GRUB_DISABLE_OS_PROBER=false
想要让 GRUB 记住上一次启动的启动项,首先将 GRUB_DEFAULT
的值改为 saved
,再取消下面这一行的注释:
GRUB_SAVEDEFAULT=true
使用 grub-mkconfig
工具重新生成 /boot/grub/grub.cfg
:
sudo grub-mkconfig -o /boot/grub/grub.cfg
此时会显示找到 Windows Boot Manager,说明设置双系统成功
Linux 挂载 Windows 磁盘
首先要确保设备加密和快速启动已经关闭,以下内容针对 Linux 5.15 及之后的内核中引入的 NTFS3 驱动
参考以下网址:
fstab – Archwiki
使用 UUID/卷标
官方推荐的方法是使用 UUID,以分别挂载 C 盘和 D 盘到 /home/(user_name)/C
和 /home/(user_name)/D
为例,在终端中输入:
lsblk -f
在输出结果中可以发现 Windows 的硬盘分区,其中第一列(NAME
)是卷标,第四列(UUID
)是 UUID:
NAME FSTYPE LABEL UUID
├─(name_C) ntfs C (UUID_C)
├─(name_D) ntfs D (UUID_D)
接着就来修改系统文件:
sudo vim /etc/fstab
在最后加入这两行:
UUID=(UUID_C) /home/(user_name)/C ntfs3 defaults,umask=0 0 0
UUID=(UUID_D) /home/(user_name)/D ntfs3 defaults,umask=0 0 0
重启电脑后,即可自动挂载
如果安装生成 fstab 文件时使用 -L
选项,即 genfstab -L /mnt >> /mnt/etc/fstab
,则 /etc/fstab
中应加入:
(name_C) /home/(user_name)/C ntfs3 defaults,umask=0 0 0
(name_D) /home/(user_name)/D ntfs3 defaults,umask=0 0 0
如果需要格式化 C 盘或 D 盘,先从 /etc/fstab
中删去这两行,再操作,之后磁盘的 UUID
会被更改,再编辑 /etc/fstab
,重启挂载即可
使用图形化界面
只支持旧版 NTFS-3G
驱动,需要 ntfs-3g
软件包
在系统应用“KDE 分区管理器(partitionmanager
)”中卸载 C 盘、D 盘,右键选择编辑挂载点,编辑为 /home/(user_name)/C
和 /home/(user_name)/D
,选项全部不用勾选(使用默认配置),点击“执行”即可
这相当于直接编辑 /etc/fstab
,加入:
/dev/(name_C) /home/(user_name)/C ntfs 0 0
/dev/(name_D) /home/(user_name)/D ntfs 0 0
好处是格式化磁盘后内核名称不变,依然可以挂载
如果 Windows 磁盘挂载错误
首先检查 Windows 中是否关闭了快速启动
一般来讲是 Windows 开启了快速启动,或者进行了优化磁盘等操作导致的,若关闭快速启动不能解决问题,使用下面的方法:
检查占用进程:
sudo fuser -m -u /dev/(partition_name)
可以看到数字,就是占用目录的进程 PID,终止进程:
sudo kill (PID_number)
卸载磁盘分区:
sudo umount /dev/(partition_name)
执行硬盘 NTFS 分区修复(需要 ntfs-3g
软件包):
sudo ntfsfix -b -d /dev/(partition_name)
再重新挂载即可: