Featured image of post 安装 Arch Linux,但是笔记本物理机

安装 Arch Linux,但是笔记本物理机

放假了,折腾下自己的笔记本咯~

之前在虚拟机上面装的 Arch Linux 根本不过瘾(搞笑,你根本就没更完(❌)),这次就把自己的小轻薄改成 Arch 好了。顺带,也记录一下实体机上安装可能会遇到的坑?

头图出自 R Sound Design 的新曲 《アリス?》,一首很轻快的 V曲~ B站投稿

很可惜 网易云/QQ音乐 都暂时没有这首歌,所以只能劳驾移步B站欣赏了。一旦有更新就会贴在这里的

网易云有这首歌啦!~

引子:我好急,怎么耗电这么大

亲爱的笔记本:

插电如面,自从我们相逢已有一年有余。上次见面,仿佛还是上次。传统派的我那时我刚刚给你刷上 Windows 10 系统,因为 Windows 11 的审美实在是在狠狠强碱我的眼睛。我们一路克服了艰难险阻,安装了各种乱七八糟的驱动,最后终于是让你成功跑了起来。虽然你的内存不大,硬盘不多,CPU 一般,显卡集成,但你要相信我,我心里面是有你的。

然而,你身上的 Windows 10 虽然让我倍感熟悉,你的耗电量实在是高得吓人。我接受不了一旦不插电就几乎是和时间赛跑的工作流。我将这一切归咎于可恶的微软,可恶的 Windows 10。这不是你的错,但是我还是想告诉你:你马上就会搭载一个新的系统。她轻便灵巧的同时,又大胆火辣,相信你一定会和她打成一片的。

Love,

A Moment

美丽的五一假期,不折腾点狠活儿实在是说不过去。看着越来越不顺眼的 Windows 10 笔记本,以及我的心逐渐被 Linux(特指 Arch Linux)所俘获,我决定:干掉 Windows 10, 彻底迎接 Arch Linux。想必有了之前安装 Arch Linux 的经验,这次的安装之旅肯定是一马平川了。开始吧。

准备:资料备份以及准备启动盘

首先肯定是先把电脑上已有的资料都备份好。其实说实话没太多文件,主要是两个没打完的 Gal 吧(心虚),因为大部分的文件都其实已经搞到台式机上面了。一开始是想着把这些文件放在一块精心规划的小硬盘上,安装的时候不格式化就行了,但是感觉还是有点点点点危险,所以干脆还是挪到另一台机器上,把这台小本的硬盘全部格式化了得了。不过也许我应该考虑更加智能的备份方案?算了,以后再考虑(挖坑)。

其次就是准备启动盘。本来这次想要换一种安装媒介来着,比如光盘?(没错我有光盘刻录机,为了听 CD 买的 ()),结果还是嫌麻烦,放弃了。给虚拟机安装的时候不是已经有了镜像了吗?为什么不直接用呢?至于为什么没有下载最新的(最新的就是昨天刚出的,5月1日版本),是因为我刚准备下载的时候看到最上面一行小字:

安装好再更新不挺好?(滚挂警告)

So, why not?

镜像依旧是用 rufus 烧录到陪伴了我6+年的小U盘上,什么格式化之类的 rufus 会自动帮我搞好的。中间有个小插曲好像是 rufus 不太支持最新的 syslinux 版本,需要额外下载两个小库。无所谓()我选择相信。

到这里,基本上就已经准备好安装工作了。相信根据这些东西,来个老手估计三下五除二就安装好整个系统了。当然,我是新手,还是一步步来吧。这大概也是这篇(以及上一篇)文章的目的:记录自己安装系统时蠢蠢的样子。

开始:启动安装引导咯~

先进安装引导再说吧

激动的心,颤抖的手,插入U盘后从U盘启动会不会有?

太坏了,secure boot 没关,没有。上网搜索我的笔记本的 BIOS 设置方法,Redmi Book 14 需要开机后按下 F2 进入 BIOS,然后在启动设置里 先设置管理员密码 之后才能设置是否关闭安全启动。有一点点脱裤子放屁的感觉……算了。总之就是进来了,进到安装引导了。这下真是激动的心,颤抖的手了。

(由于屏幕反光,就不拍屏了,其实和上次的屏幕一模一样咯)

这次就得格外小心了:这可不是虚拟机。虽然说搞砸了也能重来(电脑上没什么别的重要文件了,打算全部格式化),但是一想到是实体机,还是有一些些的紧张。

其实这篇文章是在我进来安装引导之后才开始动笔写的。一开始没打算写来着,不过鉴于好久没有更新博客了,还是水一篇吧()

还是先进行前期验证和网络配置

这次由于有上次安装的记录,所以其实可以直接参考以前写的那个东西。感谢代码高亮,我立马就敲下了 localectl list-keymaps。然而:没什么卵用。Bro,你就用的是美式键盘呀!?还列出来看个der呀……算了,不管了。不过验证启动模式也许还是有必要的?依旧,cat /sys/firmware/efi/fw_platform_size,结果是64。这个应该是说我的启动模式的系统是64位的吧?

随后是验证网络。这步我其实是有点心虚来着,会不会这个安装引导不支持我的电脑网卡?害怕。但还是先试一试吧。

从结果来看,我有一个 lovirtual loopback interface,不管;一个 wlan0,看来是认出我的无线网卡了,好耶。然而它的 stateDOWN,emmm……

(找找办法……)

太愚蠢了,DOWN不就是说我没连上网嘛……不过根据 ArchWiki,还是先用 rfkill 命令检查我的无线网卡是不是被 block 了(屏蔽?也许?),好消息是没有;接着就使用 iwctl 工具进行联网。这个步骤我感觉有一点点繁琐,先要在交互界面使用 device list 列出设备,很幸运我这里是直接 wlan0 powered on 状态,这里的 wlan0 就是我的设备名了;接着就用 station wlan0 scan 扫描可用网络,然后用 station wlan0 get-networks 列出可用网络。这里有个很神奇的点:能连上我的校园网吗?用 station wlan0 connect CSU-WIFI 试试。这里 CSU-WIFI 就是我们的校园网了。好消息是成功了,不知道怎么做到的。本身链接我们学校校园网是需要使用一个网页进行验证的,不过也许是因为我在 Windows 系统上刚刚连过一次网络,所以成功重连上了?不清楚,不过也算可喜可贺。最后在用 exit 退出 iwctl 的交互界面后再 ip link 一下检查是否连上:没问题。绿色的 UP 真好看,诶嘿。

动态IP应该是自动配置的(ArchWiki讲是 out of box),所以不管。也许后面我会想搞个静态的?唉,不懂网络真头痛呀。不管不管。直接 ping archlinux.org 试试。

烂了,没有数据返回。烂完了。

(找找办法x2……)

顺从。又不是没有别的 WIFI 能用。直接连上办公室 WIFI好了。当然,这里也贴一下我参考了的连接校园网的方法的博文:链接1 以及 链接2

最后网络这里还有要设置一下系统时间。用 timedatectl 就可以。感谢 zsh 和这些工具带上的自动补全,timedatectl --help 一下,跟着感觉走,最后就得到了 timedatectl set-timezone Asia/Shanghai 了。相当简单。

再见,我的(旧)文件们

又到了每次装系统最喜欢也最提心吊胆的磁盘分区了。总有一种破后而立的感觉,感觉在磁盘格式化之后,这台电脑就变成全新的了诶。还是一样,fdisk -l 列一下可用分区。一下出来了一堆呀,删了删了,全部删了。

又看到一次我的硬盘大小,只有 476.94 GiB,Sad。不过,轻薄本,出差顺带干活用的,无所谓了吧?后面再考虑加容量之类的吧,也许还可以考虑直接换台新本(好奢侈())。

开始分区吧,直接 fdisk /dev/nvme0n1 进入交互模式(这里我的硬盘只有一个,就是在 fdisk -l 里列出的 /dev/nvme0n1,所以就把它传入参数就好)。由于硬盘太小,我也对文件管理没有什么特别多的想法,干脆就是一个 SWAP 一个 / 好了。至于分区表,依旧选用 GPT 分区表。貌似 GPT 的功能更加强大?已经完全超越了老旧的 MBR?其实按理来说我应该先多了解一下这些东西再下判断来着,不过这里就还是先相信互联网吧()

这里搞了个大乌龙:我不小心把启动盘 /dev/sda 给分区了。有一说一,挺愚蠢的……目前先这么搞吧,安装引导也没断,后面不碰它应该就没问题,吧?下次还是要注意:根据 ArchWiki 上的指导,实际上应该先将分区表进行备份才对,命令是 sfdisk -d /dev/sda > sda.dump(这里 /dev/sda 是要备份分区表的硬盘)。下次一定注意,唉。

接下来就是使用 mkfs 等进行文件系统格式化了。这里很多人推荐 Btrfs,所谓的 B Tree File System(我一开始以为是 Better File System 来着),因为它貌似是支持自动压缩和别的一些高级功能,还有快照之类,很方便个人用户使用。这次就不用传统的 ext4 了,尝尝鲜。使用命令 mkfs.btrfs /dev/nvme0n1p1 就可以把第一个分区格式化为 Btrfs 格式了。我还留了一个分区作为 Swap 使用,大小设置为了8G。要创建 Swap 分区只需要 mkswap /dev/nvme0n1p2 即可。

分好了区,就需要挂载文件系统了。用 mount /dev/nvme0n1p1 /mnt 就可以。Swap 则使用 swapon /dev/nvme0n1p2 就行了。这样一来,我们就在硬盘上做好了准备,马上就要把 Arch Linux 安装在这个临时挂载于 /mnt 的主硬盘了。

安装:冲刺!冲刺!冲刺!

Arch Linux 的灵魂之一也许就是 pacman 包管理器了。安装 Arch Linux 实际上也是使用 Pacman 进行的。因此首先就是对 Pacman 进行必要的配置。

首先还是要选择镜像,可选的镜像站放在了 /etc/pacman.d/mirrorlist 里。这里直接借鉴上次安装的经验好了,使用 reflector --latest 10 --sort rate 来排出最快的10个服务器。结果出来之后可以考虑在这条命令的后面加上 --save /etc/pacman.d/mirrorlist 来保存下来。当然,在这之前(吸取刚刚的教训)我把原文件复制了一份作为备份。

下来就是安装必要的包,命令为 pacstrap -K /mnt base linux linux-firmware。这里的 -K 是指在目标处生成一空的 密钥环。(至于密钥环是什么,对不起,我不知道。后面会学的())

经过漫长的等待,我的安装它:报错了。先是安装的特别慢,可能是因为源的问题吧,我还是尝试了 reflector --country China --age 12 --sort rate 这个命令获取了国内的镜像源;后面是变快了,但是突然又报 error: GPGME error: No data,不管我怎么操作 pacman,都没有用。我估计是密钥环之类的东西坏掉了吧,看来是前面对U盘瞎JB分区导致的。这下只能关机拔掉U盘,重新烧录,格式化电脑硬盘然后重新安装。好在这次安装地很快,这个插曲也算是过去了吧。

现在安装的应该是一些最最基础的软件包。为了安装好后有一些别的功能能用(比如联网),还是需要再安装一些别的软件包。这里我计划是安装 vimdhcpcd 以及 networkmanager。不过这些就等到之后 chroot 后再搞吧。

(安装中……)


我们就当这个傻孩子搞了一通之后算是安装好了吧,其实中间应该还有一些插曲,然而他安装好之后真的一路冲刺,就安装完了抱回宿舍继续折腾了。等他再想起来写这个博客的时候已经过了10天了。原谅他吧,好多细节他也记不清了。


这下好了,安装成功咧,下面怎么装修好呢?

装修:还是先试试 KDE吧,顺带处理一下输入法、字体、网络的坑

后面的内容都是这个傻孩子回忆出来的,很多都不对劲了(也许),请谨慎参考

不知道,先看看 KDE Plasma

直接照搬上次安装的 KDE Plasma 的流程了。安装的东西,设置的玩意儿,几乎一模一样。可能区别是 loacle 的设置和上次相比更复杂一些?记不太清楚了。主要要处理的问题就是,每次使用 man 的时候,都会报 locale 的设置错误问题。解决方法也很简单:照着 ArchWiki 的 Installation Guide 的地区设置那里,再重新搞一次。剩下的什么设置 Taskbar 呀设置 Terminal 什么的,基本都没什么变化。

KDE Plasma 很不错的一点就是,它几乎就是开箱即用的,除了两个很重要但是没有强制安装的东西:文件管理器和终端模拟器。理论上讲,应该是用同属 KDE 的 DolphinKonsole 的,这样能获得最好的体验(也许),然而在体验过 Konsole 略显(真的只是略显)老旧的 UI 之后,我还是选择了使用 kitty。它能原生支持查看图片,算是一个杀手锏级别的功能了吧,其次就是它自带多标签的功能,分栏也很方便,用着挺顺手的。至于文件管理器,目前还没有什么想法,先用着 Dolphin 好了。

输入法:还是使用小企鹅(fcitx5)以及中州韵(Rime)

其实应该直接说“同上”或者什么的,因为实际上最后的效果和之前在虚拟机上安装的过程是一样的,除了最后我没有导入在 Winodws 上已经配置好的配置文件,仅此而已。然而这个过程还是感觉有一点坑呀,特别是不停地纠结输入法设置到底在哪里之类的问题的时候。实际上,根据 fcitx5 的文档,在使用 Wayland 的时候,直接按照教程设置变量之后重启电脑,就可以在输入法那里看到效果了。(也许不需要重启,只需要登出后重新登录就可以?)

实际上默认的中州韵已经挺好用了。然而问题是,它的默认输入是中文,然而在 Linux 的命令行里几乎很少用到中文。每次的误输入都能让人燃气无名怒火,解决方案也很简单:把英文输入法放在首选。这里不是说让中州韵的英文成为首选,而是再装一个默认的英文输入法,并且把它放在首位。实际上我在 Winodws 上也是这么设置的。日用挺舒服。

网络:科学上网不容易呀

在孜孜不倦的努力以及不厌其烦的打扰 AI 下,我成功找到了在我的小破本上科学上网的方法。这里不多讲,但是核心只有一个:使用 TUN 模式。启用 TUN 之后,一切都对了,全对!感谢 AI,感谢 DeepSeek,感谢 ChatGPT!伟大,无需多言。

字体:照着教程开抄

之前在虚拟机上进行安装的时候实际上没太注意字体的问题。这次因为是日常自用,还是留意了一下,毕竟每天看着奇形怪状的汉字真的很别扭。字体的设置基本就是参考 这篇博文,谢谢你,大佬。不过也要注意,读的时候(或者,抄的时候)还是要仔细一些,有一些设置实际上不是最好的设置,可以用出现在底下的更好的配置替代。也算是挡住了一些些伸手党?也许?

指纹:呜呜呜呜呜怎么硬件还能不开源呀

我的笔记本最让我自豪的一点就是她有非常好用的指纹识别。这个本来应该没什么要紧的,但是想到之后就很像折腾一下。特别是回回输入密码,真的有点累。虽然这个本是我自己用,里面也没啥东西,但是还是不太想无密码裸奔。而如果有了指纹,一切都变得熟悉了。啊,那该是多么美妙呀。

直到我花了两个小时多把指纹识别都配置的差不多了的时候,我才发现,愚蠢的小米旗下的 Redmi Book 14 使用的指纹识别模块是闭源的,也没有相关的逆向工程尝试,现在没有任何驱动能启用它。

泪就这样拉了出来。特别是愚蠢的 Firefox 还始终坚持认为我的笔记本是带了可用的指纹识别的,想生成个 Github 的 token 都不行,非得要我按指纹。我按个大头鬼。

唉。

收尾:又是一篇流水账,但是还是做一些总结

感觉这篇没写什么正经东西,又是纯粹地做了一些记录,然后就是磨磨叽叽自说自话了。鉴于此,我决定总结一下一路遇到的主要的坑在哪里,以及安装的大致流程,做一个 quick reference。

Quick Reference: Installation

以下是从最初的准备工作到得到可用系统的过程:

  1. 准备启动盘,备份,barabara
  2. 加载系统,从启动盘启动,进入 shell,执行基本检查(系统架构,键盘设置,网络验证,时区设置……)
  3. 磁盘分区(重要)并进行格式化,挂载文件系统
  4. 检测 pacman 镜像速度并选择,安装必要包(base, linux, linux-firmware)
  5. chroot 进挂载的文件系统,安装必要工具(网络管理,文本编辑器,pager,man-page)
  6. 设置 bootloader(重要且坑),需要仔细阅读文档
  7. 尝试重启并用 bootloader 启动,进入 tty1

Quick Reference: Customization

以下是得到我目前使用的环境的部分配置过程:

  1. 安装好,保证能正确启动 Arch Linux
  2. nmcli con up 启动网络(后面发现可以用 nmtui),保证网络畅通
  3. 添加 archlinuxcn
  4. 执行更新,安装软件包。我安装了 vi, sudo, git, eza, zsh, nvim, kitty, firefox 等基础工具
  5. 安装 oh-my-zshoh-my-posh,导入已有配置,添加常用别名如 l, la, l., ls.
  6. 安装窗口管理器,这里一开始使用 KDE plasma 作为“起码能用”的桌面环境,以及套件 dolphin 作文文件管理器
  7. 安装中文输入法 fcitx5-im 以及 fcitx5-rime,进行必要配置(XDG 配置等)
  8. 更改 localectl 以便正常使用 man
  9. 安装 yay 以及尝试科学上网

遇到的坑:

下面是花费时间比较多的部分,这里列举一下:

  1. 分盘搞错盘了,本来内存是 nvme 结果分到 sda 了;
  2. 分盘的时候没想清楚到底该怎么分,瞎分最后还得重来
  3. 没有检查镜像速度导致龟速下载(唉,Arch Linux,必须依赖网络,可惜)
  4. umount 的时候没有 umount 干净导致烂掉
  5. mount 的时候没有检查是否正确 mount 到挂载点
  6. 忘记安装网络管理器,编辑器等等
  7. 没有正确设置 bootloader(一定要读完 bootloaderArchWiki 词条!)
  8. 没有搞好 localectllocal
  9. 安装 fcitx5 之后不重启(记得感觉配好之后就重启试试)

希望这些总结的东西会帮到你吧,让这篇文章不是那么水。

后记:我一定是对 Linux 有什么奇怪的幻想

亲爱的 Arch Linux 笔记本:

终于,BTW, I USE ARCH!!! 谢谢你和我走过的一路。自从安装了 Arch Linux,你真的跑的飞快。我还没有回过神来,你就已经启动了。KISS 的原则,pacman 与 AUR 达成的简洁与丰富的平衡,滚动发行带来的刺激,这一切都太令人兴奋了。先进的 Arch Linux 已经完全地超越了老旧的 Windows!

然而,也许我还是对你有太多的误会。装上 Arch Linux 的你没有变得更加省电,反而似乎更加费电了?我希望这是我没有搞好电池方案配置的锅,但是为什么你不能帮我搞好呢?我懂,我们 Linux 是讲究过生日先从办养鸡场和农场开始的,但是为什么呢?还有,为什么搞不定闭源驱动呢?不能上兼容层吗?说起来就气,怎么你的配置文件还是能变得和 Windows 一样杂乱不堪?怎么软件包随处大小便的时候你还是不管管?道理我都懂,但是系统管理员也不能每天都被埋在这些东西里面吧?还有呀……

-- 此处省略牢骚 2000 字 --

但是,你懂的,你可是 Linux,对吧?你已经是一个成熟的操作系统了,应该学会自己面对这些问题了,对吧?

Yours,

A Moment

谢谢你能看到这里。看完这一大堆废话,说实话也挺累的。如果这些整活儿的内容让你能开心一下,那就太好了。最后,一如既往,就祝您身心健康吧。

Licensed under CC BY-NC-SA 4.0
最后更新于 6月 26, 2026 15:20 UTC