archlinux安装步骤

跟随官方教程:Installation guide

1. 下载ISO安装镜像

下载地址: Arch Linux Downloads

2. 制作启动盘

下面的工具选一个下载,制作启动盘即可。

制作工具 下载地址 说明
Ventoy A New Bootable USB Solution 可同时支持多个系统镜像,启动软件将U盘制作成启动盘后,将上一步下载的镜像放进去。
Rufus Create bootable USB drives the easy way 单一启动盘,制作时选上一步下载的镜像,将U盘制作成启动盘。

启动盘制作原理就是:创建FAT格式EFI分区,放入引导文件,UEFI固件即可识别并启动。

UEFI固件通过两个关键特征来识别一个分区是否为EFI系统分区:

  • 分区类型标识:在磁盘的分区表(GPT或MBR)中,该分区的类型代码被明确设置为EFI系统类型。
    • GPT磁盘:分区类型GUID为 C12A7328-F81F-11D2-BA4B-00A0C93EC93B。
    • MBR磁盘:分区类型ID为 EF(十六进制)。
  • 文件系统格式:该分区必须被格式化为 FAT32(或FAT16)文件系统,因为UEFI固件内置了读取FAT文件系统的驱动。

3. 安装步骤

3.1 联网

网络类型 连接方式
网线 插上
wifi 使用 iwctl 连接
移动网卡 使用 nmcli 连接

3.2 更新时间

1
timededactl

3.3 分区(重要)

如果是UEFI模式,最少创建两个分区,一个是

  • / 根分区
  • /boot 启动分区

如果是双系统,且其中一个是 windows 的情况下,必须先安装 windows,然后将 windows 创建的 ESP 分区挂载到 /boot。

1
2
3
4
5
6
7
8
# 查看有哪些硬盘 (lsblk 也可)
fdisk -l

# 对指定硬盘进行分区
fdisk /dev/xxx

# 常用命令
# n 新建分区, p 主分区, +10G 创建10G空间大小,w 写入更改'

3.4 格式化分区

1
2
3
4
5
6
7
8
# 格式化分区
mkfs.ext4 /dev/root_partition

# 格式化交换分区
mkswap /dev/swap_partition

# 格式化启动分区
mkfs.fat -F 32 /dev/efi_system_partition

3.5 挂载文件系统

1
2
3
4
5
6
7
8
# 挂载根分区
mount /dev/root_partition /mnt

# 挂载启动分区
mount --mkdir /dev/efi_system_partition /mnt/boot

# 启用交换分区
swapon /dev/swap_partition

3.6 安装系统

安装前可以先筛选出国内的镜像地址。

1
sudo reflector --country China --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
1
2
3
4
5
6
# 如果是容器中安装,则不用安装 linux-firmware
pacstrap -K /mnt base linux linux-firmware

# 安装网络相关包(重要)
# 不安装进入系统后无法自动获取IP地址,只能手动配置IP进行联网。
pacstrap -K /mnt dhcpcd

网络软件包参考:Network managers

3.7 配置系统

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
# 生成文件系统挂载表
genfstab -U /mnt >> /mnt/etc/fstab

# chroot到新系统
arch-chroot /mnt

# 设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc

# 设置语言
# 编辑文件:/etc/locale.gen,保留需要的字符集即可
# 然后执行:
locale-gen

# 编辑主机名
# 文件位置:/etc/hostname

# 设置密码
passwd

3.8 安装启动加载器

启动加载器有很多,具体可参考:Arch boot process

这里以安装 GRUB 为例。

UEFI 模式

1
2
3
4
5
6
# 下面的esp改为你的EFI分区位置,一般是:/boot
# 即 grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB

# 生成启动配置文件
grub-mkconfig -o /boot/grub/grub.cfg

BIOS 模式

1
2
3
4
grub-install --target=i386-pc /dev/sdX

# 生成启动配置文件
grub-mkconfig -o /boot/grub/grub.cfg

3.9 卸载新系统分区并重启

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# 退出 chroot
exit

# 卸载新系统分区
umount -R /mnt

# 重启
reboot

# 此时可以拔掉启动盘,等待重启进入arch界面了

4. 享用新系统

4.1 联网

如果进入新系统没有联网。

可以手动设置IP地址以临时联网,然后安装chcpcd等网络包后自动处理网络。

假如你在 192.168.0.1/24 网络。

1
2
3
4
5
6
7
8
# 配置 IP 地址
sudo ip addr add 192.168.10.100/24 dev eth0
# 配置网关(默认路由)
sudo ip route add default via 192.168.10.1 dev ens18
# 配置 DNS
echo "nameserver 223.5.5.5" | sudo tee /etc/resolv.conf
# 如果上述参数配置正确,现在应该已经有网络
ping baidu.com -c 4

4.2 查看系统状态

1
2
# 安装 fastfetch
pacman -S fastfetch

查看系统信息。

[root@arch1 ~]# fastfetch
                  -`                     root@arch1
                 .o+`                    ----------
                `ooo/                    OS: Arch Linux x86_64
               `+oooo:                   Kernel: Linux 6.19.12-arch1-1
              `+oooooo:                  Uptime: 2 days, 7 hours, 1 min
              -+oooooo+:                 Packages: 236 (pacman)
            `/:-:++oooo+:                Shell: bash 5.3.9
           `/++++/+++++++:               Display (QEMU Monitor): 1280x800 in 15", 75 Hz
          `/++++++++++++++:              Terminal: /dev/pts/0 10.3p1
         `/+++ooooooooooooo/`            CPU: QEMU Virtual version 2.5+ (2) @ 3.39 GHz 
        ./ooosssso++osssssso+`           GPU: Unknown Device 1111 (VGA compatible)     
       .oossssso-````/ossssss+`          Memory: 355.62 MiB / 1.92 GiB (18%)
      -osssssso.      :ssssssso.         Swap: 0 B / 1024.00 MiB (0%)
     :osssssss/        osssso+++.        Disk (/): 5.12 GiB / 30.34 GiB (17%) - ext4   
    /ossssssss/        +ssssooo/-        Local IP (ens18): 192.168.0.114/24
  `/ossssso+/:-        -:/+osssso+-      Locale: en_US.UTF-8
 `+sso+:-`                 `.-/+oso:
`++:.                           `-/+/                            
.`                                 `/                            
[root@arch1 ~]# 
updatedupdated2026-04-292026-04-29