因为前两天win11不知道怎么了把我的账户设置成了来宾账户,导致几乎所有软件都无法使用,遂决定格盘重装,想回到 Arch 好久了,借此机会重新体验一次。
在这之前,希望你至少按照ArchWiki中的安装向导,在安装过程中遇到问题之后再来参考本文。
制作引导
下载镜像
最推荐的方式还是去官网下载,网站下方除了提供种子外还有各个国家的镜像站,选择一个离自己物理位置近的下载即可。
下载完成就是一个大约 800M 大小的 iso 镜像,可以看到,相对于动辄好几G的其他常见的发行版,archlinux 可以说是非常的轻量,基本上允许你从头一步一步安装一个属于你自己的 archlinux !
制作引导盘
我一般会选择图形化页面的软件方便烧录,这里推荐 Etcher , 提供了Windows, MacOS, Linux所有平台的安装包。
按照如图所示的顺序很方便的就能烧录好U盘,最后重启电脑进入U盘启动,就能愉快的开始安装啦😃
开始安装
远程安装
安装过程中会输入大量的命令,如果害怕敲错,可以用另一台设备 ssh 连接过来远程操作安装,方便复制命令,操作步骤如下:
- 设置 root 密码
1 | passwd |
- 查看当前局域网ip地址
1 | ip addr |
找到当前网卡的ip地址即可,一般可能是 172.xxx.xxx.xxx
或者 192.168.xxx.xxx
,并记下来。
- 通过 ssh 连接即可
1 | ssh root@172.xxx.xxx.xxx |
输入密码后就能连接上了。之后安装本地安装的顺序继续走就可以。
本地安装
如果是第一次安装或者抱着学习的态度,还是建议本地安装,亲自敲一遍命令,你可以清楚的知道一个 linux 设备从零到能用中间基本经历了什么操作。
这大概也是 Archlinux 的魅力之一吧,常见的 Ubuntu 等安装时都提供了图形界面安装,只需要一直点击下一步就能成功安装,小白可能安装会快点,但是作为计算机从业人员,如果如果连 Linux 基本的系统结构都不清楚的话,还是不太合适的。
联网
如果是网线连接,一般会自动连接上,可以跳过这部分。
1 | nmcli dev wifi connect ChinaNet-sj8h password 12345678 |
其中,ChinaNet-sj8h
部分是 WiFi 的名字,后面的 12345678
是你的 WiFi 密码。
网卡被禁用?
有时候会遇到连接 WiFi 的时候提示网卡被禁用,可以通过下面的操作恢复:
1 | rfkill # 查看被禁用的设备 |
连接完成后,执行 ping baidu.com
可以检查网络是否正常。baidu 每天承受大量ddos攻击
同步硬件时间
1 | timedatectl set-ntp true |
如果没有任何输出,就没任何问题。
更新国内镜像源
设置仓库地址为国内镜像源,下载更快。通过下面的命令自动选择当前延迟最低的站点:
1 | reflector --country China --age 72 --sort rate --protocol https --save /etc/pacman.d/mirrorlist |
更新软件仓库
同步之后刷新本地的仓库索引
1 | pacman -Sy |
分区
查看所有的硬盘信息,确定要安装到哪里
1 | fdisk -l |
此命令会列出当前所有的硬盘。找到需要安装的位置。
1 | # fdisk -l |
因为我的设备有三块硬盘,所以会显示三个,然后我想安装到其中的 /dev/nvme1n1
,然后执行下面的命令
1 | cfdisk /dev/nvme1n1 |
cfdisk
命令会进入一个带简单的 GUI 的页面分区,首先最好删除所有的分区,然后划分一个 500M 空间的分区, Type
设置为 EFI System
,剩下的空间按照需要再分一个较大的空间,Type
设置为 Linux Filesystem
即可。然后选择 Write
写入后退出即可。
可能也会包括移动设备,注意观察每个盘的空间大小
格式化刚才的分区
EFI 分区格式化
1 | mkfs.fat -F32 /dev/nvme1n1p1 |
格式化根目录分区
1 | mkfs.f2fs -f -l Archlinux /dev/nvme1n1p2 |
-f是强制执行,-l后面的是这个分区的Label也就是名字自己想写什么都可以, 类似windows中c、d盘前面的名字
挂载
分区之后,将硬盘挂载到当前的 Live 系统。
1 | mount /dev/nvme1n1p2 /mnt |
/mnt
就是你将要安装的系统的根目录,然后将 EFI 目录挂载到 boot 目录。
安装基础系统
现在开始,就是真正安装你的系统了,通过 Live 系统中的 pacstrap 脚本将内核等基础软件安装的目标硬盘。
1 | pacstrap /mnt linux linux-firmware linux-headers base base-devel bash-completion vim git intel-ucode f2fs-tools networkmanager wqy-zenhei openssh |
如果你的跟分区是f2fs,
f2fs-tools
是必须的intel-ucode
是根据你的cpu来的如果你的是amd的那就是amd-ucode
networkmanager
也是必须的,因为你要联网,而且plasma和gnome都通过是networkmanager
来管理网络的wqy-zenhei
是中文字体,避免安装界面后乱码
生成自动挂载配置
1 | genfstab -U /mnt >> /mnt/etc/fstab |
第一个命令是生成开机自动挂载配置,生成完之后一定要查看一下内容,确定是你刚才挂载的硬盘,否则会无法启动。
初始化系统
现在开始系统运行所需要的包括内核等基础软件已经安装完成,需要通过 arch-chroot
切换到新系统来初始化。
1 | arch-chroot /mnt |
chroot
指的就是以 root 身份进入当前挂载的系统,后续如果系统出现问题,也可以通过 chroot 来进行修复。
设置时区
1 | ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime |
设置系统语言
1 | vim /etc/locale.gen |
在当前文件中取消注释en_US.UTF-8 UTF-8
和 zh_CN.UTF-8 UTF-8
这两行,然后保存退出。
然后执行
1 | locale-gen |
初始化语言。
1 | echo "en_US.UTF-8" > /etc/locale.conf |
这里设置英语为默认语言。
不推荐在这里设置系统默认语言为中文,这样会生成很多中文路径,后续安装会比较麻烦。
设置必要的系统启动项
1 | systemctl enable sshd NetworkManager |
使用 systemd-boot 创建系统引导
1 | bootctl install |
编辑引导内容
1 | vim /boot/loader/loader.conf |
文件内容参考下面
1 | default arch |
- default arch就是默认启动 /boot/loader/entries/arch.conf
- timeout 5 就是引导是等候按键输入的时间,如果是单系统可以设置为0
然后编辑/boot/loader/entries/arch.conf
文件
1 | title Arch Linux |
title可以随便写,意思就是当前系统的命名
linux 这里是linux的内核,通过bootctl install就已经把内核复制到了/boot下
initrd 这是要加载的模块,我这里加了intel-ucode.img和initramfs-linux.img
- initramfs-linux.img是启动系统必须要的模块,它在内核启动后第一个执行
- 如果你是amd的cpu可以把intel-ucode换成amd-ucode.img
options 这是启动附加的参数
- root=UUID=7a6f4b50-3914-4745-b907-a11a26258215 这里指定了根目录分区,UUID为查找根目录分区方式,后面7a6f4b50-3914-4745-b907-a11a26258215为根目录分区的UUID
- rw 这个内核参数设置根目录分区为可写可读
- quiet splash vt.global_cursor_default=0 这一堆设置安静的引导,也就是没有引导输出在显示器上,直到引导完成进入登陆页面
在 vim 中执行
:r!blkid
可以输出当前硬盘信息删除其他的,保留UUID即可
添加 pacman 的 hooks 文件,这样每次更新内核都会自动更新 efi 分区
1 | mkdir /etc/pacman.d/hooks |
文件内容如下
1 | [Trigger] |
设置用户
设置 root 密码
1 | passwd |
创建自己的用户
因为 root 的权限太高,日常使用中非常容易误操作产生不可逆的破坏,所以一定要使用一个低权限账号来日常使用。
1 | useradd -m chaofan |
添加用户组
1 | usermod -aG wheel,users,storage,power,lp,adm,optical chaofan |
添加 sudo 权限
1 | visudo |
操作方式和 vim 相同,取消注释 wheel ALL=(ALL:ALL) ALL
这一行即可。
设置当前用户密码
1 | passwd chaofan |
配置完成后,重启即可
1 | exit |
重启后记得拔掉 U盘,进入新系统。
安装桌面环境
重启后依然是熟悉的终端
输入刚才创建的用户名和密码登陆即可,然后重新连接好网络。
设置 AUR
首先编辑 pacman 的配置文件。
1 | sudo vim /etc/pacman.conf |
添加 archlinuxcn 源
1 | [archlinuxcn] |
然后取消 [multlib]
的注释。然后安装 yay
这是一个 AUR 管理器,可以安装来自 AUR 的包,使用方法和 pacman 相同。
1 | sudo pacman -S yay |
安装桌面环境
linux 下常见的桌面环境包括KDE和Gnome,我比较喜欢 gnome,整体风格更统一。
首先安装显卡驱动
1 | yay -S xf86-video-intel vulkan-driver mesa-vdpau libva-mesa-driver |
然后安装桌面环境
1 | yay -S gnome |
设置启动管理器开机自启
1 | sudo systemctl enable gdm |
最后重启,这样桌面环境就成功安装完毕了。