Arch 安装指南

#准备 ISO 镜像

方法一(推荐):

官网下载页面提供的镜像站下载。然后验证镜像

方法二(我的自定制镜像):

GitHub release 页面下载。

#准备安装介质

我选择 U 盘。直接将 ISO 文件拷贝进 U 盘即可(也可用烧录软件烧录)。

但是,当我通过 dd 、GNOME Disk Utility、直接拷贝,制作启动盘时,怎么也无法进入安装界面。结果是这些方法制作的启动盘有问题,最终我通过树莓派开发的软件——rpi-imager 解决了问题。

#进入 BIOS 界面并设置

每个品牌的笔记本进入 BIOS 界面的方式各不相同,我的笔记本是 HP。此外,F9 是更改启动顺序。

按下开机键 -> 持续按 F10 直到出现 BIOS 设置页面

之后进行三项操作:

  1. 启动虚拟化(要在主机创建虚拟机,不需要则不必开启)
  2. 关闭安全启动
  3. 修改 UEFI 模式下的启动顺序:让 USB 启动在前

#设置命令行键盘布局

默认是 US,不必修改。

#验证 UEFI

# ls /sys/firmware/efi/efivars

有输出,说明启动模式为 UEFI。

#验证网络

# ping baidu.com -c 3

验证网络,0% packet loss 说明网络正常。

#更新系统时间

# timedatectl set-ntp true

更新系统时间, timedatectl status 检查无误。

#硬盘分区

# fdisk -l
# fdisk /dev/sda
  1. fdisk -l 查看硬盘信息
  2. fdisk /dev/sda 固态硬盘分区

进入 fdisk 操作界面后,

  • m 查看命令帮助
  • p 显示目标硬盘分区
  • g 新建 GPT 分区表
  • 创建 sdb1 分区,n 创建分区、分区序号、类型起始扇区默认,结束扇区 +256M。修改分区类型为 EFI System,p 确认为 EFI System
  • 创建 sdb2 分区,全部默认。我的安装移除了原系统的 signature

分区结果:

Device      Start       End   Sectors  Size Type
/dev/sda1    2048    526335    524288  256M EFI System
/dev/sda2  526336 250069646 249543311  119G Linux filesystem

关于是否分配 SWAP 分区的讨论:https://bbs.archlinuxcn.org/viewtopic.php?id=10472

#硬盘格式化、新建文件系统

# mkfs.fat -F32 /dev/sdb1
# mkfs.ext4 /dev/sdb2
# mkfs.ext4 /dev/sda

#挂载分区

# mount /dev/sdb2 /mnt
# mkdir -p /mnt/boot/efi
# mount /dev/sdb1 /mnt/boot/efi

#选择镜像源

# pacman -Syyy reflector # reflector 能够方便地选择镜像源
# reflector -c China -a 6 --sort rate --save /etc/pacman.d/mirrorlist # 这里的 mirrorlist 是 U 盘中的
# pacman -Syyy # y 刷新本地缓存 yyy 强制刷新

#安装基本系统和其他应用

# pacstrap -i /mnt base base-devel linux linux-firmware dhcpcd vim

#生成挂载表

# genfstab -U -p /mnt >> /mnt/etc/fstab

检查:

# cat /mnt/etc/fstab

#进入硬盘,而不在 U 盘

# arch-chroot /mnt /bin/bash

#时区和语言

设置时区:

# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# hwclock --systohc --utc

配置系统语言环境:

# vim /etc/locale.gen

取消注释:

en_US.UTF-8 UTF-8
...
zh_CN.UTF-8 UTF-8

生成配置:

# locale-gen

设置本地语言环境:

# vim /etc/locale.conf

输入:

# LANG=en_US.UTF-8

#安装引导程序

# pacman -S grub efibootmgr
# grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi
# grub-mkconfig -o /boot/grub/grub.cfg

运行 grub-mkconfig 操作时,会出现警告: Warning: os-prober will not be executed to detect other bootable partitions. 。查 ArchWiki 后,可以在 /etc/default/grub 中设置 GRUB_DISABLE_OS_PROBER=false

#设置主机名

# echo arch > /etc/hostname

在 /etc/hosts 中添加以下内容( arch 是我的主机名):

127.0.0.1 localhost
::1 localhost
127.0.0.1 arch.localdomain arch

#配置网络

# pacman -S networkmanager
# systemctl enable NetworkManager

#设置 root 密码

# passwd

#新建普通用户

# useradd -m -g users -G wheel -s /bin/bash archie

设置普通用户密码:

# passwd archie

设置普通用户权限:

# EDITOR=vim visudo

取消注释:

## Uncomment to allow members of group wheel to execute any command

%wheel ALL=(ALL) ALL

## Same thing without a password

%wheel ALL=(ALL) NOPASSWD: ALL

#返回 U 盘

# exit

#重启系统

# umount -R /mnt
# reboot

开机后改动 BIOS,配置「系统启动」后,拔掉 U 盘。普通用户 archie 登录。

#启动微码更新

# pacman -S intel-ucode
# grub-mkconfig -o /boot/grub/grub.cfg

#完善显卡驱动

这一步要在知道自己显卡配置的前提下执行。

有两种 VA-API or VDPAU

# pacman -S libva-utils vdpauinfo
# vainfo
# vdpauinfo

所以我的是 VA-API,我应该安装 libva-mesa-driver

我的两种 GPU:

00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07) 01:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Topaz XT [Radeon R7 M260/M265 / M340/M360 / M440/M445 / 530/535 / 620/625 Mobile] (rev c3)

# pacman -S intel-media-driver vulkan-intel xf86-video-amdgpu xf86-video-ati mesa-vdpau vulkan-radeon

不推荐安装 xf86-video-intel ,详见 Intel graphics - ArchWiki

Refers:

  1. https://wiki.archlinux.org/title/Hardware_video_acceleration
  2. https://wiki.archlinux.org/title/Vulkan
  3. https://wiki.archlinux.org/title/Xorg#Driver_installation
  4. https://wiki.archlinux.org/title/Hardware_video_acceleration#:~:text=VDPAU%20on%20Radeon%20R300%20and%20newer%20GPUs
  5. HDMI audio
  6. CPU 的详细信息
  7. Radeon R7 M260(Topaz)

#安装图形界面——KDE

# pacman -S xorg xorg-server xorg-xinit plasma-meta plasma-wayland-session sddm dolphin konsole
# systemctl enable sddm

#检查硬盘状况

# pacman -S hdparm smartmontools
# hdparm -I /dev/sdb
# smartctl -t short /dev/sdb

#测试固态硬盘速度

# dd if=/dev/zero of=/tmp/test.img bs=1G count=1 oflag=dsync

#参考资料

  1. Hello, Arch Linux!
  2. ArchWiki
欢迎通过「邮件」或者点击「这里」告诉我你的想法