猴子也能学会的Arch Linux安装教程
Arch Linux以其高度的可定制性和简洁性而闻名,但这也意味着安装过程相对复杂。本文将带你一步步完成Arch Linux的安装,适合初学者参考学习。
1. 硬件环境
我使用一台老旧的笔记本电脑进行安装测试,配置如下:
- Name: HP Laptop 15s-er2xx
- CPU: AMD Ryzen 5 5500U with Radeon Graphics
- GPU: Integrated AMD Radeon Graphics
- RAM: 16GB
- Storage: 512GB NVMe SSD
更好的硬件是推荐的,当然,Arch Linux对硬件的要求并不高,基本上大部分现代电脑都能胜任,不过为了获得更优的使用体验,建议至少准备8GB内存和50GB以上的硬盘空间。
2. 安装准备
2.1 镜像获取及验证
打开下载页面 选择你喜欢的镜像站下载最新的Arch Linux ISO文件。 我选择的镜像地址是 https://mirror.adectra.com/archlinux/iso/2026.01.01/
下载完成后,建议验证ISO文件的完整性和真实性。Arch Linux提供了SHA256校验和和PGP签名两种验证方式。 这两步校验建议都在linux环境下完成,可以使用虚拟机或者WSL。
2.1.1 验证Hash
将下载的ISO文件和对应的sha256sums.txt以及archlinux-<distro>.iso.sig放在同一目录下。
cd /path/to/downloaded/iso
sha256sum -c sha256sums.txt注意 如果wins下载txt移植到linux可能会有格式问题,建议用linux下的wget重新下载txt文件,或者
sed -i 's/\r//g' sha256sums.txt去掉windows的回车符
如果校验通过,你会看到类似如下的输出:
archlinux-<distro>.iso: OK情报:SHA256 SHA256校验和是一种用于验证文件完整性的加密哈希函数。 对于任何长度的数据,SHA256算法都会生成一个256位(32字节)的哈希值。在检验中,用户可以计算下载文件的SHA256哈希值,并将其与官方提供的哈希值进行比较。如果两个哈希值匹配,则说明文件在传输过程中未被篡改或损坏,从而确保文件的完整性。 SHA256的原理
2.1.2 验证PGP签名
情报:PGP签名 PGP(Pretty Good Privacy)签名是一种用于验证文件真实性和完整性的加密技术, 使用sha只能验证文件完整性,无法验证文件来源, 而PGP需要开发者的私钥签名,用户使用开发者的公钥验证签名,从而确保文件确实来自可信的开发者。
如果你已经有一台安装Arch Linux的电脑,可以直接验证:
pacman-key -v archlinux-<distro>-x86_64.iso.sig2.2 安装介质(U盘)制作
情报:启动盘 启动盘是一种包含操作系统安装文件的可启动存储设备,通常是USB闪存驱动器或光盘。它允许用户在计算机上引导并安装操作系统,而无需依赖现有的操作系统环境。启动盘通常用于安装新的操作系统、修复现有系统或进行系统维护任务。
情报:rufus rufus是一款流行的Windows平台下的开源工具,用于创建可启动的USB闪存驱动器。它支持多种操作系统的ISO文件,包括Windows、Linux发行版等。Rufus以其快速、高效和易用性而闻名,允许用户轻松地将ISO映像写入USB设备,从而创建启动盘以进行操作系统安装或系统修复。
警告 在制作启动盘之前,请确保备份U盘中的重要数据,因为制作过程会格式化U盘,导致数据丢失。
- 下载rufus, 插入U盘并运行rufus
- 在
设备选中U盘 - 在
引导选择右侧点击选择,选中下载的arch iso文件 - 分区类型 (一般对于新电脑,由于UEFI的普及,选择GPT)
- MBR:传统BIOS启动
- GPT:UEFI启动
情报: 分区类型 分区类型决定了硬盘上数据的组织和管理方式。常见的分区类型包括MBR(主引导记录)和GPT(GUID分区表)。 MBR (master boot record) 是较旧的分区方案,支持最大2TB的硬盘和最多4个主分区,而GPT(GUID Partition Table)是较新的标准,支持更大的硬盘(超过2TB)和更多的分区(理论上无限制)。选择合适的分区类型取决于系统的固件类型(BIOS或UEFI)以及硬盘的大小。
- 目标系统类型
- BIOS或UEFI-CSM:传统BIOS启动
- UEFI(非CSM):UEFI启动
- 查看你的电脑使用哪种引导模式:
msinfo32命令查看BIOS模式字段
情报: 引导模式 引导模式决定了计算机在启动时如何加载操作系统。主要有两种引导模式:传统BIOS和UEFI(统一可扩展固件接口)。 传统BIOS是一种较旧的引导方式,使用MBR分区表,启动时,BIOS会加载主引导记录(MBR)中的引导代码,再寻找操作系统。而UEFI则会直接读取EFI分区中的引导加载程序,支持更大的硬盘和更复杂的启动选项。
- 文件系统选择FAT32
情报: FAT32 FAT32(File Allocation Table 32)是微软开发的一种文件系统,广泛用于USB闪存驱动器和存储卡。它支持最大4GB的单个文件大小和最大8TB的分区大小。FAT32具有良好的兼容性,几乎所有操作系统都支持读取和写入FAT32格式的存储设备,因此常用于制作启动盘和跨平台文件传输。 采用UEFI模式的计算机在启动时会读取硬盘的ESP分区,并读取
.efi后缀的引导文件,例如linux的grubx64.efi, 该分区必须使用FAT32文件系统格式化,以确保UEFI固件能够正确识别和加载引导加载程序。
- 点击开始,等待完成
2.3 启动到live环境
注意: 进行此步骤前,如果你想要实现双系统,务必通过磁盘管理工具分配至少50GB的未分配空间给Arch Linux使用,避免安装过程中覆盖Windows分区。 未进行该步骤可能导致数据丢失,或,不得不重复此处开始的步骤
情报: live环境 live环境是一个临时的操作系统环境,通常从可启动介质(如USB驱动器或光盘)加载,而不需要安装到计算机的硬盘上。它允许用户在不修改现有系统的情况下测试和使用操作系统的功能。 当然,你在live环境中进行的绝大多数更改在重启后都会丢失,除非你手动将更改保存到持久存储设备上。
2.3.1 禁用安全启动
安全启动是一种固件功能,旨在防止未经授权的操作系统和软件在计算机上运行。它通过验证启动加载程序和操作系统的数字签名来确保只有受信任的软件能够启动,从而提高系统的安全性。当我们安装自定义操作系统(如Arch Linux)时,可能需要禁用安全启动,以允许非签名的引导加载程序和内核运行。
- 重启电脑并进入BIOS/UEFI设置(通常通过按F2、F10、DEL等键)【笔者的设备是按F10进入启动菜单,然后选择进入BIOS】
- 找到
安全启动选项,通常在Security或Boot菜单下 - 将
安全启动设置为禁用(Disable) - 保存更改并退出BIOS/UEFI设置
2.3.2 从U盘启动
- 重启并进入启动菜单(笔者设备为F9)
- 选择引导设备为USB硬盘(一般有UEDI标识)
- 选择Arch Linux Install medium
启动 (这里with speech是带语音辅助的版本,不选) - 如果你看到
root@archiso,说明启动一个使用zsh的虚拟控制台,恭喜你成功进入了Arch Linux的live环境!
2.3.3 archinstall(不推荐)
官方提供的安装脚本
archinstall但是,滥用安装脚本会令初学者失去学习arch安装和配置的机会,因此不推荐使用。
2.4 控制台键盘布局和字体
系统启动后默认键盘布局是美式键盘,如果你使用其他布局,可以通过以下命令更改:
localectl list-keymaps # 列出所有可用的键盘布局loadkeys <keymap> # 替换<keymap>为你选择的键盘布局 e.g de-latinl 为德语键盘注意:中文用户不需要更改键盘布局,默认
us/C已经可以正常使用
一个小技巧:如果你觉得console字体太小,可以通过setfont命令更改字体大小,例如:
setfont ter-132b #HiDPI屏幕的最大字体情报: localectl
localectl是一个用于管理系统本地化设置的命令行工具。它允许用户查看和修改系统的语言环境、键盘布局和其他本地化相关的配置。通过localectl,用户可以轻松地设置系统的默认语言、区域设置以及键盘布局,以适应不同的语言和文化需求。
2.5 验证引导模式
输入
cat /sys/firmware/efi/fw_platform_size- 如果结果为
64,则表示系统以UEFI模式引导 - 如果为
32,则系统是以 UEFI 模式引导且使用 32 位 IA32 UEFI,虽然其受支持,但引导加载程序只能使用 systemd-boot 和 GRUB。 - 如果为空,则表示系统以传统 BIOS 模式引导
情报:GRUB GRUB(GRand Unified Bootloader)是一种广泛使用的开源引导加载程序,它负责将操作系统的内核加载到内存中并启动系统。GRUB支持多种操作系统和文件系统,允许用户在启动时选择不同的操作系统或内核版本。它提供了灵活的配置选项,使用户能够自定义启动菜单、设置引导参数以及管理多重引导环境。GRUB通常用于Linux系统,但也可以引导其他操作系统,如Windows和macOS。 计算机启动时,UEFI固件会读取EFI系统分区(ESP)中的引导加载程序文件,这些文件通常位于ESP的特定目录结构中。GRUB作为引导加载程序(通常后缀为
.efi),可以安装在ESP中,并通过UEFI固件进行调用,从而实现操作系统的启动。
2.6 链接到互联网
2.6.1 确保系统列出并启用网络端口
ip link示例输出
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 66:77:88:99:aa:bb brd ff:ff:ff:ff:ff:ff其中,标识符
lo是回环接口,这是一个虚拟接口,用于系统内部通信enp2s0是有线以太网接口wlan0是无线网络接口
状态信息
UP表示接口已启用并连接DOWN表示接口未启用或未连接LOWER_UP表示物理链路已建立
硬件地址(link/ether)是网络接口的MAC地址,用于唯一标识网络设备。
我们这里主要关心wlan连接,如果wlan状态是UP,我们可以开始联网。如果为DOWN,我们需要启用它。
sudo ip link set wlan0 up2.6.2 连接到无线网络
情报: iwd iwd (INet Wireless Daemon) 是一个由Intel开发的无线网络守护进程,旨在提供高效、轻量级的无线网络管理解决方案。iwd支持多种无线网络标准,包括Wi-Fi,并提供了简洁的命令行界面和API,方便用户和应用程序进行无线网络配置和管理。iwd的设计目标是替代传统的无线网络管理工具,如wpa_supplicant,以提高性能和简化配置过程。它广泛应用于Linux系统中,特别是在嵌入式设备和物联网应用中。
- 使用
iwctl连接wifi
iwctl这会带你进入iwctl交互式命令行,看到提示符[iwd]#
2. 列出可用的设备
device list- 启用设备和适配器(假设设备名为wlan0)
device wlan0 set-property Powered on
adapter wlan0 set-property Powered on- 扫描网络并连接
station wlan0 scan
station wlan0 get-networks
station wlan0 connect <SSID>- 测试连接
ping archlinux.org2.7 更新系统时钟
timedatectl set-ntp true(这里会自动根据网络切换时区,如果需要手动设置时区,可以使用timedatectl set-timezone <Region/City>)
2.8 磁盘操作 (双系统环境)
注意:以下步骤假设你已经在Windows下使用磁盘管理工具压缩了一个至少50GB的分区,形成了未分配空间。如果没有,请先返回Windows进行此操作,并回到2.3重新开始,否则可能会覆盖现有数据。
2.8.1 物理设备识别
在开始前,我们通过 lsblk 确认了硬盘的身份:
- 设备名称:
/dev/nvme0n1(NVMe 固态硬盘) - 现有结构:包含 Windows 的 EFI 分区 (
p1)、系统盘 (p3), D, E 数据盘 (p4,p5)。 - 注意: 直接使用
lsblk不会输出未分配空间的信息,-a参数可以显示所有设备,包括未分配空间。
情报 :lsblk lsblk (list block devices) 是一个Linux 命令行工具,用于以树状结构显示系统中所有块设备(如硬盘、SSD、USB 驱动器、光驱)的层级关系、大小、类型及挂载点等信息,非常适合用于快速了解系统存储布局,查看磁盘分区情况及文件系统挂载点
2.8.2 分区方案规划
使用 cfdisk 在那 50GB 的空闲空间上建立了两个新分区,形成了“2+2”的格局(2个原有关键分区 + 2个新分区):
- Windows EFI 分区 (
/dev/nvme0n1p1):保持现状,作为共用的引导入口。 - Arch Swap 分区 (
/dev/nvme0n1pX):分配 16GB,类型设为Linux swap。用于缓解物理内存压力。 - Arch 根分区 (
/dev/nvme0n1pY):分配约 34GB,类型为Linux filesystem。存放所有系统文件。
为什么和Arch Wiki推荐的分区方案不同? Arch Wiki 推荐的分区方案通常适用于全新安装的场景,建议再单独创建一个 EFI 分区以确保系统的独立性和兼容性。然而,在双系统环境下,我们选择共用 Windows 的 EFI 分区,以简化引导管理,避免重复创建 EFI 分区带来的复杂性和潜在冲突。这种做法在实际应用中是可行的,尤其是在资源有限的情况下。
情报:SWAP Swap 分区是一种虚拟内存机制,当系统的物理内存(RAM)不足时,操作系统会将部分数据从内存移动到硬盘上的 Swap 分区,以释放内存空间供当前运行的程序使用。虽然 Swap 分区的访问速度远低于物理内存,但它可以防止系统因内存不足而崩溃,从而提高系统的稳定性和响应能力。Swap 分区的大小通常建议为物理内存的1到2倍,具体取决于系统的使用需求和工作负载。
情报: EFI EFI(Extensible Firmware Interface)是一种用于计算机固件的标准接口,旨在替代传统的BIOS系统。EFI提供了更灵活和强大的功能,包括支持更大的硬盘、更快的启动时间以及更丰富的图形界面。EFI系统分区(ESP)是一个特殊的分区,用于存储EFI引导加载程序、驱动程序和其他必要的文件,以便计算机在启动时能够正确加载操作系统。ESP通常使用FAT32文件系统格式化,并且必须位于硬盘的开头部分,以确保固件能够访问它。
2.8.3 格式化与激活
- Swap 激活
mkswap /dev/nvme0n1pX #X替换为实际分区号
swapon /dev/nvme0n1pX #激活交换空间- 根目录格式化
mkfs.ext4 /dev/nvme0n1pY #Y替换为root实际分区号ext4是广泛使用的Linux文件系统,提供了高性能、可靠性和扩展性,适用于各种存储需求。
- 注意:严禁对
p1(EFI) 执行mkfs,否则会由于丢失启动文件导致 Windows 无法开机。
2.8.4 逻辑挂载结构
情报:挂载(Mounting) Linux的设计思想是“一切皆文件”,这意味着系统中的所有资源(包括硬盘分区、设备、网络资源等)都被视为文件。比如,硬盘分区被表示为
/dev/sda1、/dev/nvme0n1p1等设备文件。为了访问这些资源,Linux使用挂载(mounting)机制,将这些设备文件与文件系统中的目录(称为挂载点)关联起来。通过挂载,用户和应用程序可以像访问普通文件一样访问硬盘分区和其他资源,从而实现对系统资源的统一管理和操作。 挂载点是文件系统中的一个目录,用于连接和访问外部存储设备或分区。通过将设备挂载到特定的挂载点,用户可以方便地访问和管理存储资源。按照惯例,Linux系统通常将根分区挂载到/mnt目录下,而EFI分区则挂载到/mnt/boot目录下。
mount /dev/nvme0n1pY /mnt # 挂载根
mkdir /mnt/boot # 创建boot目录
mount /dev/nvme0n1p1 /mnt/boot # 挂载EFI2.8.5 当前状态自检表
请在终端输入 lsblk,对比以下挂载点是否完全一致:
| 分区名 | 建议大小 | 对应挂载点 | 状态确认 |
|---|---|---|---|
nvme0n1p1 | ~100-512MB | /mnt/boot | 必须挂载 |
nvme0n1pX | 16GB | [SWAP] | 必须显示 SWAP |
nvme0n1pY | ~34GB | /mnt | 必须挂载 |
3. 基础系统安装
3.1 选择镜像源
Arch Linux 默认使用官方镜像源,但由于地理位置和网络状况的不同,可能会导致下载速度较慢。为了提高下载速度,我们可以选择一个离我们更近的镜像源,例如国内的镜像源。
nano /etc/pacman.d/mirrorlist找到你所在的地区镜像,剪切到文件顶部,保存退出。
3.2 安装基础系统
使用 pacstrap 命令安装基础系统到挂载的根分区:
pacstrap /mnt base linux linux-firmware vim nano sudo networkmanagerbase:基础系统包linux:Linux内核linux-firmware:硬件固件vim和nano:文本编辑器(你刚刚使用的nano是live环境自带的,不会直接安装到新系统中)sudo:允许普通用户执行管理员命令networkmanager:网络管理工具,便于后续联网配置
3.3 生成文件系统表
genfstab -U /mnt >> /mnt/etc/fstab
cat /mnt/etc/fstab # 检查fstab内容是否正确你应该可以看到刚刚挂载的分区信息被正确写入fstab文件中。
情报:fstab fstab(文件系统表)是Linux和Unix系统中的一个配置文件,位于
/etc/fstab,用于定义系统启动时自动挂载的文件系统和存储设备。它包含了每个分区的设备名称、挂载点、文件系统类型以及挂载选项等信息。通过编辑fstab文件,用户可以方便地管理和配置系统的存储资源,实现自动挂载、调整挂载选项等功能,从而提高系统的可用性和性能。 如果不启用fstab,每次启动系统时都需要手动挂载分区,增加了操作复杂性和出错风险。当然,如果你经验丰富,可以更改fstab文件以自定义挂载选项和行为。
3.4 切换到新系统环境
arch-chroot /mnt现在你已经进入了新安装的Arch Linux系统环境,可以开始进行系统配置和安装其他软件包。
3.5 配置时区
ln -sf /usr/share/zoneinfo/<Region>/<City> /etc/localtime # 替换<Region>和<City>为你的时区信息,例如Asia/Shanghai
hwclock --systohc # 同步硬件时钟3.6 本地化设置
编辑/etc/locale.gen文件,取消注释你需要的语言环境,例如:
nano /etc/locale.gen
# 去掉以下行前的#号以启用对应语言环境
# en_US.UTF-8 UTF-8
# zh_CN.UTF-8 UTF-8生成语言环境:
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf # 设置系统默认语言为英文3.7 网络配置
3.7.1 主机名,密码设置
echo "myarch" > /etc/hostname # 替换myarch为你想要的主机名设置root密码
passwd3.7.2 启用网络管理服务
systemctl enable NetworkManager(这里选择先启动NetworkManager服务,后续可以通过nmcli命令行工具或者安装图形化网络管理工具如nm-connection-editor进行网络配置)
3.7.3 安装引导程序
pacman -S grub efibootmgr os-proberefibootmgr:将EFI引导项写入固件,管理启动顺序os-prober:检测其他操作系统,方便多重引导配置
出于安全考虑,Arch Linux默认禁用os-prober,需要手动启用:
nano /etc/default/grub
# 在文件末尾添加以下行以启用os-prober
GRUB_DISABLE_OS_PROBER=false安装GRUB到EFI分区:
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB生成GRUB配置文件:
grub-mkconfig -o /boot/grub/grub.cfg如果你看到Found Windows Boot Manager on /dev/nvme0n1p1,说明os-prober成功检测到了Windows系统。
3.8 完成安装并重启
退出chroot环境
exit
#取消挂载并写回disk
umount -R /mnt
#重启
reboot记得拔掉U盘,进入BIOS/UEFI设置,将启动顺序调整为从硬盘启动。 恭喜你!如果一切顺利,你现在应该可以看到GRUB引导菜单,并成功进入你的新Arch Linux系统了!
4. 联网,图形化和桌面环境安装
4.1 连接到无线网络
刚才我们已经启用了NetworkManager服务,现在可以通过nmtui工具连接到无线网络:
nmtui选择Activate a connection,然后选择你的无线网络,输入密码连接即可。
推出并ping测试联网:
ping -c 3 archlinux.org4.2 创建用户
useradd -m -G wheel -s /bin/bash yourusername # 替换yourusername为你想要的用户名
passwd yourusername # 设置用户密码
# 允许wheel组用户使用sudo
nano /etc/sudoers
# 找到以下行并取消注释
%wheel ALL=(ALL) ALL4.3 KDE Plasma桌面环境安装
你可以使用其他桌面环境,如GNOME、XFCE等,安装方法类似,只需替换相应的软件包名称即可。
4.3.1 安装微码和图形驱动
pacman -S amd-ucode xf86-video-amdgpuamd-ucode:AMD处理器微码更新xf86-video-amdgpu:AMD显卡驱动
4.3.2 安装Xorg和KDE Plasma
pacman -S xorg plasma plasma-wayland-session kde-applications sddmxorg:X Window系统基础plasma:KDE Plasma桌面环境
配置登陆界面sddm开机自启
sudo systemctl enable sddm重启进入图形界面
reboot4.4 中文输入法
安装Fcitx5和拼音输入法
pacman -S fcitx5 fcitx5-chinese-addons fcitx5-qt fcitx5-gtk3配置环境变量
nano ~/.xprofile在文件中添加以下内容:
export XMODIFIERS="@im=fcitx5"
export GTK_IM_MODULE="fcitx5"
export QT_IM_MODULE="fcitx5"
export CLUTTER_IM_MODULE="fcitx5"在设置->输入->虚拟键盘中启用Fcitx5输入法框架。
保存退出后,重启系统。
Ciallo~(∠・ω< )