搜索
查看: 10196|回复: 17

Arch Linux 基础安装教程(UEFI + GPT 单系统)

[复制链接]
发表于 2023-6-28 00:23:18 | 显示全部楼层 |阅读模式
本帖最后由 Luckys68 于 2023-6-28 11:23 编辑

在论坛里似乎还没有 Arch Linux 的安装教程,那我就来分享一下自己写的 Arch Linux 安装教程吧~
(本文以安装 Arch Linux 单系统为例,暂不讨论双系统安装)

你需要准备
1. 一个 U 盘(容量不少于 1GB,最好是 USB 3.0)
2. 一台 x86-64 架构的电脑(从 2017 年开始 Arch Linux 不支持 i386 架构)
3. 一个较好的网络环境,无线/有线网络均可,不能是需要认证的网络(如大学校园网)

开始安装吧!
1. 先下载 Arch Linux 镜像和 Ventoy 启动器
首先从 https://archlinux.org/download/ 下载最新版 Arch Linux 镜像
往下翻找到 China,选择一个镜像源(个人喜欢中科大 ustc.edu.cn):
1.png.jpg
找到 iso 镜像点击下载。
2.png.jpg
下载完镜像后,前往 https://github.com/ventoy/Ventoy/releases 下载 Ventoy 启动器(根据自己的系统类型选择):
3.png.jpg
插入U盘后打开Ventoy。

如果是初次制作 ventoy,制作前请注意备份好 U 盘数据!!
待U盘名称正常显示后点击安装:
4.png.jpg
Ventoy 安装完成后,将 Arch Linux 的镜像文件复制到U盘中,弹出U盘。
安装前注意备份硬盘重要数据!!

2. 重启电脑,正式开始安装
插入 U 盘并开机。在开机的时候,按下 F2/F12/Enter/Delete 等(取决与你的主板型号,具体请查阅你主板的相关信息)按键,进入主板的 BIOS 设置界面。
在名为 Security(安全) 的选项卡中,找到 Secure Boot(安全启动)的选项,选择 Disable/关闭 将其禁用。
在名为 Boot(启动) 的选项卡中,找到名为 Boot Options(启动顺序,名称可能略有差异)的设置选项,将 U盘(USB Device)的启动顺序调整到首位。
5.png.jpg
在名为 Exit(退出) 的选项卡中,保存 BIOS 设置并退出(Save Configurations And Exit)。
进入 Ventoy 选择菜单,选择 Arch Linux ISO,回车,等待加载完毕即进入安装界面。

3. 连接网络
(1) 有线网络
插上网线,等待片刻即可。
(2) 无线网络
输入 iwctl 回车进入无线网络工具,依次执行如下命令。
  1. device list #列出无线网卡(一般来说是 wlan0)
  2. station wlan0 scan #扫描无线网络
  3. station wlan0 get-networks #列出所有可用的无线网络
  4. station wlan0 connect SSID #SSID 即为 Wi-Fi 名称,可输入一部分然后按 Tab 键补全
复制代码
输入密码后回车,然后执行 exit。
注意:连接 SSID 里带空格的 Wi-Fi 时,要用双引号将 SSID 括起来。
(3) 测试网络是否正常连接
执行
  1. ping archlinux.org -c 5
复制代码
即可测试与 Arch Linux 服务器是否正常连接。(-c 后面的数字表示连接的次数)

4. 与互联网同步日期时间
执行
  1. timedatectl set-ntp true
复制代码
即可同步。
可以使用 timedatectl status 检查服务状态。

5. 建立与格式化硬盘分区(使用 Btrfs 文件系统)
执行 lsblk 查看硬盘详情。
6.png.jpg
图中所示是我的硬盘,最左边 nvme0n1 是硬盘设备名,下面的 nvme0n1p1、nvme0n1p2...是分区设备名。

注意:硬盘命名规则
硬盘类型 设备文件名
SATA 硬盘/U 盘等 SCSI 设备 /dev/sd[a-z]
NVMe 硬盘 /dev/nvme[0-9]n[1-9]
虚拟硬盘 /dev/vd[a-z]
对于 SATA 硬盘/U 盘/虚拟硬盘来说,系统采用 a~z 来代表26块不同的硬盘(默认从a开始分配)。
对于 NVMe 硬盘来说,第一个数字表示控制器序号(从0开始),第二个数字表示命名空间(namespace)序号(从1开始)。但是对于消费级 NVMe 硬盘而言,一块硬盘一般只有一个命名空间,因此我们一般见到的是 ```/dev/nvme[0-9]n1```。

找到需要安装 Arch Linux 的硬盘后,执行
  1. cgdisk 设备文件名
复制代码
即可进入分区管理界面(下图是已经分好区的硬盘)
7.png.jpg

在分区管理界面,可以使用上、下、左、右键移动位置。

对于 Arch Linux,以下分区是必须要有的:
一个根分区(挂载在根目录)/;
要在 UEFI 模式中启动,还需要一个 EFI 系统分区(100MB 就完全足够了)。

如果硬盘上原来有操作系统,安装 Arch Linux 单系统需要先删除原来的分区。删除方法:先用上下键选中要删除的分区,然后用左右键选择 Delete,回车。

(1) 创建根分区
先用上下键选中一块空闲空间(free space),然后用左右键选择New,回车。
First sector,保持默认即可,回车。
Size in sectors or {KMGTP},输入根分区的大小(建议大于 64G),以**数字+G**(如80G)的形式输入,回车。
Hex code or GUID,输入 8304 (对应 Linux x86-64 root),回车。
Enter new partition name,输入分区名,回车。

(2) 创建交换分区
与创建根分区方法类似,在分区大小和 Hex code or GUID 上有所不同,Hex code or GUID 应为 8200
交换分区大小建议:

物理内存 交换分区大小 开启休眠的交换分区大小
⩽ 2GB 内存的 2 倍 内存的 3 倍
2GB ~ 8GB 等于内存大小 内存的 2 倍
8GB ~ 64GB 至少 4GB 内存的 1.5 倍
> 64GB
至少 4GB 不建议使用休眠
(摘自 Red Hat Recommended System Swap Space )

(3) 如果你还想创建其他分区(可选)
比如你想为 Arch Linux 再建一个数据盘。方法和创建根分区相同。
创建完分区后(请确认分区正确),选择 Write 并回车,输入 yes 回车,写入分区表。
然后选择 Quit 回车,退出 cgdisk。

(4) 格式化硬盘分区
分区完成后,可执行 lsblk 查看分区状态。
6.png.jpg

找到 EFI 分区(一般在最前面,大小 100M ~ 300M)
执行下面命令格式化 EFI 分区:
  1. mkfs.fat -F 32 /dev/EFI分区设备名 #图中EFI分区设备名为nvme0n1p1,请根据自己lsblk的实际情况替换
复制代码
找到根分区,执行下面命令格式化根分区:
  1. mkfs.btrfs -f /dev/根分区设备名 #图中根分区设备名为nvme0n1p2,请根据自己lsblk的实际情况替换
复制代码
找到交换分区,执行下面命令格式化交换分区:
  1. mkswap /dev/交换分区设备名 #图中交换分区设备名为nvme0n1p4,请根据自己lsblk的实际情况替换
复制代码

(5) 挂载分区
挂载分区的顺序不要颠倒,否则可能遇到安装完成后无法启动系统的问题。
先执行下面命令挂载根分区:
  1. mount /dev/根分区设备名 /mnt
复制代码

由于我们用的是 Btrfs 文件系统,所以接下来需要创建子卷。
执行下面命令创建根目录子卷:
  1. btrfs subvolume create /mnt/@
复制代码
如有需要,可执行下面命令创建 /home 子卷(可选):
(创建 /home 子卷后,根目录和用户的家目录将会分开放置)
  1. btrfs subvolume create /mnt/@home
复制代码
创建完子卷后,执行下面命令卸载根分区:
  1. umount /dev/根分区设备名
复制代码

请在下面两种根分区的 /@ 子卷挂载方式中选择一种挂载:
- 挂载时启用透明压缩功能(能减少空间占用,但大量读写时会小幅增加 CPU 占用,如果 CPU 性能还不错可以开启)
  1. mount /dev/根分区设备名 /mnt -o compress=zstd subvol=@
复制代码
- 挂载时不启用透明压缩功能
  1. mount /dev/根分区设备名 /mnt -o subvol=@
复制代码
- 此处选用高效的 zstd 压缩算法进行透明压缩,一般来说使用 zstd 的默认压缩参数即可。

创建 EFI 分区挂载点:
  1. mkdir -p /mnt/efi
复制代码
- /boot/efi 已被弃用,建议使用 /efi 代替 /boot/efi。
- /efi is a replacement for the historical and now discouraged ESP mountpoint /boot/efi (https://wiki.archlinux.org/title/EFI_system_partition#Typical_mount_points)
执行下面命令挂载 EFI 分区:
  1. mount /dev/EFI分区设备名 /mnt/efi
复制代码
执行下面命令挂载交换分区:
  1. swapon /dev/交换分区设备名
复制代码
如果你创建了 @home 子卷,请在下面两种挂载方式中选择一种挂载:
- 启用透明压缩功能
  1. mkdir /mnt/home
  2. mount /dev/根分区设备名 /mnt/home -o compress=zstd subvol=@home
复制代码
- 不启用透明压缩功能
  1. mkdir /mnt/home
  2. mount /dev/根分区设备名 /mnt/home -o subvol=@home
复制代码
挂载完成后,可使用 lsblk 命令查看挂载情况。

6. 修改镜像源
先执行以下命令关闭 reflector:
  1. systemctl stop reflector
复制代码
然后执行
  1. vim /etc/pacman.d/mirrorlist
复制代码
打开镜像源文件。

将光标移到第一行镜像源的上一行,按下键盘上的 O
8.png.jpg
添加国内镜像源(此处以中科大镜像源为例):
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch

然后按 Esc 键,输入 :wq,回车,保存并退出。

7. 安装系统
对于 AMD CPU,执行如下命令开始安装系统:
  1. pacstrap /mnt base base-devel linux linux-firmware linux-headers vim bash-completion btrfs-progs amd-ucode
复制代码
对于 Intel CPU,执行如下命令开始安装系统:
  1. pacstrap /mnt base base-devel linux linux-firmware linux-headers vim bash-completion btrfs-progs intel-ucode
复制代码
- base-devel:基础开发工具包(包括 gcc g++ make 等等)
- vim:常用的文本编辑器
- bash-completion:提供 bash 终端 Tab 键补全命令的功能
- btrfs-progs:Btrfs 文件系统管理工具
- amd-ucode/intel-ucode:CPU 微码

8. 生成 fstab 文件
用以下命令生成 fstab 文件:
  1. genfstab -U /mnt >> /mnt/etc/fstab
复制代码
然后执行下面命令编辑 fstab 文件:
  1. vim /mnt/etc/fstab
复制代码
按键盘上的 i 进入插入模式。
找到文件系统为 btrfs 的一行或两行,删除挂载参数中的 subvolid=xxx(如果有 discard=async 则一并删除),添加 nodiscard 参数,注意前后的逗号
按 Esc 键,输入 :wq,回车,保存退出。

- 下面是根分区 /@ 子卷的挂载参数示例。
  1. rw,relatime,nodiscard,compress=zstd:3,ssd,space_cache=v2,subvol=/@
复制代码
- 下面是根分区 /@home 子卷的挂载参数示例。
  1. rw,relatime,nodiscard,compress=zstd:3,ssd,space_cache=v2,subvol=/@home
复制代码

9. Chroot 进入新系统
执行以下命令变更根目录,进入新系统:
  1. arch-chroot /mnt
复制代码

10. 设置时区
执行下面命令设置 Asia/Shanghai 时区:
  1. ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
复制代码
如果需要设置其他时区:
  1. ln -sf /usr/share/zoneinfo/Region(地区名)/City(城市名) /etc/localtime
复制代码
执行下面命令与硬件时间同步:
  1. hwclock --systohc
复制代码

11. 本地化
执行下面命令打开 locale.gen 文件:
  1. vim /etc/locale.gen
复制代码
按键盘上的 i 进入插入模式。
往下翻找到 en_US.UTF-8 UTF-8,将前面的注释符(#)删去。
然后按 Esc 键,输入 :wq,回车,保存退出。
注意:在安装阶段不要设置中文 locale,可能导致 tty 乱码。
然后执行
  1. locale-gen
复制代码
生成 locale 信息。

执行下面命令新建 locale.conf 文件:
  1. vim /etc/locale.conf
复制代码
按键盘上的 i 进入插入模式,然后输入
  1. LANG=en_US.UTF-8
复制代码
按 Esc 键,输入 :wq,回车,保存退出。

12. 网络设置
执行下面命令新建 hostname 文件:
  1. vim /etc/hostname
复制代码
按键盘上的 i 进入插入模式,然后输入自己喜欢的主机名,输入完后按 Esc 键,输入 :wq,回车,保存退出。

13. Root 用户密码设置
执行下面命令设置 Root 用户密码:
  1. passwd
复制代码
输入密码时不会有任何显示

14. 普通用户的创建与设置
执行下面命令创建一个普通用户:
  1. useradd -m -G wheel,storage 用户名
复制代码
执行下面命令为这个用户设置密码:
  1. passwd 用户名
复制代码
编辑超级用户文件:
  1. EDITOR=vim visudo
复制代码
按键盘上的 i 进入插入模式。
往下翻找到 "Uncomment to allow members of group to execute any command"
将下面一行 %wheel 前的注释符(#)删去。
9.png.jpg

按 Esc 键,输入 :wq,回车,保存退出。

15. 安装 GRUB 引导程序
执行 lsblk 确保 /efi 分区已正确挂载。
然后执行下面命令安装 grub 和 efibootmgr:
  1. pacman -S grub efibootmgr
复制代码
将 GRUB 安装到 EFI 分区:
  1. grub-install --efi-directory=/efi --bootloader-id=GRUB
复制代码
使用以下命令生成 GRUB 配置文件:
  1. grub-mkconfig -o /boot/grub/grub.cfg
复制代码
- GRUB 的很多选项都是可定制的。关于如何修改 GRUB 的启动顺序、主题、内核启动参数等问题,请参阅 https://wiki.archlinuxcn.org/title/GRUB

16. SSD TRIM
执行下面命令开启 SSD 的 TRIM 功能:
  1. systemctl enable fstrim.timer
复制代码

17. 可选:启用 32 位应用支持(若不需要安装 Wine/Steam 则无需开启)
执行下面命令打开 pacman.conf:
  1. vim /etc/pacman.conf
复制代码
按键盘上的 i 进入插入模式。
往下翻找到 [multilib],将 [multilib] 这一行和下一行前面的注释符(#)删去。
10.png.jpg
按 Esc 键,输入 :wq,回车,保存退出。

18. 网络、蓝牙与声音
执行下面命令安装网络相关工具:
  1. pacman -S networkmanager dialog dhcpcd
复制代码
执行下面命令启用网络服务:
  1. systemctl enable NetworkManager
复制代码
如果你用的是有线网络,执行下面命令启用 dhcpcd:
  1. systemctl enable dhcpcd@eno2
复制代码
执行下面命令安装蓝牙、声卡驱动和其他工具:
  1. pacman -S bluez bluez-utils cups xdg-utils xdg-user-dirs pipewire-pulse pipewire-jack pipewire-alsa openssh
复制代码
- 此处使用了新一代声音服务器 PipeWire,延迟比 PulseAudio 更低。有关 PipeWire 的其他信息,请参阅 https://wiki.archlinux.org/title/PipeWire

如果电脑有蓝牙功能,执行下面命令启用蓝牙:
  1. systemctl enable bluetooth
复制代码
执行下面命令启用打印机服务:
  1. systemctl enable cups
复制代码
如果需要做测试,可执行下面命令启用 SSH 服务:
  1. systemctl enable ssh
复制代码

19. 显卡驱动
(1) Intel 核显
执行下面命令安装 Intel 核显驱动:
  1. pacman -S mesa vulkan-intel
复制代码
注意,只有 Ivy Bridge 及更新架构的 CPU 核显才支持 vulkan。

- Intel QuickSync Video 驱动
Broadwell 及更新架构:
  1. pacman -S intel-media-driver
复制代码
Haswell 及更早架构:
  1. pacman -S libva-intel-driver
复制代码

(2) NVIDIA 独显
执行下面命令安装 N 卡驱动:
  1. pacman -S nvidia-dkms opencl-nvidia nvidia-settings
复制代码
需要 CUDA 可使用以下命令安装:
  1. pacman -S cuda
复制代码
执行下面命令编辑 GRUB 参数:
  1. vim /etc/default/grub
复制代码
按键盘上的 i 键进入插入模式。
GRUB_CMDLINE_LINUX_DEFAULT 中添加如下内容:
  1. nvidia-drm.modeset=1
复制代码
按 Esc 键,输入 :wq,回车,保存退出。
执行下面命令重新生成 grub.cfg:
  1. grub-mkconfig -o /boot/grub/grub.cfg
复制代码

(3) AMD 核显/AMD 独显
执行下面命令安装A卡驱动:
  1. pacman -S mesa xf86-video-amdgpu vulkan-radeon libva-mesa-driver mesa-vdpau
复制代码
按 Esc 键,输入 :wq,回车,保存退出。

20. 安装完成,重启进入 Arch Linux
执行下面命令退出 Chroot:
  1. exit
复制代码
取消挂载 /mnt 下的所有分区:
  1. umount -R /mnt
复制代码
关机:
  1. poweroff
复制代码
拔掉安装 U 盘,开机。

21. 登录系统,连接网络
输入用户名和密码登录系统。
有线网络插上网线即可。
如果使用无线网络,执行 nmtui,选择 Activate a connection 回车,选择一个 Wi-Fi 网络并连接。

连接网络后,使用
  1. sudo pacman -Syu
复制代码
更新系统。

本篇教程到这里就结束了,点此处继续看桌面环境(KDE Plasma)安装教程~
回复

使用道具 举报

发表于 2023-6-28 07:28:40 | 显示全部楼层
没有这么复杂吧,可以图形化安装的。
我都是图形化界面安装的,和windows安装基本一样。不需要进行各种配置
回复

使用道具 举报

 楼主| 发表于 2023-6-28 10:03:03 | 显示全部楼层
jyssysz 发表于 2023-6-28 07:28
没有这么复杂吧,可以图形化安装的。
我都是图形化界面安装的,和windows安装基本一样。不需要进行各种配置 ...

Arch 官方没有是没有 GUI 安装的,你是用了 ArchLinuxGUI?
回复

使用道具 举报

发表于 2023-6-28 10:08:12 | 显示全部楼层
Luckys68 发表于 2023-6-28 10:03
Arch 官方没有是没有 GUI 安装的,你是用了 ArchLinuxGUI?

我用的rocky linux
搞错了!!
回复

使用道具 举报

 楼主| 发表于 2023-6-28 10:35:35 | 显示全部楼层
jyssysz 发表于 2023-6-28 10:08
我用的rocky linux
搞错了!!

刚刚我把教程的图都补上了,优化了一下排版~
回复

使用道具 举报

发表于 2023-6-28 15:20:11 来自手机 | 显示全部楼层
好复杂啊收藏了
看傻了
回复

使用道具 举报

 楼主| 发表于 2023-6-28 16:09:58 来自手机 | 显示全部楼层
jimmy2008317 发表于 2023-6-28 15:20
好复杂啊收藏了
看傻了

Arch 确实不太适合新手hhh
回复

使用道具 举报

发表于 2023-6-28 16:42:30 | 显示全部楼层
jimmy2008317 发表于 2023-6-28 15:20
好复杂啊收藏了
看傻了

其实概括起来和图形化安装的过程差不多,都是下载->制作安装盘->分区->安装系统->安装引导->进入系统->安装软件/系统配置,只是细节会有“一些”区别。
不过这么按段分析,再辅以实践,并不算难上手。(只要有基本的计算机相关知识)
回复

使用道具 举报

联系我们(Contact)|手机版|萝卜头IT论坛 ( 苏ICP备15050961号-1 )

GMT+8, 2024-12-22 12:22 , Processed in 0.102664 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表