Archlinux_install_help

yosaki_sonako UP

很久就想写一篇arch的安装教程

我的blog自从我搭建以来就一直再吃灰
所以今天就想写一篇关于archlinux的安装教程
此教是我个人安装的一些方法
包括os-prober安装arch/windows的双系统等

安装前提

你需要一个u盘
用来安装ventory
或直接rufus写入arch的iso安装媒介
我觉得这个就没必要教了吧(

如果你真的不会的话可以自行去b站自行搜索


然后如果你的系统中有win系统盘
自行去pe分区出一个空分区不格式任何硬盘格式
只留一个空硬盘就好 为安装arch做准备
至于大小自己做决定啦

安装环节

进入Arch的live选择Arch Linux install medium(一般uefi启动后面会有uefi的后缀然后回车)

这里会跑引导和读写iso到内存 !中途不要拔掉u盘


我一般是先会禁用掉reflector这个服务

1
2
systemctl stop --now reflector.service
systemctl disable --now reflector.service

然后在使用Tab的时候会嘟嘟嘟
这个也是可以禁用掉的
使用编辑器nano/vim编辑/etc/inputrc
取消#set bell-style none前的#注释 如下

1
2
3
...
set bell-style none
...
  • 进行连接网络

    在连接之前我会重启dhcpcd

    1
    systemctl restart dhcpcd.service

    这里我使用的是iwctl这个组件
    1
    2
    3
    4
    5
    6
    iwctl # 进入交互式命令行
    device list # 查看无线网卡设备名
    station wlan0 scan # 扫描网络
    station wlan0 get-networks # 列出所有 wifi 网络
    station wlan0 connect [wifi-name] # 进行连接,注意这里无法输入中文。回车后输入密码即可
    exit

然后就是配置时间状态timedatectl
主要是同步时间之类的

1
2
timedatectl set-ntp true
timedatectl status

配置好这一切我们就离进入chroot不远啦,不过想要使用archlinux还要很多的配置

开始进行安装基础固件

使用默认的编辑器(nano/vim)编辑/etc/pacman.d/mirrorlist

1
2
3
nano /etc/pacman.d/mirrorlist
~# 这里可以按ctrl+k 按死然后就会吧安装源清理干净~
# 当然你也可以直接添加下面这些源 不用非要做我那样的强迫症动作

我这里比较用ustc中科大源

但为了一些人网络的环境我这里会写3个源

1
2
3
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch #清华
Server = https://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch #北外
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch #中科大

添加完之后我们执行更新

1
2
pacman -Syu
#wiki并不推荐Syyu强行更新

进行分区

进行查看分区列表

1
fdisk -l

大概会输出下面这些内容

1
2
3
4
nvme0n1         259:0    0    932G   0  disk 
├─nvme0n1p1 259:1 0 16M 0 part Microsoft reserved partition
├─nvme0n1p2 259:2 0 600G 0 part Microsoft basic data partition
└─nvme0n1p3 259:1 0 300G 0 part

途中如果你是sdX那代表这是机械或者sata/m2 nvmeX是nvme固态 正常笔记本或大多数人都是pcie接口固态 很少用m2 自己要看好噢

具体命名规则`

我这里是nvme0n1p3是我创建的空盘
我使用的是cfdisk而并非fdisk
进入cfdisk后 选择你要选择的空盘
我这里是nvmen1p3
然后会在上面有介绍

磁盘名称
磁盘标签
大小
扇区数量
标识符

下面一些则是主要功能

  • [New]选项为新建分区,将方向键选择到未分配的分区

  • [Quit]可以退出 cfdisk ,并且不保存修改,也就是之前做的操作一律作废

  • [Help]查看 cfdisk 帮助

  • [Write]选项才是真的执行写入操作,使用后会对操作的磁盘执行写入,以前做的修改会生效

  • [Type]选项可以改变分区类型,boot分区选择EFI分区类型,根目录选择filesystem

  • swap分区选择Linux swap类型即可

    编辑好一定要write之后再退出

当然在分区的时候我们还可以再分一个efi分区 不在之前windows上的分区做手脚

如果有windows分区,则不需要动任何win下的分区
分区完成后使用fdisk -l查看分区类别 确认无误后就开始格式化分区

1
2
3
4
5
6
nvme0n1         259:0    0    932G   0  disk 
├─nvme0n1p1 259:1 0 16M 0 part Microsoft reserved partition
├─nvme0n1p2 259:2 0 600G 0 part Microsoft basic data partition
├─nvme0n1p3 259:3 0 500M 0 part EFI System
├─nvme0n1p4 259:4 0 280G 0 part Linux Filesystem
└─nvme0n1p5 259:5 0 4G 0 part Linux swap

分区完成大概会是这样的

格式分区

这里所有的(N)都要对应自己的硬盘符号 不要无脑copy

格式化EFI分区

这里的EFI分区也就是我们刚刚创建的 efi system的分区

1
2
mkfs.vfat -F 32 -n boot /dev/nvme0n1pN # "N"表示你所分的efi分区代号
mkswap -L swap /dev/nvme0n1pN #格式化swap分区

Ext4格式如下

1
mkfs.ext4 -L Arch /dev/nvmexn1pN # -l只是起到命名的作用 ext4格式化就这样简单

不过一般使用ext4其实就足够了

Btrfs格式如下

1
2
3
4
5
6
7
8
9
10
# 格式分区为btrfs
mkfs.btrfs -L Arch /dev/nvmexn1pN
mount -t btrfs -o compress=zstd /dev/nvmexn1pN /mnt
# 创建子卷
btrfs subvolume create /mnt/@ # 创建 / 目录子卷
btrfs subvolume create /mnt/@home # 创建 /home 目录子卷
# 查看子卷的创建情况
btrfs subvolume list -p /mnt
umount /mnt
# 这里btrfs我创建了home分区下面的挂载我也会写

挂载分区

同样的我也写了两种格式类型的挂载方式

1
2
3
4
mount /dev/nvmexn1pN /mnt # 挂载目录
mkdir /mnt/boot # 创建 /boot 目录
mount /dev/nvme0n1pN /mnt/boot # 挂载 /boot 目录
swapon /dev/nvmexn1pN # 挂载交换分区
1
2
3
4
5
6
mount -t btrfs -o subvol=/@,compress=zstd /dev/nvmexn1pN /mnt # 挂载 / 目录
mkdir /mnt/home # 创建 /home 目录
mount -t btrfs -o subvol=/@home,compress=zstd /dev/nvmexn1pN /mnt/home # 挂载 /home 目录
mkdir -p /mnt/boot # 创建 /boot 目录
mount /dev/nvmexn1pN /mnt/boot # 挂载 /boot 目录
swapon /dev/nvmexn1pN # 挂载交换分区

安装基础包

这里我会根据我每次安装所需要的来推荐
一般我会先安装bash作为首选 安装完成系统后再进行配置
使用pacstrap进行安装基础组件

1
pacstrap /mnt base base-devel linux-firmware linux-zen linux-headers linux-zen-headers vim git dhcpcd e2fsprogs iwd bash bash-completions ntfs-3g gvfs-mtp networkmanager

这都是我一路走来 遇到无数的坑才会安装这么多基础组件
当然你也可以进入arch-chroot之后在进行安装这些
vim git dhcpcd e2fsprogs iwd bash bash-completions ntfs-3g gvfs-mtp networkmanager>

使用genfstab写入 fstab 文件 自动挂载分区不然系统无法正常启动

1
2
3
4
# 默认 -U 是efi生成 是主流的方式 如果你是老bios那么需要 -p进行生成mbr自动挂载
genfstab -U /mnt >> /mnt/etc/fstab
# 查看是否生成
cat /mnt/etc/fstab

目前我们Arch已经安装完成一半了
接下来就是进入chroot环境进行用户名 localhost等一些设置
以及grub双系统配置

1
arch-chroot /mnt /bin/bash

进入到chroot环境 在很久之前进chroot很麻烦的 这里我也就不展示了
完全是我忘记了(

Chroot环境内的配置

首先进入系统就是对时区的配置 使用timedatectl ln hwclock进行配置

1
2
3
timedatectl set-ntp true # 启用网络时间同步
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 设置时区为上海
hwclock --systohc # 将系统时间写入硬件时钟

接下来配置就快多了


然后是配置主机名(echo ‘你的主机名 !不能是中文可以大小写加正常的字符-‘)

1
2
3
echo 'yosaki' > /etc/hostname # 设置主机名为yosaki
# 将 下面hostname换成自己的主机名,与 /etc/hostname 里面的名字一样
echo -e "127.0.0.1 localhost\n::1 localhost\n127.0.1.1 yosaki.localdomain yosaki" >> /etc/hosts

如果echo你觉得看不明白太乱你可以这样编辑
使用nano/vim进行编辑/etc/hosts

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

配置locale

使用vim编辑/etc/locale.gen文件,将"en_US.UTF-8""zh_CN.UTF-8"前面的”#”号去掉

1
2
3
4
5
...
en_US.UTF-8 UTF-8
...
zh_CN.UTF-8 UTF-8
...

当然也有更简单的方法

1
2
sed -i 's/^#en_US.UTF-8/en_US.UTF-8/' /etc/locale.gen
sed -i 's/^#zh_CN.UTF-8/zh_CN.UTF-8/' /etc/locale.gen

然后执行以下命令生成locale,并设置LANG环境变量

1
2
3
4
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
echo LANG=en_US.UTF-8 >> /etc/profile
# 不推荐LANG设置中文,因为在tty环境中会导致乱码

配置用户

执行以下命令创建用户(以”sonako”为例)

1
2
3
useradd -m -g users -G wheel sonako #创建用户
passwd root #设置root密码 密码不会显示
passwd sonako #设置用户密码 同上 密码不会显示

配置用户权限
使用编辑器编辑/etc/sudoers
找到# %wheel ALL=(ALL:ALL) ALL
取消前面的#注释

1
2
3
...
%wheel ALL=(ALL:ALL) ALL
...

安装 微码/引导程序
安装intel或amd的引导程序
我想已经不需要我再让你们查看cpuinfo信息了把
应该自己都知道自己的cpu (组要是sonako懒得写了((

1
2
3
4
# amd 
pacman -S amd-ucode
# intel
pacman -S intel-ucode

配置grub

接下来就是最后一步啦
我的教程是会跟随双系统进行配置grub
如果你不需要双系统 不需要下载os-probe这个组件 以及下面的配置你也不需要更改
我会进行标注

*安装grub(这里的os-prober是为了引导win)

1
pacman -S grub efibootmgr efivar os-prober

安装完之后就可以配置grub了

1
2
3
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Grub --recheck
# 一般这是efi的配置方式 如果你是古老bios那你就用下面这条
grub-install --target=i386-pc /dev/nvme0n1 #sonako忘记了 直接抄的别人的喵

为双系统做准备
如果你不需要双系统那么这一步也不需要进行
使用编辑器更改grub的配置文件
/etc/default/grub

1
echo "GRUB_DISABLE_OS_PROBER=false" >> /etc/default/grub

grub的一些简单配置

1
vim /etc/default/grub
  • 去掉 GRUB_CMDLINE_LINUX_DEFAULT 一行中最后的 quiet 参数
  • 把 loglevel 的数值从 3 改成 5。这样是为了后续如果出现系统错误,方便排错
  • 加入 nowatchdog 参数,这可以显著提高开关机速度 #这里就是不看开机logd了

最后生成配置文件

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

如果输出以下内容那就代表没有问题

1
2
Installing for x86_64-efi platform.
Installation finished. No error reported.

最后就是为开机连接网络之类的做一些准备就可以完成安装了

1
systemctl enable dhcpcd iwd NetworkManager

Tips

安装完成后的操作
进入系统后 无线连接的话
要禁用iwd
执行以下指令
sudo systemctl disable iwd # 无线连接会与 NetworkManager 冲突
sudo systemctl stop iwd # 关闭 iwd
sudo systemctl enable –now NetworkManager # 确保先启动 NetworkManager,并进行网络连接。若 iwd 已经与 NetworkManager 冲突,则执行完上一步重启一下电脑即可

完成以上步骤后我们需要退出chroot

1
exit

取消挂载所有分区

1
2
swapoff /dev/nvmexn1pN
umount -R /mnt

然后我们reboot就可以看到grub界面喽 要确保arch下有win的引导那就说明正常的

尾言

Tags

到这里我们就完成安装archlinux的所有步骤了
不过我看到了b站{unixchad}的困难模式install arch
web: https://www.bilibili.com/video/BV1DTT2zSE5R
我也在想补充到这篇blog中
那个我还是觉得挺有意思的

感谢这篇文档arch安装教程

  • 标题: Archlinux_install_help
  • 作者: yosaki_sonako
  • 创建于 : 2025-06-16 15:32:57
  • 更新于 : 2025-06-20 00:29:36
  • 链接: https://blog.yosakisonako.top/2025/06/16/Archlinux-install-help/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论