在进行 Arch Linux 安装以前,可能需要了解一些关于 Linux 的知识,这些内容可通过中科大 Linux 用户协会编写的《Linux 101》了解,除此之外 ChatGPT & 搜索是你获取 Linux 知识的最好办法。
表达说明(来源):
如果命令开头是 $
说明普通用户可执行,如果命令开头是 #
说明用户执行该命令需要 root 权限。
在烧录好的系统中,默认是 root 用户,所以可以执行所有命令。
【准备安装】中的工作是在命令行下进行的。
准备安装
下载 *.iso 镜像
从官网 Download 页面提供的镜像站下载。然后验证镜像。
$ gpg --keyserver-options auto-key-retrieve --verify archlinux-version-x86_64.iso.sig
制作启动盘
可能的 USB ID:usb-SMI_USB_DISK-0:0,不要在后面加上形似 -part1 的内容(参考)。
# dd bs=4M if=archlinux-version-x86_64.iso of=/dev/disk/by-id/usb-* conv=fsync oflag=direct status=progress
更改 BIOS 设置——关闭安全启动
不同主机进入 BIOS 界面的方式各不相同,我的是 HP 笔记本。此外,F9 是更改启动顺序。
按下开机键 -> 持续按 F10 直到出现 BIOS 设置页面
之后进行三项操作:
- 启动虚拟化(要在主机创建虚拟机,不需要则不必开启)
- 关闭安全启动
- 修改 UEFI 模式下的启动顺序:让 USB 启动在前
启动烧录的系统,并验证启动方式为 UEFI
把烧录好系统的 U 盘,通过 USB 接口插到主机上,启动后会看到 Arch Linux 的安装界面。选择默认的第一个按下回车。接下来的所有过程都是通过命令行进行操作,而这正是 Arch Linux 富有魅力的地方。
# cat /sys/firmware/efi/fw_platform_size
有输出,说明启动模式为 UEFI。
连接网络
有以下三个方法:
- 有线连接
- 无线 Wifi
- 随身 Wifi USB 连接
以上方法,只有 2 需要在命令行通过 iwctl 命令配置,其他两个都是自动配置的(可参考这位的命令)。
然后验证是否连接网络:
# ping archlinux.org -c 3
0% packet loss 说明网络正常。
更新系统时间
在烧录系统中,一旦网络连接成功,时间会自动同步。所以,需要 timedatectl
命令查看时间是否正常。
分区
使用的是 fdisk。
# fdisk -l
# fdisk /dev/sdX
fdisk -l
查看硬盘信息fdisk /dev/sdX
固态硬盘分区,X 会因为插入硬盘类型不同,而变为不同字母,比如/dev/sda
进入 fdisk 操作界面后,需要创建至少两个分区,一个是系统启动的引导分区(分区类型为 EFI System),一个是剩下的存储空间(分区类型为 Linux filesystem)。还可能有一个 swap 分区,用于物理内存不够时使用(by 依云),更深的关于 swap 的解释(by farseerfc)。
- m 查看命令帮助
- p 显示目标硬盘分区
- g 新建 GPT 分区表
- 创建 sdX1 分区,n 创建分区、分区序号、类型起始扇区默认,结束扇区 +256M(这个根据自己需要更改大小)。t 修改分区类型,1 为 EFI System,p 确认为 EFI System
- 创建 sdX2 分区,全部默认,分区类型为 Linux filesystem。
- w 写入硬盘
分区结果:
Device Start End Sectors Size Type
/dev/sdX1 2048 526335 524288 256M EFI System
/dev/sda2 526336 250069646 249543311 119G Linux filesystem
硬盘格式化、新建文件系统
# mkfs.fat -F32 /dev/sdX1
# mkfs.ext4 /dev/sdX2
挂载分区
mount /dev/sdX2 /mnt
mkdir -p /mnt/boot
mount /dev/sdX1 /mnt/boot
安装
选择镜像源
从官网地址可以看到,为中国用户设置的 Arch Linux 镜像地址。这是按照镜像得分进行排序的。
# reflector --save /etc/pacman.d/mirrorlist --country CN --protocol https --latest 10 --sort rate
使用 reflector 将最近同步的中国镜像按速率排序,保存在配置文件中,使用的是加密的 HTTPS 协议
安装关键包
# pacstrap -K /mnt base base-devel linux linux-firmware intel-ucode git vim
- pacstrap 在安装上述包时会初始化根目录 /mnt,会在 /mnt 目录中创建 Linux 的文件目录
bin/ boot/ dev/ etc/ home/ lib/ lib64/ mnt/ opt/ proc/ root/ run/ sbin/ srv/ sys/ tmp/ usr/ var/
- -K 的作用:不复制启动盘中的 pacman keyring,初始化空的 pacman keyring
- /mnt 就是新系统的所在
- base, base-devel, linux, linux-firmware 四个包基本是必装的;可能有想替换的,比如 linux-lts 作为 linux 的替代
- intel-ucode/amd-ucode 一些微码更新,根据 CPU 型号选择安装
- git, vim 前者用于编程代码维护,后者是基于命令行的文本编辑器
配置系统
生成挂载表
# genfstab -U -p /mnt >> /mnt/etc/fstab
# cat /mnt/etc/fstab
进入硬盘,而不在启动 U 盘
# arch-chroot /mnt
时间
设置时区,同步时间:
ln -sf /usr/share/zoneinfo/Asia/Hong_Kong /etc/localtime
hwclock --systohc --utc
本地化(配置系统语言)
# vim /etc/locale.gen
## press '/', input 'en_US', cursor will appear at the right position
## 'zh_CN' same with above
在 locale.gen 中取消注释:
en_US.UTF-8 UTF-8
...
zh_CN.UTF-8 UTF-8
生成配置:
# locale-gen
设置本地语言环境:
vim /etc/locale.conf
在 locale.conf 中输入:
LANG=en_US.UTF-8
网络配置
一、主机名
# echo arch > /etc/hostname
## change 'arch' to anything if you want
二、Hosts
在 /etc/hosts 中添加以下内容:
127.0.0.1 localhost
::1 localhost
127.0.0.1 arch.localdomain arch
三、使用 NetworkManager 管理网络
# pacman -S networkmanager
# systemctl enable NetworkManager
用户相关
一、更改 root 密码
# passwd
二、新建用户,设置用户密码
# useradd -m -g users -G wheel -s /bin/bash archie
# passwd archie
三、设置用户权限
# EDITOR=vim visudo
取消注释:
## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL) ALL
## Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL
安装引导程序
# pacman -S grub efibootmgr
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
# grub-mkconfig -o /boot/grub/grub.cfg
运行 grub-mkconfig 操作时,会出现警告: Warning: os-prober will not be executed to detect other bootable partitions.
。如果不是双系统,不用关注这个警告。
安装 KDE 桌面环境
返回 U 盘
# exit
重启系统
# umount -R /mnt
# reboot
开机后改动 BIOS,配置「系统启动」后,拔掉 U 盘。普通用户 archie 登录。
安装 KDE
# pacman -S plasma-meta plasma-wayland-session konsole dolphin
# systemctl enable sddm
参考资料
如果你对 Arch Linux 感兴趣,按照我的教程安装出现了问题,欢迎向我求助。关于求助费用的问题,见咨询服务页面。