安装 ArchLinux 系统

简介

ArchLinux是一个自由度极高的Linux发行版,你可以根据自己的需求安装需要的包,而不需要的包可以不安装,能够做到系统最小化,最纯净,这篇教程将讲解如何安装archlinux

这次我用Hyper-V虚拟机来运行并演示archlinux的安装,并且这次将安装在UEFI的机器中,传统BIOS的安装操作是不一样的。

获取镜像

首先需要从archlinux官网下载镜像,访问链接:https://archlinux.org/download/ ,向下翻,找到China,列表中的地址是镜像地址,可以让你下载更快,根据自己的情况选择一个镜像地址
下载文件列表
可以看到类似这样的文件列表,其中带有bootstrap的是为特定设备定制的镜像,我们不能使用,需要使用iso格式的文件,其中有日期的和没有日期的是一样的,可以自由选择,.sig格式的文件是镜像的签名文件,可以用来检验镜像是否完整,并且可以判断镜像是否经过修改。

校验镜像

一般为了安全,最好在下载完成后校验镜像签名,防止潜在的问题,可以执行下面这个指令,如果你不想校验也可以跳过这一步骤。

Bash
1
gpg --verify archlinux-2023.01.01-x86_64.iso.sig

签名校验正常
输出类似这样的信息就说明校验通过了
签名校验异常
如果输出内容中包含了类似issuer这一行的信息就说明镜像存在问题,建议重新下载

安装

首先从镜像启动,注意archlinux镜像不支持安全启动,需要提前将UEFI中的Security Boot选项关闭。
启动完成
当看到这样的信息时说明启动完成了。

准备工作

键盘布局

首先需要修改键盘布局,archlinux默认的键盘布局是us,如果你的键盘布局不是us,那么可以通过loadkeys指令进行修改

Bash
1
loadkeys de-latin1

判断引导模式

接下来要验证引导模式

Bash
1
ls /sys/firmware/efi/efivars

验证引导模式
如果输出类似这样的内容就是UEFI引导模式,如果提示找不到文件则是BIOS引导模式。

连接互联网

接下来的安装操作需要通过互联网,所以现在需要连接到互联网。

如果是有线以太网,在连接网线后,将会自动连接到网络,如果是无线WiFi,需要使用iwctl进行连接

完成后,使用ping命令检测是否可以连接互联网

Bash
1
ping baidu.com

进行磁盘分区

对于UEFI引导的系统来说,需要一个EFI分区,然后Linux最基本要求一个/分区,为了更好的性能,还需要一个swap分区,如果还想进行更多的分区,可以自行进行调整,下面是推荐的分区表:

分区序号分区类型分区挂载点分区大小备注
1EFI/boot1G分区大小可以适当调整,至少大于128M
2Swap-4G建议设置为物理内存的2-4倍
3Linux/~可以将剩余空间都分给/

创建分区

首先查看硬盘列表:

Bash
1
fdisk -l

硬盘列表
可以看到/dev/sda是我们需要安装的硬盘,大小为128GiB,实际情况可能会有所不同,如果你添加了nvme 2的硬盘,将会看到类似/dev/nvme0的名称;接下来开始分区:

进入分区编辑工具:

Bash
1
fdisk /dev/sda

将会进入一个新的命令,可以看到开头显示Command,这个时候可以输入分区的指令,首先需要将分区表格式改为GPT,输入g按下回车,出现Created a new disklabel,然后输入n按下回车,Partition number输入1回车,起始扇区默认,结束扇区输入+1G并按回车,这样就创建好了一个1G的EFI分区,输入t修改分区类型,输入1修改为EFI,再次按n,分区序号输入2,起始扇区默认,结束扇区输入+4G并回车,输入t修改分区类型,输入19修改为Swap,再次按n,分区序号3,起始扇区默认,结束扇区默认,这样就分区完成了,输入p检查一下分区表:
完成后分区表
下方出现刚才创建的分区后,就说明创建成功了,最后输入w写入更改到硬盘,分区操作完成。

格式化分区

我们需要将分区格式化成对应的格式才能够正常使用。

首先将EFI分区格式化成FAT32

Bash
1
mkfs.fat -F 32 /dev/sda1

Swap分区初始化成交换分区:

Bash
1
mkswap /dev/sda2

将最后一块分区格式化成ext4

Bash
1
mkfs.ext4 /dev/sda3

挂载分区

sda3挂载到/mnt,作为根分区

Bash
1
mount /dev/sda3 /mnt

sda1挂载到/mnt/boot,作为引导分区

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

启用交换分区

Bash
1
swapon /dev/sda2

开始安装

修改安装源

Bash
1
vim /etc/pacman.d/mirrorlist

插入一个比较快的安装源,推荐使用腾讯阿里的镜像源,然后删除多余的安装源

Text
1
2
Server = https://mirrors.tencent.com/archlinux/$repo/os/$arch
Server = https://mirrors.aliyun.com/archlinux/$repo/os/$arch

然后同步镜像内容到本地

Bash
1
pacman -Syy

安装基本包

执行这个指令进行安装,可能过程会比较慢

Bash
1
pacstrap -K /mnt base linux linux-firmware

配置系统

生成fstab

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

进入新系统

Bash
1
arch-chroot /mnt

这个时候你安装的系统已经成功了一大半了,先别激动,把后续操作做完才能用

安装vim

因为新系统中还没有安装vim,如果要修改配置将会很费劲,所以现在需要安装一下

Bash
1
pacman -S vim

设置时区

如果不设置时区,系统的时间可能会有误,会出现所谓的纽约时差

Bash
1
ln -sf /usr/share/zoneinfo/地区/城市 /etc/localtime

以上海为例,执行这个指令

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

设置完成后,需要同步时间

Bash
1
hwclock --systohc

设置语言

编辑语言生成配置文件:

Bash
1
vim /etc/locale.gen

找到en_US.UTF-8 UTF-8,并取消注释,保存并退出,执行生成语言命令:

Bash
1
locale-gen

设置使用的语言,不建议使用中文,因为中文在tty下回出现乱码,中文会变成方块

Bash
1
vim /etc/locale.conf

写上LANG=en_US.UTF-8

修改键盘布局

这和开头提到的键盘布局是一样的,编辑键盘布局配置文件

Bash
1
vim /etc/vconsole.conf

其中写上KEYMAP=us,保存并退出,如果是其他的键盘布局需要根据实际情况写

设置主机名

主机名用于在局域网中显示,同时也会在终端显示,例如刚启动时看到的root@archiso中的archiso就是主机名

Bash
1
vim /etc/hostname

安装网络管理程序

现在你需要安装一个网络管理程序,防止进入系统后没有网络

Bash
1
pacman -S networkmanager

将网络管理程序设为开机启动

Bash
1
systemctl enable NetworkManager

生成initramfs

Bash
1
mkinitcpio -P

设置密码

如果你不设置密码,你将会无法登录进入系统

Bash
1
passwd

安装引导程序

首先需要安装引导程序包

Bash
1
pacman -S grub efibootmgr

安装引导程序到引导区

Bash
1
grub-install --target=x86_64-efi --efi-directory=/boot bootloader-id=archlinux

最后一项bootloader-id参数指定引导程序在UEFI中显示的名称,可以自定义

生成引导配置文件

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

现在就大功告成了

退出新系统

首先要离开新系统,可以输入exit命令,也可以使用快捷键{% kbd Ctrl %}+{% kbd D %}

卸载分区

卸载分区是非常重要的步骤,如果不卸载,等会重启过程中会出现busy的提示,于是要等待很长时间

Bash
1
2
3
umount /mnt/boot
umount /mnt
swapoff /dev/sda2

重启系统

此时可以通过reboot命令进行重启,或使用快捷键{% kbd Ctrl %}+{% kbd Alt %}+{% kbd Del %}进行重启

进入系统

进入系统
出现这个内容就是开机成功了,使用刚才设置的密码就可以登录到root用户了,下期教程将讲解如何安装桌面

结尾

这篇教程到这里就结束了,感谢您耐心阅读,如果在操作中遇到任何问题,可以在评论区中留言。

文章作者
SCH
发布于

2023-02-05

修改于

2023-11-16

许可协议

CC BY-NC-ND 4.0

评论

昵称
邮箱
网址
暂无