Arch Liunx (UEFI)


Arch Linux安装教程 (以UEFI为例) 最后更新于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环境

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

$ ls /sys/firmware/efi/efivars
#验证引导模式(如果不报错,即为UEFI引导模式;反之,请使用隔壁以Legacy BIOS为例的教程)

$ 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

更新系统时间

二、分区 & 挂载:

以下分区和挂载相关步骤是以NVME协议硬盘为例,如果是SATA协议硬盘,请记住:nvme0n1等于sda;nvme0n1p1等于sda1;nvme0n1p2等于sda2;nvme0n1p3等于sda3。

$ lsblk
#查看硬盘名称(一般为sda或nvme0n1;这里以nvme0n1为例)

$ gdisk /dev/nvme0n1
#使用gdisk对nvme0n1进行相关操作
#步骤如下:
Command (? for help): x #输入x进入高级选项
Expert command (? for help): z #输入z删除所有分区
About to wipe out GPT on /dev/nvme0n1. Proceed? (Y/N): Y #输入Y确定删除
Blank out MBR? (Y/N): Y #输入Y清空MBR

$ gdisk /dev/nvme0n1
#再次使用gdisk对nvme0n1进行相关操作
#步骤如下:
Command (? for help): n #输入n创建新分区
Partition number (1-128, default 1): #这里按Enter键
First sector (34-X, default = 2048) or {+-}size{KMGTP}: #这里按Enter键
Last sector (2048-X, default = X) or {+-}size{KMGTP}: +512M #输入+512M
Hex code or GUID (L to show codees, Enter = 8300): ef00 #输入ef00,创建efi分区
Command (? for help): n #输入n创建新分区
Partition number (2-128, default 2): #这里按Enter键
First sector (34-X, default = 1050624) or {+-}size{KMGTP}: #这里按Enter键
Last sector (1050624-X, default = X) or {+-}size{KMGTP}: +10G #输入+10G
Hex code or GUID (L to show codees, Enter = 8300): 8200 #输入8200,创建swap分区
Command (? for help): n #输入n创建新分区,然后一直按Enter键,把剩下的空间全部分配给/分区
Command (? for help): w #输入w写入
Do you want to proceed? (Y/N): Y #输入Y确定写入

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

$ mkfs.vfat -F 32 -n BOOT /dev/nvme0n1p1
#将nvme0n1p1格式化为vfat(设置为FAT32格式),创建标签为BOOT(注意大小写)

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

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

$ mount -t btrfs -o compress=zstd /dev/nvme0n1p3 /mnt
#将nvme0n1p3挂载到/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/nvme0n1p3 /mnt #挂载/目录的btrfs子卷到/mnt目录
mkdir /mnt/root #创建/mnt/root目录
mount -t btrfs -o subvol=/@root,compress=zstd /dev/nvme0n1p3 /mnt/root #挂载/root目录的btrfs子卷到/mnt/root目录
mkdir /mnt/home #创建/mnt/home目录
mount -t btrfs -o subvol=/@home,compress=zstd /dev/nvme0n1p3 /mnt/home #挂载/home目录的btrfs子卷到/mnt/home目录

$ mkdir /mnt/boot
#创建/mnt/boot目录

$ mount /dev/nvme0n1p1 /mnt/boot
#将nvme0n1p1挂载到/mnt/boot目录

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

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

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

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

建立硬盘分区GPT fdisk

格式化分区

挂载分区

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

$ 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 efibootmgr amd-ucode intel-ucode
#安装grub & efibootmgr & amd-ucode或intel-ucode(AMD的CPU安装amd-ucode,intel的CPU安装intel-ucode)

$ grub-install --target=x86_64-efi --efi-directory=/boot
#将grub写入/boot目录

$ 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密码(在回车后输入密码且密码不显示,输入完成后回车,再输入一遍且密码同样不显示,输入完成后再回车,即可完成密码设置)

如果你打算将系统安装进U盘即插即用,推荐amd-ucode和intel-ucode都安装并且安装grub时,请在grub-install后加入–removable参数。

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

安装必需的软件包

Fstab

Chroot

安装引导程序

Root密码

四、退出目标系统:

$ exit
#退出目标系统

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

$ reboot
#重启并登陆root

五、系统配置:

$ 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 lib32-mesa xf86-video-amdgpu vulkan-radeon lib32-vulkan-radeon xf86-video-ati opencl-mesa lib32-opencl-mesa opencl-headers
#安装AMD核显相关驱动

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

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

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

$ reboot
#重启并登陆root

如果你打算将系统安装进U盘即插即用,推荐AMD核显和intel核显都安装。

So,Nvidia:FuckYou!

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

网络配置

时区

本地化

六、安装桌面环境:

$ 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。

$ reboot
#重启

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

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

$ reboot
#重启

二、Fcitx 5 输入法的安装:

$ 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 /*,你会回来的。)


文章作者: 微软小冰
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 微软小冰 !
评论
  目录