ArchLinux 安装过程记录(UEFI + GPT + LVM)

制作系统盘

准备工具

Windows:rufus

Linux:dd(不推荐,目前没找到好用的烧录工具,都不支持 UEFI 启动)

下载镜像

清华源:https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/

进入后选择最新镜像(ISO 文件)进行下载

烧录镜像

步骤自己百度,最佳方案是 UEFI + GPT,该文档也只适用于此方案

正式安装

在 BIOS 中选择U盘启动进入 Live 环境,进入 Live 环境后如果有选择界面默认第一个

连接网络

有网线的话建议直接插网线,以下是无线网络的连接方式。

进入 iwd 客户端

iwctl

获取设备名

[iwd] device list

扫描网络

[iwd] station [设备名] scan
eg. station wlp1s0 scan

列出可选网络

[iwd] station [设备名] get-networks

连接网络

[iwd] station [设备名] connect [网络名称]

退出

[iwd] exit

检查连接状态

ping www.baidu.com

同步时间

timedatectl set-ntp true

硬盘分区

该文档采用 LVM 模式,该模式可以更方便地调整分区大小。

查看硬盘信息

  • 使用 lsblk,得到一个简洁的树状图信息

  • 使用 fdisk -l, 得到各个设备的完整信息

创建分区

cfdisk [设备名]
eg. cfdisk /dev/sda

cfdisk

以上图为参考,使用下方控制栏的 new 分出一个1G的分区,对其使用 type 并选择 EFI System 类型;剩余的空间(包括其它硬盘)全部设置成 Linux LVM 类型。

创建物理卷

不要在 EFI 分区上创建物理卷。

pvcreate [设备名]
eg. pvcreate /dev/sda2

可使用 pvdisplay 查看已创建的物理卷。

创建卷组

卷组名和下面的卷名都不能以连字符(- 或 _)开头。

卷组必须先创建在某个物理卷上,再将其它物理卷添加入其中。

有两种方法,可自己挑选。

  • 第一种方法

在创建完卷组后将其它物理卷添加入其中

vgcreate [卷组名] [目标物理卷]
vgextend [卷组名] [其它物理卷]
  • 第二种方法

在创建卷组时一次性添加所有物理卷

vgcreate [组名] [物理卷1] [物理卷2] ...

可使用 vgdisplay 查看已创建的卷组。

创建逻辑卷

lvcreate -L [卷大小] [卷组名] -n [卷名]
eg. lvcreate -L 50G SSD -n root

可使用 lvdisplay 查看已创建的逻辑卷。

如果想将卷组中所有未使用的空间给某个逻辑卷的话,可使用以下命令。

lvcreate -l +100%FREE [卷组名] -n [卷名]

可以预留一部分未使用空间,以便将来扩容使用。


按照上述方法,将步骤3.4中创建的卷组按自己想要的大小分别创建出 roothome 两个分区的逻辑卷。

建议 root 分区就起名为 root,home分区的就起名为 home,下文为了方便,默认将 root/home 分区的逻辑卷按此名字定义。

检查逻辑卷是否在 /dev/mapper//dev/[卷组名] 中,如果没有,执行以下命令进行模块加载,卷组扫描与激活。

modprobe dm-mod
vgscan 
vgchange -ay

格式化逻辑卷

  • root 分区
# 注意:使用的是逻辑卷所在位置,而不是实际分区
mkfs.ext4 /dev/mapper/[卷组名]-root
  • home 分区
# 注意:使用的是逻辑卷所在位置,而不是实际分区
mkfs.ext4 /dev/mapper/[卷组名]-home
  • EFI 分区
# 注意,此处使用的是实际分区,你并没有为 EFI 分区创建逻辑卷
mkfs.fat -F32 /dev/[EFI分区]

如果忘记 EFI System 类型的分区叫什么,且有采用步骤3.2的建议,那么使用步骤3.1的方法自己看看,那个 1G 大小的分区就是。

挂载逻辑卷

按顺序执行以下命令

mount /dev/mapper/root /mnt
mkdir /mnt/efi
mkdir /mnt/home
mount /dev/[EFI分区] /mnt/efi
mount /dev/mapper/home /mnt/home

配置系统

安装必需软件包

修改 /etc/pacman.d/mirrorlist,在开头添加以下内容用于更改软件包镜像源

# 中科大源
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch

执行以下命令进行安装

pacstrap /mnt base linux linux-firmware neovim lvm2 grub efibootmgr

pacstrap 是一个脚本,其作用是将指定的包安装到给定的目录下。当不指定包时,会下载基元包(Base metapackage)。

详细信息见 pacstrap

base、linux、linux-firmware 是基本包。

neovim、lvm2、grub、efibootmgr是下面的步骤需要的包,也可以选择在接下来用 pacman 安装。

生成文件系统结构信息

执行以下命令生成文件系统结构信息

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

/etc/fstab 文件记录 Arch 的文件系统结构信息,其作用是引导系统挂载指定分区到指定目录。

可使用 cat /mnt/etc/fstab 检查文件系统结构是否正确。

变更根目录

执行以下命令切换根目录到 /mnt 目录中,通俗点理解就是离开 Live 环境进入正在安装的 Arch 系统以进行接下来的配置。

arch-chroot /mnt

配置 mkinitcpio

因为 root 分区也是基于 LVM,所以需要配置 mkinitcpio,防止系统无法启动。

打开 /etc/mkinitcpio.conf ,在文件中找到以下行,在 blockfilesystem 这两项中间插入 lvm2

HOOKS=(base udev autodetect modconf block filesystems keyboard fsck)

修改后如下,

HOOKS=(base udev autodetect modconf block lvm2 filesystems keyboard fsck)

退出编辑器并通过下面的命令重新生成内存盘镜像

mkinitcpio -p linux

时区设置

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

生成 /etc/adjtime 文件

hwclock --systohc

本地化设置

  1. 修改 /etc/locale.gen 文件,将en_US UTF-8zh_CN UTF-8 前的注释符号去除。

  2. 执行以下命令生成 locale 信息

locale-gen
  1. 创建并修改 /etc/locale.conf,添加以下内容用以设置 LANG 变量
LANG=en_US.UTF-8

网络设置

创建 /etc/hostname 文件,在该文件里添加想要设置的主机名

myhostname

修改 /etc/hosts 文件,添加以下内容用以配置 hosts

127.0.0.1 localhost
::1 localhost
127.0.1.1 myhostname.localdomain myhostname

记得将 myhostname 更换为自己的主机名。

管理员密码设置

passwd

系统引导设置

安装引导

grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=ArchLinux

EFI 分区在 /efi 目录下,--efi-directory 参数就设置为/efi,--bootloader-id 参数设置的是 BIOS 界面中该系统的名字。

生成 grub 配置文件

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

安装基本工具

pacman -S linux-headers base-devel networkmanager network-manager-applet wpa_supplicant wireless_tools dialog

完成安装

退出 chroot 环境

exit

卸载分区

umount -R /mnt

重启

reboot
  • 15
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值