Arch安装教程:
📡安装篇 - 🖥️桌面篇 - ✈️代理篇 - ⚙️显卡驱动篇

安装篇

全套教程包含从 arch linux安装,科学上网,翻墙,显卡驱动等。 Arch Linux 是真的香!

你可以通过本教程学会:

  • Linux 下的翻墙与科学上网设置
  • ArchLinux 的安装与 KDE 桌面环境的安装
  • Linux 的相关知识
  • 中国用户常用的软件安装与配置

安装前的准备

由于当前 UEFI 已普及,安装将以 UEFI+GPT 的形式进行,传统 BIOS 自行百度。

确保网络环境

如果你可以使用网线,以 dhcp 的方式直接上网。如果你的环境只能使用无线网络安装,需要事先把自己所用的 wifi 名称改成的英文名称。因为安装时无法显示和输入中文名的 wifi,你会看到一堆不知道是什么的方块,并且在安装过程中你将没有办法输入中文的无线名称进行连接。

其次,有些笔记本电脑上存在无线网卡的硬件开关或者键盘控制,开机后安装前需要确保你的无线网卡硬件开关处于打开状态

刻录启动优盘

准备

准备一个 2G 以上的优盘,刻录一个安装启动盘。

安装镜像 iso 在下载页面下载,建议通过磁力链接或 torrent 下载。

刻录

Windows 下推荐使用ventoy或者Rufus进行优盘刻录。两者者皆为免费使用的软件。具体操作请自行查阅,都非常简单。

Linux 下可以直接用 dd 命令进行刻录。注意 of 的参数为 sdx,不是 sdx1 sdx2 等。

1
sudo dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx status=progress oflag=sync

bs=4M 指定一个较为合理的文件输入输出块大小。
status=progress 用来输出刻录过程总的信息。
oflag=sync 用来控制写入数据时的行为特征。确保命令结束时数据及元数据真正写入磁盘,而不是刚写入缓存就返回。

进入主板 BIOS 进行设置

插入优盘并开机。在开机的时候,按下 F2/F8/F10/DEL 等(取决与你的主板型号,具体请查阅你主板的相关信息)按键,进入主板的 BIOS 设置界面。

关闭主板设置中的 Secure Boot

在类似名为 security 的选项卡中,找到一项名为 Secure Boot(名称可能略有差异)的选项,选择 Disable 将其禁用。

调整启动方式为 UEFI

在某些旧的主板里,需要调整启动模式为 UEFI,而非传统的 BIOS/CSM。在类似名为 boot 的选项卡中,找到类似名为 Boot Mode 的选项,确保将其调整为 UEFI only,而非 legacy/CSM。

调整硬盘启动顺序

在类似为 boot 的选项卡中,找到类似为 Boot Options(名称可能略有差异)的设置选项,将 USB U盘的启动顺序调至首位。

准备安装

最后保存 BIOS 设置并退出,一般的按键是 F10。此时系统重启,不出意外你应该已经进入 archlinux 的安装界面。


Arch Linux 基础安装

本节从安装最基础的无图形化 ArchLinux 系统开始。官方安装指南

禁用 reflector

2020 年新版 archliveiso 加入了 reflector 服务,它会自己更新 mirrorlist。它会删除有用的源信息。这里启动后的第一件事就是将其禁用。虽然这是一个好用的工具,但是在安装程序中会有bug。

1
systemctl stop reflector.service

确保是否为 UEFI 模式

在一系列的信息刷屏后,可以看到已经以 root 登陆安装系统了,此时可以执行的命令:

1
ls /sys/firmware/efi/efivars

若输出了一大堆堆东西,则说明已在 UEFI 模式。否则请确认你的启动方式是否为 UEFI。

连接网络

正常来说,只要插上一个已经联网的路由器分出的网线(DHCP),直接就能联网。

可以等待几秒等网络建立链接后再进行下步测试网络的操作。

无线连接使用 iwctl 进行:

1
2
3
4
5
6
iwctl                           #进入交互式界面
device list #列出设备名,比如无线网卡看到叫 wlan0
station wlan0 scan #扫描网络
station wlan0 get-networks #列出网络 比如想连接1234这个无线
station wlan0 connect 1234 #进行连接 输入密码即可
exit #成功后exit退出

测试网络

1
ping baidu.com

如果能看到数据返回,即说明已经联网,ctrl+c 终止退出当前命令。如果还是无法连接,使用 ip link set xxx up 命令确认你已经激活了对应的网卡,再重新继续网络链接与测试。若看到类似Operation not possible due to RF-kill的报错,继续尝试rfkill unblock wifi来解锁无线网卡。

更新系统时钟

1
2
timedatectl set-ntp true    #将系统时间与网络时间进行同步
timedatectl status #检查服务状态

更换镜像源

国内源可以大大提升下载速度

1
vim /etc/pacman.d/mirrorlist

放在最上面的是会使用的更新源,把中科大 ustc 的或者清华的放在最上面。

配置磁盘

分区准备

这里总共设置三个分区,可以满足绝大多数人的需求。此步骤会清除磁盘中全部内容,请事先确认。

  • EFI 分区: /efi 1024M
  • 根目录: / 80G
  • 用户主目录: /home 剩余全部 越大越好

根目录的大小仅为参考,一般来说个人日常使用的 linux 分配 80G 已经够用了。根目录最小建议不小于 30G,根目录过小会造成无法更新系统软件包等问题。

修改磁盘类型

首先将磁盘转换为 gpt 类型

1
2
3
4
5
lsblk                       #显示分区情况
parted /dev/sdx #执行parted,进行磁盘类型变更
(parted)mktable #输入mktable
New disk label type? gpt #输入gpt 将磁盘类型转换为gpt 如磁盘有数据会警告,输入yes即可
quit #最后quit退出parted命令行交互

分区

推荐使用 cfdisk 命令对磁盘分区

sda请修改为你的磁盘

1
2
cfdisk /dev/sda #来执行分区操作,分配各个分区大小,类型
fdisk -l #复查磁盘情况

一般建议将 EFI 分区设置为磁盘的第一个分区,据说有些主板如果不将 EFI 设置为第一个分区,可能有不兼容的问题。

格式化

这里的 sda1 sad2 只是例子,具体根据你的实际情况来,请注意视频中的操作。

1
2
3
#磁盘若有数据会问 'proceed any way?' y回车 即可
mkfs.ext4 /dev/sda2 #格式化根目录和home目录的两个分区
mkfs.vfat /dev/sda1 #格式化efi分区

挂载

在挂载时,挂载是有顺序的,需要从根目录开始挂载
这里的 sda 只是例子,具体根据你的实际情况来,请注意视频中的操作。

1
2
3
4
5
mount /dev/sda2  /mnt
mkdir /mnt/home
mount /dev/sda3 /mnt/home
mkdir /mnt/efi
mount /dev/sda1 /mnt/efi

安装系统

基础包

构成系统的基本

1
pacstrap /mnt base base-devel linux linux-firmware  #base-devel在AUR包的安装是必须的

功能性软件

系统必备要用

1
pacstrap /mnt dhcpcd iwd vim sudo bash-completion   #dhcpcd有线所需 iwd无线所需 vim编辑器  sudo提权工具 bash-completion补全工具 iwd也需要dhcpcd

生成 fstab 文件

fstab 用来定义磁盘分区

1
genfstab -U /mnt >> /mnt/etc/fstab

复查一下 /mnt/etc/fstab 确保没有错误

1
cat /mnt/etc/fstab

change root

把环境切换到新系统的/mnt 下

1
arch-chroot /mnt

设置主机名与时区

首先在/etc/hostname设置主机名

1
vim /etc/hostname

加入你想为主机取的主机名,这里比如叫 arch-linux。

接下来在/etc/hosts设置与其匹配的条目。

1
vim /etc/hosts

加入如下内容

1
2
3
127.0.0.1   localhost
::1 localhost
127.0.1.1 myarch.localdomain arch-linux

随后设置时区,在/etc/localtime 下用/usr 中合适的时区创建符号连接。

1
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

硬件时间设置

将系统时间同步到硬件时间

1
hwclock --systohc

设置 Locale

Locale 决定了软件使用的语言、书写习惯和字符集。

编辑 locale.gen

1
vim /etc/locale.gen,

去掉 en_US.UTF-8 行以及 zh_CN.UTF-8 的注释符号”#”。

然后使用如下命令生成 locale。

1
locale-gen

向 /etc/locale.conf 输入内容

1
echo 'LANG=en_US.UTF-8'  > /etc/locale.conf

为 root 用户设置密码

1
passwd

然后输入2遍密码

输入密码时不会显示,放心输入就行

安装微码

1
2
pacman -S intel-ucode   #Intel CPU
pacman -S amd-ucode #AMD CPU

微码的作用是修正CPU的错误

安装引导程序

1
2
pacman -S grub efibootmgr   #grub是启动引导器,efibootmgr被 grub 脚本用来将启动项写入 NVRAM。
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB #取名为GRUB 并将grubx64.efi安装到之前的指定位置

生成 GRUB 所需的配置文件

1
grub-mkconfig -o /boot/grub/grub.cfg

在某些主板安装完成后,你会发现没有启动条目。这是因为某些主板的 UEFI 固件在显示 UEFI NVRAM 引导条目之前,需要在特定的位置存放可引导文件,不支持自定义存放 efi 文件(如微星 Z170-A Gaming PRO)。解决方案是在默认启动路径下安装 GRUB。重新插入安装优盘,挂载目录,chroot 到/mnt,然后你可以直接把已经生成好的 efi 文件移动到默认目录下,如下代码所示。只有安装完成后你的主板不出现启动条目才需要尝试如下命令,正常安装无需执行。官方参考文档

移动引导文件到指定目录

1
2
mkdir -p /efi/EFI/BOOT
mv /efi/EFI/GRUB/grubx64.efi /efi/EFI/BOOT/BOOTX64.EFI

19.完成安装

1
2
3
exit                # 退回安装环境#
umount -R /mnt # 卸载新分区
reboot # 重启

注意,重启前要先拔掉优盘,否则你重启后还是进安装程序而不是安装好的系统。重启后,开启 dhcp 服务,即可连接网络

1
2
systemctl start dhcpcd  #立即启动dhcp
ping baidu.com #测试网络连接

若为无线链接,则还需要启动 iwd 才可以使用 iwctl 连接网络

1
2
systemctl start iwd #立即启动iwd
iwctl #和之前的方式一样,连接无线网络

关于

archlinux 在 2021 年 4 月在安装镜像中内置了一个安装脚本,就是类似一个一键安装脚本,提供一些选项,即可快速安装。其和所有一键安装脚本类似,提供自动化,且不灵活的安装过程。

  • 缺陷为:只提供有限的文件系统格式、只可限定在一个磁盘、不能指定源、只提供有限的桌面选择、自动分区不可手动干预、输入错误直接崩溃退出、仅支持 UEFI 等。不建议使用这种安装脚本,除了以上各种原因,初学者也无法在这种安装过程中学到任何东西。如果你因为任何原因需要快速启动一个基础的 archlinux 环境,那么可以尝试此脚本。

总结

到此为止,一个基础的,无 UI 界面的 Arch Linux 已经安装完成了。紧接着下一偏,安装图形界面