arch基础安装教程

本教程由archlinux 简明指南 和本人个性化组成(也就是说会从简明指南里面copy一些过来,并且具有设备狭义性

对应双系统,这里建议最先最小安装windows再安装archlinux

由于先用的虚拟机来记录,所以目前会缺少关于显卡驱动,和多引导系统的部分

本教程使用btrfs文件系统 GPT分区表 swap分区 EFI引导(所以默认EFI,不会对是否为EFI引导进行检查)

对于挂载,请注意,不同的存储介质对应的块设备不一样
所以,请在挂载或者其他需要对存储介质进行操作前确认你的块设备
如sda,nvme0n1p1等等,不要一股脑全抄

1. 全新安装 虚拟机和只装arch的考虑(双系统不考虑

1. 建立新的GPT分区表 (注意!!此步骤会丢失磁盘上所有数据)

  1. 使用命令lsblk来观察要安装的磁盘
  2. 输入一下命令来设置磁盘分区类型:
parted /dev/sdx # 执行 parted,进行磁盘类型变更
(parted) mktable # 输入 mktable
New disk label type? gpt # 输入 gpt,将磁盘类型转换为 GPT 类型。如磁盘有数据会警告,输入 Yes 即可
(parted) quit # 退出 parted 命令行交互

2. 建立EFI分区

进入 cfdisk 分区工具之后,类似上一节步骤 7-1. 分区 的分区说明,建立 EFI 分区:

  1. 选中 Free space > 再选中操作 [New] > 然后按下回车 Enter 以新建 EFI 分区
  2. 输入 分区大小(建议 >= 256MB、<= 1024MB;推荐 512MB)> 然后按下回车 Enter
  3. 选中操作 [Type] > 然后按下回车 Enter > 通过方向键 ↑ 和 ↓ 选中 EFI System > 最后按下回车 Enter

3. 格式化EFI分区

mkfs.vfat /dev/sdxn

2.连接网络

使用无线网络

使用 iwctl 进行连接:

iwctl # 进入交互式命令行
device list # 列出无线网卡设备名,比如无线网卡看到叫 wlan0
station wlan0 scan # 扫描网络
station wlan0 get-networks # 列出所有 wifi 网络
station wlan0 connect wifi-name # 进行连接,注意这里无法输入中文。回车后输入密码即可
exit # 连接成功后退出

如果无线网络还是无法连接,请使用 ip link 命令查看无线网卡设备,使用 ip link set <设备名> up 命令激活对应的无线网卡。若看到类似 Operation not possible due to RF-kill 的报错,继续尝试 rfkill unblock wifi 来解锁无线网卡。

有线网

直接默认会自动连接

检测网络

使用ping来检测

ping www.bilibili.com

3.更新系统时钟(在安装过程中可选

使用 timedatectl 确保系统时间是准确的。这一步不是可选的,正确的系统时间对于部分程序来说非常重要:

timedatectl set-ntp true # 将系统时间与网络时间进行同步
timedatectl status # 检查服务状态

4. 更换成为国内软件源

使用 vim 编辑器修改 /etc/pacman.d/mirrorlist 文件。将 pacman 软件仓库源更换为国内软件仓库镜像源:

vim /etc/pacman.d/mirrorlist

放在最上面的是会使用的软件仓库镜像源,推荐的镜像源如下:

Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch # 中国科学技术大学开源镜像站
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch # 清华大学开源软件镜像站
Server = https://repo.huaweicloud.com/archlinux/$repo/os/$arch # 华为开源镜像站
Server = http://mirror.lzu.edu.cn/archlinux/$repo/os/$arch # 兰州大学开源镜像站

ps : 不要在这里添加archlinuxcn源
或者安装pacman-mirrorlist

5.分区、格式化

建议分区配置:

  • / 根目录:>= 128GB(和用户主目录在同一个 Btrfs 文件系统上)
  • /home 用户主目录:>= 128GB(和根目录在同一个 Btrfs 文件系统上)
  • /boot/efi EFI 分区:256MB(由电脑厂商或 Windows 决定,无需再次创建)
  • Swap 分区:>= 电脑实际运行内存的 60%(设置这个大小是为了配置休眠准备)

1.开始分区

cfdisk /dev/sdx # 对安装 archlinux 的磁盘分区
  1. 首先创建 Swap 分区。选中 Free space > 再选中操作 [New] > 然后按下回车 Enter 以新建 swap 分区(类似 Windows 的交换文件)
  2. 按下回车后会提示输入 分区大小,Swap 分区建议为电脑内存大小的 60%,或者和内存大小相等 > 然后按下回车 Enter
  3. 默认新建的类型是 Linux filesystem,我们需要将类型更改为 Linux swap。选中操作 [Type] > 然后按下回车 Enter > 通过方向键 ↑ 和 ↓ 选中 Linux swap > 最后按下回车 Enter
  4. 我们再只需要一个分区即可(因为使用 Btrfs 文件系统,所以根目录和用户主目录在一个分区上),所以类似的:选中 Free space > 再选中操作 [New] > 然后按下回车 Enter 以新建分区
  5. 输入 分区大小(默认是剩余的全部空间。请根据实际情况输入)> 然后按下回车 Enter
  6. 分区类型默认即可,无需更改。接下来选中操作 [Write] 并回车 Enter > 输入 yes 并回车 Enter 确认分区操作
  7. 选中操作 [Quit] 并回车 Enter 以退出 cfdisk 分区工具
  8. fdisk -l复查,确认已经完成分区
  9. 格式化swap分区:
mkswap /dev/sdxn

2. 创建btrfs

  1. 首先我们需要将整一个分区格式化为 Btrfs 文件系统。使用如下命令进行格式化:
mkfs.btrfs -L myArch /dev/sdxn

注:
-L 选项后指定该分区的 LABLE,这里以 myArch 为例,也可以自定义,但不能使用特殊字符以及空格,且最好有意义
2. 为了创建子卷,我们需要先将 Btrfs 分区挂载到 /mnt 下:

mount -t btrfs -o compress=zstd /dev/sdxn /mnt

注:

  • -t 选项后指定挂载分区文件系统类型
  • -o 选项后添加挂载参数:
    • compress=zstd —— 开启透明压缩
  1. 使用 df 命令复查挂载情况:
df -h # -h 选项会使输出以人类可读的单位显示

3. 创建btrfs子卷

  1. 通过以下命令创建两个 Btrfs 子卷,之后将分别挂载到 / 根目录和 /home 用户主目录:
btrfs subvolume create /mnt/@ # 创建 / 目录子卷
btrfs subvolume create /mnt/@home # 创建 /home 目录子卷
  1. 复查:
btrfs subvolume list -p /mnt
  1. 子卷创建好后,我们需要将 /mnt 卸载掉,以挂载子卷:
umount /mnt

6. 挂载

  1. 在挂载时,挂载是有顺序的,需要从根目录开始挂载。使用如下命令挂载子卷:
mount -t btrfs -o subvol=/@,compress=zstd /dev/sdxn /mnt # 挂载 / 目录
mkdir /mnt/home # 创建 /home 目录
mount -t btrfs -o subvol=/@home,compress=zstd /dev/sdxn /mnt/home # 挂载 /home 目录
mkdir -p /mnt/boot/efi # 创建 /boot/efi 目录
mount /dev/sdxn /mnt/boot/efi # 挂载 /boot/efi 目录
swapon /dev/sdxn # 挂载交换分区
  1. 使用df检查挂载:
df -h
  1. 使用free检测swap
free -h # -h 选项会使输出以人类可读的单位显示

7. 安装系统

  1. 通过如下命令使用 pacstrap 脚本安装基础包:
pacstrap /mnt base base-devel linux linux-firmware

注:

  • base·devel —— base-develAUR 包的安装过程中是必须用到的
  • linux —— 内核软件包,这里建议先不要替换为其它内核
  1. 安装其他功能软件
pacstrap /mnt dhcpcd iwd vim sudo zsh zsh-completions

注:

  • zsh —— zsh-completions 如果你是 bash 的爱好者,请把这两个包换成bash-completion
  • 如果你是第一次接触*nix 系统的新手,不建议换成 bash

8. 生成fstab文件

  1. fstab 用来定义磁盘分区。它是 Linux 系统中重要的文件之一。使用 genfstab 自动根据当前挂载情况生成并写入 fstab 文件:
genfstab -U /mnt > /mnt/etc/fstab
  1. 复查
cat /mnt/etc/fstab

9. change root

使用以下命令把系统环境切换到新系统下:

arch-chroot /mnt

此时,原来安装盘下的 /mnt 目录就变成了新系统的 / 目录。同时,可以发现命令行的提示符颜色和样式也发生了改变。

10. 设置主机名和时区

  1. 首先在 /etc/hostname 设置主机名:
vim /etc/hostname
  1. 接下来在 /etc/hosts 设置与其匹配的条目:
vim /etc/hosts

加入如下内容:

127.0.0.1   localhost
::1         localhost
127.0.1.1   myarch.localdomain	myarch
  1. 随后设置时区,在 /etc/localtime 下用 /usr 中合适的时区创建符号链接:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  1. 同步硬件时间:
hwclock --systohc

11. 设置Locale:

Locale 决定了软件使用的语言、书写习惯和字符集。

  1. 编辑 /etc/locale.gen,去掉 en_US.UTF-8 UTF-8 以及 zh_CN.UTF-8 UTF-8 行前的注释符号(#):
vim /etc/locale.gen
  1. 然后使用如下命令生成 locale:
locale-gen
  1. 向 /etc/locale.conf 输入内容:
echo 'LANG=en_US.UTF-8'  > /etc/locale.conf

注意,这里暂时不要设置中文,请等安装完全结束过后设置中文

12. 设置root密码

passwd root

13. 安装微码

pacman -S intel-ucode # Intel
pacman -S amd-ucode # AMD

14. 安装引导程序

  1. 安装包:
pacman -S grub efibootmgr os-prober

注:

  • -S 选项后指定要通过 pacman 包管理器安装的包:
    • grub —— 启动引导器
    • efibootmgr —— efibootmgrgrub 脚本用来将启动项写入 NVRAM
    • os-prober —— 为了能够引导 win10,需要安装 os-prober 以检测到它
  1. 安装GRUB到EFI
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ARCH
  • --efi-directory=/boot/efi —— 将 grubx64.efi 安装到之前的指定位置(EFI 分区)
  • --bootloader-id=ARCH —— 取名为 ARCH
  1. 接下来使用 vim 编辑 /etc/default/grub 文件:
vim /etc/default/grub

进行如下修改:

  • 去掉 GRUB_CMDLINE_LINUX_DEFAULT 一行中最后的 quiet 参数
  • loglevel 的数值从 3 改成 5。这样是为了后续如果出现系统错误,方便排错
  • 加入 nowatchdog 参数,这可以显著提高开关机速度
  • 为了引导 win,则还需要添加新的一行 GRUB_DISABLE_OS_PROBER=false
  1. 最后生成 GRUB 所需的配置文件:
grub-mkconfig -o /boot/grub/grub.cfg

15. 安装完成

exit # 退回安装环境
umount -R /mnt # 卸载新分区
reboot # 重启

开机自启dhcp:

systemctl enable --now dhcpcd # 设置开机自启并立即启动 dhcp 服务
ping www.bilibili.com # 测试网络连接

如果为无线连接,则还需要启动iwd

基础安装完成

posted @ 2022-12-01 15:37  柠檬233  阅读(926)  评论(0编辑  收藏  举报