ArchLinux 及图形界面的安装

回到家里,决定把之前使用的系统(win10 和 Fedora)删掉,把硬盘的分区表改成 GPT 并安装 ArchLinux 和图形界面。打算把安装过程好好记录一下,同时也是概括一下,让之后再安装 ArchLinux 的时候不会只死跟着安装指南,不但要知其然,还要知其所以然嘛。同时也联系一下我之前学过的一点关于开机引导的知识,网络配置的知识等,从而让我能够有一个感性(但是系统)的认识。总之什么相关的都涉及一下。(摸了)

顺便也要去了解一下图形界面的安装……还有常用的一些工具,如中文字体,fctix 框架,wine(如果有必要的话)等的安装。

这里使用 VirtualBox 虚拟机来安装以方便截图和记录之类的……

概括安装步骤

这里准备使用 KDE 桌面,使用 NetworkManager 提供网络服务。

ArchLinux 的安装步骤主要有以下内容——

  1. 验证启动模式(是 BIOS 还是 UEFI)
  2. 配置和检查网络连接
  3. 使用 fdisk 建立磁盘分区,对于 MBR 分区表的磁盘,必须建立根分区和交换分区,对于 GPT 分区表磁盘,如果使用 UEFI,则还需建立 EFI 系统分区(如果使用 BIOS,则会按照兼容 MBR 的方式进行加载,不需要 EFI 系统分区,但是需要一个至少 1M 的 BIOS boot 分区,这里可以直接放到 34-2047 扇区里)
  4. 格式化各分区,交换分区使用mkswap命令,根分区使用mkfs.ext4命令,EFI 系统分区使用mkfs.fat -F32命令。
  5. 挂载分区
  6. 编辑镜像源(可选),在 mnt 下安装必须的软件包 base,linux,linux-firmware,networkmanager,sudo,vim 等
  7. 生成 fstab 文件(该文件应该标识了各分区的 mount 情况以便开机时自动 mount)
  8. chroot 到新安装的系统,配置时区,设置 hostname,root 的密码等,启动 networkmanager 服务……
  9. 安装引导程序(!),启动微码更新,重启

然后是配置网络以及图形界面——

  1. 创建新的用户供日常使用,添加到 sudo
  2. 配置网络
  3. 安装 KDE 图形界面,配置 startx(不使用登陆管理器之类的,每次手动 startx 来登录图形界面)
  4. 安装显卡驱动

安装 ArchLinux

虚拟机设定使用 EFI 模式。下面的操作不完全按照上面的顺序。

验证启动模式

首先要验证启动模式是 BIOS 还是 UEFI。检查/sys/firmware目录,如果该目录下存在 efi 文件夹,则为 UEFI,否则为 BIOS。

配置网络连接

首先使用ping baidu.com检查是否能 ping 通(在虚拟机下这玩意是开箱即用的),如果不能 ping 通,则需手动配置网络。有线……谁知道呢,直接使用dhcpcd命令试试?(这之前或许要把网卡打开之类的),对于无线,应当通过iwctl来连接。

建立磁盘分区

使用fdisk命令来建立磁盘分区。

1
$ fdisk /dev/sda

首先输入 g,创建 GPT 分区表,然后使用 n 分别创建三个分区——UEFI System 分区(1G 大小),交换分区和根分区。并使用 t 更改这三个分区的 type。分区结果如图——

记得使用 w 保存。

在输入 last sector 的时候,使用+xG 这样的形式能够非常容易地规划分区的大小。

格式化各分区并挂载

UEFI System 分区是 FAT32 格式,交换分区是交换分区格式,根分区这里使用 xfs 格式。使用如下命令对这些分区进行格式化。

1
2
3
4
mkfs.fat -F32 /dev/sda1 # EFI 系统分区
mkswap /dev/sda2 # 交换分区
swapon /dev/sda2
mkfs.xfs /dev/sda3 # 根分区

然后使用如下命令进行挂载。要注意的是,应先挂载根分区,再挂载 efi 分区。

1
2
3
mount /dev/sda3 /mnt      # 挂载根分区
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot # 挂载 efi 分区

配置源,安装系统

应编辑/etc/pacman.conf,取消注释 multilib 源,并添加 archlinuxcn 源。

使用 pacstrap 安装必须的软件包。这里连带着把 KDE 图形界面的东西也安装了。

1
2
pacstrap /mnt base linux linux-firmware networkmanager vim sudo xorg xorg-xinit plasma kde-applications xdg-user-dirs grub efibootmgr fcitx
# 这里还应当安装中文输入法,中文字体等

linux-firmware 是固件相关的软件包,里面有很多必须的驱动。

然后生成 fstab 并 chroot 到新系统中。

1
2
3
genfstab -U /mnt >> /mnt/etc/fstab
# 这个工具……
arch-chroot /mnt

对系统进行配置

配置主要有设置时区,修改 hostname,设置 root 账号的 password,创建新用户等。

设置时区——

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

编辑/etc/hostname 和/etc/hosts 文件——

1
2
3
4
5
6
7
# /etc/hostname
myhostname

# /etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 myhostname.localdomain myhostname

**编辑/etc/locale.gen 文件,取消注释 en_US.UTF-8 和 zh_CN. *行。然后调用 locale-gen 程序**。

使用 passwd 命令修改 root 的密码

设置 startx

我决定不使用显示管理器,而是在 tty 中直接使用 startx 登录图形界面。

设置 startx 应当编辑/etc/X11/xinit/xinitrc(当然,如果~/.xinitrc 存在,会优先执行它)。这里对它进行备份,然后使它中只有一行内容exec startplasma-x11

1
2
mv /etc/X11/xinit/xinitrc /etc/X11/xinit/xinitrc.bak
echo 'exec startplasma-x11' > /etc/X11/xinit/xinitrc

创建新用户

1
2
useradd -m 'aoymykn' # -m 意思是创建用户主目录
passwd aoymykn # 修改密码

使用visudo命令编辑 sudoers,将该用户添加到 sudo 中。这里需要取消注释Default targetpwALL ALL=(ALL) ALL两行。

安装系统引导

使用该命令安装系统引导——

1
2
3
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB

grub-mkconfig -o /boot/grub/grub.cfg # 自动生成配置文件

重启!

BIOS/UEFI,MBR/GPT 以及 GRUB 的关系

TODO: 摸了

安装显卡驱动

TODO: 摸了

写这篇文章前前后后安装了 3 次,都快能默写了 www