ArchLinux 安装

2018 年 11 月 19 日 22:06:41

在此之前,需要先用 EFI 把 Windows 装好,接下来就要装 Linux 了。

以下大部分内容来自于 LengQing 的博客 Arch Linux 的安装

选择版本

Linux 有这么多发行版,为什么选择 archlinux 呢?

  1. 因为 archlinux 从零开始安装,所有的东西都需要用户自己设定,也就是可自定义
  2. 有完整的 wiki,不会的时候可以查下 wiki,问题就解决了
  3. 滚动更新,不过偶尔会挂掉的

1. 制作启动盘

下载 Rufus

下载最新的 Archlinux 镜像,插入 U 盘开始制作启动盘。

https://cdn.jsdelivr.net/gh/bubao/picgo_db@master/img/20210204224956

2. 开始安装

进入启动盘

3. 连接网络

1
2
3
4
# 无线网
wifi-menu
# 有线网
dhcpcd

测试是否连通

1
ping -c 4 baidu.com

https://cdn.jsdelivr.net/gh/bubao/picgo_db@master/img/20210204225116

更新系统时间,没啥输出,不用管

1
timedatectl set-ntp true

4. 分区及挂载分区

列出磁盘

1
fdisk -l

https://cdn.jsdelivr.net/gh/bubao/picgo_db@master/img/20210204225211

我这里第一块是 60GiB 的盘,设备是 /dev/sda

第二块应该是启动盘,不用管。

/dev/sda 进行分区

1
fdisk /dev/sda

创建 GPT 分区表

1
g

创建一个新的分区

1
n

输入分区号,从 1 开始

1
1

输入起始扇区,默认回车即可

1
回车

输入 +200M 创建一个 esp 分区

1
+200M

继续创建新分区做根目录分区

1
2
n
回车

由于没有其它分区,硬盘剩余空间都分配,所以直接回车分配所有空间

1
回车

查看创建的分区

1
p

可以看到两个分区,分别是 200M 的 sda1 和 59.8G 的 sda2 (都没有格式化)

https://cdn.jsdelivr.net/gh/bubao/picgo_db@master/img/20210204225332

改变 200M 的 esp 分区的类型

1
t

选择分区号

1
1

选择分区类型,按 L 可以列出所有类型,不过我并不知道如何退出列表,反正序号 1 是”EFI System”

1
1

https://cdn.jsdelivr.net/gh/bubao/picgo_db@master/img/20210204225401

保存更改

1
w

格式化 esp 分区和根分区

1
2
mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda2

挂载根分区

1
mount /dev/sda2 /mnt

挂载 esp 分区

1
2
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot

5 安装基本系统

选择镜像源
编辑源列表文件

1
nano /etc/pacman.d/mirrorlist

将 China 的那一行挪到最前面(也可以直接在最前面加上 China 的源地址,上面的具有优先权)

找到那一行,光标在最前面的时候直接按下 Ctrl+K ,然后回到第一行按下 Ctrl+U ,手打也行

https://cdn.jsdelivr.net/gh/bubao/picgo_db@master/img/20210204225441

然后按下 Ctrl+X ,输入 y ,回车,即可保存

安装基本包( base-devel 不是必须的,可以不加)

1
pacstrap /mnt base base-devel

这个样子就是系统装好了,只不过还不能开机

6 开机前配置

生成自动挂载分区的 fstab 文件

1
genfstab -L /mnt >> /mnt/etc/fstab

检查是否正确

1
cat /mnt/etc/fstab

https://cdn.jsdelivr.net/gh/bubao/picgo_db@master/img/20210204225512

理论上格式应该与我的完全相同,假如格式差别很大的可能就有问题了,也许手动检查 UUID 并创建 fstab 文件是个好主意。

切换到新系统操作

1
arch-chroot /mnt

如图所示,即为成功

设置时区(我比较靠近上海,便以上海为例)

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

根据硬件时间调整时间( UTC 时间为例)

1
hwclock --systohc

本地化
编辑文件

1
nano /etc/locale.gen

将下面的几行前面的 # 删掉,保存

1
2
3
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8

接着执行 locale-gen 以生成 locale 讯息:

1
locale-gen

选择英文作为默认语言(暂不推荐中文,以防乱码,等装了字体桌面什么的可以考虑中文)

1
nano /etc/locale.conf

加入以下内容并保存

1
LANG=en_US.UTF-8

设置主机名

1
nano /etc/hostname

输入你要的主机名并保存

编辑 hosts 文件
加入下面的内容,其中的 arch 替换为你的主机名

1
2
3
127.0.0.1 localhost.localdomain localhost
::1 localhost.localdomain localhost
127.0.1.1 arch.localdomain arch

设置 root 密码

1
passwd

Intel CPU 需要安装的 intel-ucode

1
pacman -S intel-ucode

安装引导

1
pacman -S os-prober grub efibootmgr

部署 grub

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

生成配置文件(我这里会出错)

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

报错

1
warning failed to connect to lvmetad,falling back to device scanning.

编辑 /etc/lvm/lvm.conf 文件,找到 use_lvmetad = 1 将 1 修改为 0(这一行在很下面,翻半天),保存,重新生成配置文件

7 重启进入新系统

安装基本上结束了

1
2
exit
reboot

顺便拔掉启动盘
开机就算是进入新系统了,如果不能开机我也不管了,教程到这里结束
正常的开机应该跟我的一样

然后滚更新,最新的,很棒!


ArchLinux 安装
https://bubao.github.io/posts/1b1ffc04.html
作者
一念
发布于
2018年11月19日
许可协议