之前在虚拟机上面装的 Arch Linux 根本不过瘾(搞笑,你根本就没更完(❌)),这次就把自己的小轻薄改成 Arch 好了。顺带,也记录一下实体机上安装可能会遇到的坑?
头图出自 R Sound Design 的新曲 《アリス?》,一首很轻快的 V曲~
很可惜 网易云/QQ音乐 都暂时没有这首歌,所以只能劳驾移步B站欣赏了。一旦有更新就会贴在这里的
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位的吧?
随后是验证网络。这步我其实是有点心虚来着,会不会这个安装引导不支持我的电脑网卡?害怕。但还是先试一试吧。
从结果来看,我有一个 lo
,virtual loopback interface,不管;一个 wlan0
,看来是认出我的无线网卡了,好耶。然而它的 state
是 DOWN,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盘,重新烧录,格式化电脑硬盘然后重新安装。好在这次安装地很快,这个插曲也算是过去了吧。
现在安装的应该是一些最最基础的软件包。为了安装好后有一些别的功能能用(比如联网),还是需要再安装一些别的软件包。这里我计划是安装 vim
,dhcpcd
以及 networkmanager
。不过这些就等到之后 chroot
后再搞吧。
(安装中……)
我们就当这个傻孩子搞了一通之后算是安装好了吧,其实中间应该还有一些插曲,然而他安装好之后真的一路冲刺,就安装完了抱回宿舍继续折腾了。等他再想起来写这个博客的时候已经过了10天了。原谅他吧,好多细节他也记不清了。
这下好了,安装成功咧,下面怎么装修好呢?
装修:还是先试试 KDE吧,顺带处理一下输入法、字体、网络的坑
后面的内容都是这个傻孩子回忆出来的,很多都不对劲了(也许),请谨慎参考
不知道,先看看 KDE Plasma
直接照搬上次安装的 KDE Plasma 的流程了。安装的东西,设置的玩意儿,几乎一模一样。可能区别是 loacle
的设置和上次相比更复杂一些?记不太清楚了。主要要处理的问题就是,每次使用 man
的时候,都会报 locale
的设置错误问题。解决方法也很简单:照着 ArchWiki 的 Installation Guide 的地区设置那里,再重新搞一次。剩下的什么设置 Taskbar 呀设置 Terminal 什么的,基本都没什么变化。
KDE Plasma 很不错的一点就是,它几乎就是开箱即用的,除了两个很重要但是没有强制安装的东西:文件管理器和终端模拟器。理论上讲,应该是用同属 KDE 的 Dolphin
和 Konsole
的,这样能获得最好的体验(也许),然而在体验过 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
以下是从最初的准备工作到得到可用系统的过程:
- 准备启动盘,备份,barabara
- 加载系统,从启动盘启动,进入 shell,执行基本检查(系统架构,键盘设置,网络验证,时区设置……)
- 磁盘分区(重要)并进行格式化,挂载文件系统
- 检测
pacman
镜像速度并选择,安装必要包(base, linux, linux-firmware) chroot
进挂载的文件系统,安装必要工具(网络管理,文本编辑器,pager,man-page)- 设置 bootloader(重要且坑),需要仔细阅读文档
- 尝试重启并用 bootloader 启动,进入
tty1
Quick Reference: Customization
以下是得到我目前使用的环境的部分配置过程:
- 安装好,保证能正确启动 Arch Linux
- 用
nmcli con up
启动网络(后面发现可以用nmtui
),保证网络畅通 - 添加
archlinuxcn
源 - 执行更新,安装软件包。我安装了
vi
,sudo
,git
,eza
,zsh
,nvim
,kitty
,firefox
等基础工具 - 安装
oh-my-zsh
与oh-my-posh
,导入已有配置,添加常用别名如l
,la
,l.
,ls.
等 - 安装窗口管理器,这里一开始使用
KDE plasma
作为 “起码能用” 的桌面环境,以及套件dolphin
作文文件管理器 - 安装中文输入法
fcitx5-im
以及fcitx5-rime
,进行必要配置(XDG 配置等) - 更改
localectl
以便正常使用man
- 安装
yay
以及尝试科学上网
遇到的坑:
下面是花费时间比较多的部分,这里列举一下:
- 分盘搞错盘了,本来内存是 nvme 结果分到 sda 了;
- 分盘的时候没想清楚到底该怎么分,瞎分最后还得重来
- 没有检查镜像速度导致龟速下载(唉,Arch Linux,必须依赖网络,可惜)
umount
的时候没有umount
干净导致烂掉mount
的时候没有检查是否正确mount
到挂载点- 忘记安装网络管理器,编辑器等等
- 没有正确设置
bootloader
(一定要读完bootloader
的ArchWiki
词条!) - 没有搞好
localectl
和local
- 安装
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
谢谢你能看到这里。看完这一大堆废话,说实话也挺累的。如果这些整活儿的内容让你能开心一下,那就太好了。最后,一如既往,就祝您身心健康吧。