「ALI」01 开始安装!

Greetings!

Yaho~ ふちゃんです!(> ▽ <) /~

如果你看到了这里,那么说明你已经做好准备了,那么我们就开始吧!

注:本教程使用virtualbox作为虚拟机记录安装过程,实机安装过程与虚拟机安装过程基本完全相同。

1. Get into the Arch Linux live environment

首先我们要进入Arch Linux的安装环境。对于实机安装我们需要在BIOS中选择从我们的启动盘启动,而对于虚拟机安装我们需要选择从我们的Arch Linux镜像启动。

如果使用的是虚拟机,请启用EFI或将BIOS模式设置为UEFI

efi

具体过程请自行搜索,不多赘述。

看到以下界面后选择第一个,按下回车即可进入Arch Linux的安装环境。

Get into live env

等待片刻后,我们就进入了Arch Linux的安装环境。

live env

2. Connect to the Internet

在安装Arch Linux之前,我们需要先连接到互联网,这样我们才能下载所需资源。

首先我们需要检查一下我们的网络是否正常工作。

ping -c 3 www.bing.com

这段代码会向www.bing.com发送三个数据包,如果我们的网络正常工作的话,那么我们应该会收到三个回复。

ping

如果我们的网络不正常我们需要通过有线网络或者WiFi来连接到互联网。

对于前者,我们直接往电脑上插入网线即可。

对于后者,我们可以使用iwctl来连接到WiFi。

2.1 Connect to WiFi

首先我们需要查看自己的无线网卡的名称。

iwctl device list

一般来说,我们的无线网卡的名称应该是wlan0。(后面都以wlan0为例)

然后启动iwctl

iwctl

然后我们需要扫描附近的WiFi。

station wlan0 scan

然后我们就可以查看附近的WiFi了。

station wlan0 get-networks

之后我们根据列表中的WiFi名称来连接到WiFi。

station wlan0 connect <WiFi名称>

最后输入WiFi的密码即可连接到WiFi。

退出iwctl

exit

3. Partition the disks (Important)

在安装Arch Linux之前,我们需要先对我们的硬盘进行分区。

注意:这一步是非常重要的,如果你不知道自己在做什么,那么请不要随意分区,否则你的数据可能会丢失。
分区操作不当可能会误删你的数据,所以请务必谨慎操作。

首先我们要查看电脑的硬盘情况。

lsblk -f

lsblk -l

如上图所示,在虚拟机中有一个名字叫sda,容量为20G的硬盘。这里我们需要记住这个硬盘的路径为/dev/sda

如果你在实机上安装,那么你可能会看到多个硬盘,这时你需要自己判断哪个是你的硬盘。(一般根据容量来判断)

然后我们使用cfdisk来对硬盘进行分区。(注意:这里的/dev/sda是虚拟机中的硬盘,实机中的硬盘可能是类似于/dev/nvme0n1这样的名称,请自行判断。)

cfdisk /dev/sda

Note: 如果出现select label type的提示,那么我们选择gpt即可。(此gptGUID Partition Table的缩写,而不是指ChatGPT。)

select label type

如果看到以下的界面,那么说明我们已经成功进入了cfdisk

cfdisk

一个Linux系统一般需要三个分区:EFI分区、swap分区和root分区。

分区名称 分区类型 分区大小 用途
EFI EFI System 512M - 1G 存放引导程序
swap Linux swap 一般为内存大小的两倍 用于作为虚拟内存,保证程序正常运行
root Linux root 推荐10G以上(一般将剩余空间设置为root) 存放系统文件

注意,有些教程会建议分出home区,但这并不是必须的。homeroot都是存放文件的地方,没有区别。

具体分区步骤请参考这个视频的[00:40-01:14]:【妈妈级2023Arch最新镜像安装教程,UEFI+BIOS双引导Archlinux安装教程】

对于我的例子,我将EFI分区设置为512Mswap分区设置为2G,剩余空间全部分给root分区。

cfdisk

最后再次检查一下我们的分区是否正确。

fdisk -l

fdisk -l

4. Format the partitions

分区后我们可以对分区进行格式化以应用我们的分区设置(比如type)。

如果不格式化的话,我们的设置并没有生效,也就无法进行后续挂载等步骤。

首先查看各个分区的路径。

lsblk -f

lsblk

我的例子:

  • EFI分区:/dev/sda1
  • swap分区:/dev/sda2
  • root分区:/dev/sda3

格式化EFI分区。

mkfs.fat -F 32 /dev/sda1

格式化swap分区。

mkswap /dev/sda2

格式化root分区。

mkfs.ext4 /dev/sda3

5. Mount the partitions

格式化分区后,我们需要将分区挂载到我们的Arch Linux安装环境中。

什么是挂载
挂载mount)是指将一个文件系统(filesystem)连接到文件树的一个特定位置上,使得该文件系统中的内容可以通过这个位置访问到。

挂载root分区。(注意:一定要先挂载root分区!)

mount /dev/sda3 /mnt

挂载EFI分区。(--mkdir参数是指如果挂载目录不存在的话就创建一个,/mnt下最开始是没有boot目录的。)

mount --mkdir /dev/sda1 /mnt/boot

挂载swap分区。

swapon /dev/sda2

6. Install the base packages

之后我们要为我们的Arch Linux安装一些基础的软件包。

pacstrap -K /mnt base linux linux-firmware base-devel

注:
pacstrapArch Linux提供的一个安装软件包的工具,它会自动解决软件包的依赖关系。
-K参数是指使用PacmanKeyring,这样我们就可以在安装过程中使用PacmanKeyring来验证软件包的完整性,从而避免安装被篡改的软件包。

软件包名称 用途
base 基础,包含了一些基础的软件包,比如bashcoreutils
linux 内核,包含了Linux内核。也可以被其他内核替代,比如linux-ltslinux-zen
linux-firmware 内核固件,包含了一些硬件的固件,比如Intel的无线网卡固件等
base-devel 基础开发环境,包含了一些基础的开发环境,比如gccmake

7. Generate the fstab file

fstabLinux系统中的一个配置文件,它用于指定系统中的文件系统如何挂载。

我们可以使用genfstab来生成fstab文件,把当前的挂载信息写入系统中。

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

8. Using arch-chroot to enter the new system

arch-chrootArch Linux提供的一个工具,用于改变当前的根目录。

我们可以使用arch-chroot来进入我们的新系统以进一步配置我们的系统。

arch-chroot /mnt

9. Set the time zone

由于我们在中国大陆,所以我们需要将时区设置为Asia/Shanghai

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

校准时间。

hwclock --systohc

10. Set the locale

我们需要设置本地化信息,包括语言、地区、字符集等。

由于要编辑文件,所以我们需要安装一个文本编辑器。这里我们使用vim

pacman -S vim

vim的用法请自行搜索。
Tips:vim/用于搜索,n用于跳转到下一个搜索结果,N用于跳转到上一个搜索结果。

10.1. Edit /etc/locale.gen

首先我们需要编辑/etc/locale.gen文件,将en_US.UTF-8 UTF-8zh_CN.UTF-8 UTF-8前面的注释符号#去掉。

vim /etc/locale.gen

locale.genlocale.gen

10.2. Generate locale

然后我们生成locale文件。

locale-gen

10.3. Edit /etc/locale.conf

最后我们创建/etc/locale.conf文件,并将LANG=en_US.UTF-8写入其中。

echo LANG=en_US.UTF-8 > /etc/locale.conf # 这是一种简便的写法,等价于先创建文件再写入

注意:如果直接使用zh_CN.UTF-8的话,会导致Arch Linux的终端无法正常显示中文(乱码),所以我们先使用en_US.UTF-8作为默认语言。

11. Add user and set password

Linux中,我们不建议直接使用root用户,而是建议使用普通用户,然后使用sudo来提升权限。
因为root的权限太高,如果平时使用root的话,很可能会发生一些毁灭性的误操作。

11.1. Add user

我们可以使用useradd来添加用户。

useradd -m <用户名>

-m参数是指创建用户的同时创建用户的家目录。
<用户名>是指我们要创建的用户名。

11.2. Set password

切记:Linux中用户一旦忘记密码,是无法通过重置密码来登录的,所以一定要记住密码!!!

我们为用户设置密码。

passwd <用户名>

<用户名>是指我们刚刚创建的用户名。

之后按照提示输入两次密码即可。(输入的密码不会显示在屏幕上哦)

最后为root也设置一个密码。

passwd # 不加用户名的话默认为root

之后按照提示输入两次密码即可。(输入的密码不会显示在屏幕上哦)

11.3. Edit /etc/sudoers

我们需要编辑/etc/sudoers文件,给予我们的用户sudo权限。

具体操作是在文件中找到root ALL=(ALL) ALL这一行,然后在其下面添加一行<用户名> ALL=(ALL) ALL。如下图所示。

sudoers

12. Add a hostname

我们需要为我们的电脑设置一个主机名,这个名字需要放在/etc/hostname文件中。

echo <主机名> > /etc/hostname

13. Install grub, efibootmgr and os-prober

如果你是双(多)系统用户,那么你需要安装grub等工具来选择开机启动哪个系统。

grub是一个开源的多操作系统启动引导程序,它可以帮助我们在开机时选择启动哪个系统,同时还可以高度定制。

efibootmgr是一个用于管理UEFI启动项的工具,它可以帮助我们在UEFI中添加启动项。

os-prober是一个用于检测其他操作系统的工具,它可以帮助我们在grub中添加其他操作系统的启动项。

pacman -S grub efibootmgr os-prober

14. Configuring grub

14.1. Uncomment GRUB_DISABLE_OS_PROBER=false

在安装好grub等工具后,我们需要对grub的配置文件进行简单的修改:

取消注释/etc/default/grub中的最后一行,GRUB_DISABLE_OS_PROBER=false

grub config

14.2. Generate grub config file

之后我们先初始化grub

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

然后生成grub的配置文件。

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

15. Install NetworkManager & enable it

一般来说我们会使用NetworkManager来管理我们的网络。

pacman -S networkmanager

在安装完成后我们将其设置为开机启动。

注意大小写!!!

systemctl enable NetworkManager

16. Exit the new system & reboot

至此,基本的系统配置已经完成了,我们可以退出新系统并重启电脑了。

exit # 退出chroot
reboot # 重启电脑

17. Check your new system

重启后我们就可以看到grub的启动界面了。

grub

选择Arch Linux并输入我们刚刚设置的用户名和密码后,我们就可以登录到我们的新系统了。

desktop

让我们下载一个neofetch来查看一下我们的系统信息吧。

sudo pacman -S neofetch

neofetch

Summary

如果一切顺利的话,那么恭喜你,你已经成功安装了Arch Linux

那么下一节,我们就来安装图形界面吧!

Have fun! 😉

References


「ALI」01 开始安装!
https://siriusahu.github.io.git/2024/01/14/ALI-01-Installation/
Author
Sirius Ahu
Posted on
January 14, 2024
Licensed under