Arch Linux 的官方安装指南差点意思,第一次安装也踩了很多坑,总结一波。
⚠️:官方文档更新更勤,地址:https://wiki.archlinux.org/index.php/Installation_guide
准备
备份
一定要备份原硬盘数据,因为没准就搞没了。
下载镜像
官方下载地址:https://www.archlinux.org/download/
不过国内还是用清华或中科大的镜像吧:
清华:https://mirrors.tuna.tsinghua.edu.cn/
中科大:https://mirrors.ustc.edu.cn/
制作镜像
讲道理,这玩意没啥可说的吧,推荐个新玩意儿-Ventory,用着还行,官网地址:https://www.ventoy.net/。
我的启动引导方式是 UEFI,下面默认 UEFI 引导下的操作。
开始安装
启动
从 Ventory 选中 ISO 镜像,启动进入命令行界面,应该会看到下面这个:
root@archiso ~ #
这就表示我们已经启动完毕了。
连接网络
进入的 ArchLinux ISO 是个 Live 环境,安装时需要联网下载软件包。
正常有线网络自动获取 IP 地址的应该可以直接自动连接,可以 ping 测试下。如果不同的话,可以先查看下网卡:
[root@archiso ~]# 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: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 00:d8:61:9c:31:37 brd ff:ff:ff:ff:ff:ff
我这里第一个是本地回环,不用理会,第二个即 enp 开头的有线网卡,如果是无限网卡的话是 wlp 开头,如果没有检测到网卡的话,下面就不用看了。
配置无线网络的话,可以使用 iwctl
命令。
更新系统时间
执行如下命令:
root@archiso ~ # timedatectl set-ntp true
root@archiso ~ # timedatectl status
硬盘分区
查看硬盘设备:
root@archiso ~ # fdisk -l
Disk /dev/sda: 238.47 GiB, 256060514304 bytes, 500118192 sectors
Disk model: FORESEE 256GB SS
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: C38DXXXX-XXXX-XXXX-XXXX-F9DXXX994XX
即我们要在 GPT 磁盘上做 UEFI 引导。
此时,执行 fdisk /dev/sda
即可开始分区,我这里分了三个区,即:
/dev/sda1 EFI 引导分区,使用 FAT 文件系统,用于安装 GRUB 引导,建议 500M
/dev/sda2 root 分区,ext4 格式
/dev/sda3 home 分区,ext4 格式
格式化分区
EFI
引导分区格式化使用 mkfs.vfat
命令,root
和 home
使用 mkfs.ext4
命令,如果格式化交换分区的话,使用 mkswap
命令:
root@archiso ~ # mkfs.vfat -F32 /dev/sda1
root@archiso ~ # mkfs.ext4 /dev/sda2
root@archiso ~ # mkfs.ext4 /dev/sda3
挂载分区
挂载
根目录
分区(必须最先挂载,不然会覆盖其他分区的内容)root@archiso ~ # mount /dev/sda1 /mnt
挂载
EFI
引导分区,挂载到自定义文件夹root@archiso ~ # mkdir -p /mnt/boot/efi root@archiso ~ # mount /dev/sda1 /mnt/boot/efi
挂载
home
分区root@archiso ~ # mkdir -p /mnt/home root@archiso ~ # mount /dev/sda2 /mnt/home
注意:swap
分区不用挂载,直接执行 swapon /dev/sdax
命令即可。
安装必需的软件包
首先,更换镜像源到国内,可编辑 /etc/pacman.d/mirrorlist
文件,添加以下内容到文件开头:
## 清华
Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
## 中科大
Server = http://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
同步远程仓库:
root@archiso ~ # pacman -Sy
开始安装软件包:
root@archiso ~ # pacstrap /mnt base linux linux-firmware
生成 Fstab 文件
用以下命令生成 fstab 文件 (用 -U
或 -L
选项设置UUID 或卷标):
root@archiso ~ # genfstab -U /mnt >> /mnt/etc/fstab
进入系统并配置
Chroot
Change root) 到新安装的系统:
root@archiso ~ # arch-chroot /mnt
时区
设置时区:
root@archiso ~ # ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
设置时钟:
root@archiso ~ # hwclock --systohc
本地化
修改 /etc/locale.gen
文件,放开 en_US.UTF-8 UTF-8
和 zh_CN.UTF-8 UTF-8
前的注释,执行 locale-gen
生成 locale 信息。
安装网络管理相关软件包
root@archiso ~ #pacman -S base-devel dosfstools openssh network-manager-applet networkmanager wireless_tools netctl dhcpcd net-tools
创建 hostname 文件
root@archiso ~ # echo 'myhostname' >> /etc/hostname
添加以下对应信息到 /etc/hostname
:
127.0.0.1 localhost
::1 localhost
127.0.1.1 myhostname.localdomain myhostname
配置 root
密码
执行 passwd
命令配置新密码。
安装引导程序
先安装 grub
和 efibootmgr
:
root@archiso ~ # pacman -S grub efibootmgr
安装 grub
到之前的 EFI 分区:
root@archiso ~ # # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub --recheck
生成 grub.cfg
文件:
root@archiso ~ # grub-mkconfig -o /boot/grub/grub.cfg
退出 Chroot
环境
执行 exit
命令退出。
重启系统
卸载所有分区并重启:
root@archiso ~ # umount -a
root@archiso ~ # reboot
进入新系统
开启 dbcpcd 管理网络:
root@archiso ~ # systemctl start dhcpcd #开启
root@archiso ~ # systemctl enable dbcpcd #开机自启
配置允许 root 远程登录:
root@archlinux # echo "PermitRootLogin yes" >> "/etc/ssh/sshd_config"
root@archiso ~ # systemctl start sshd #开启sshd服务
root@archiso ~ # systemctl enable sshd #开机启动