本文档使用纯手工的方式安装进行安装ArchLinux,只进行完成命令行的安装,后面有继续操作
一、U盘启动盘制作
ArchLinux系统下载:https://archlinux.org/
烧录工具下载:这里使用BalenaEtcher进行烧录;https://etcher.balena.io/
烧录较为简单,这里不在进行讲述
二、前置准备
1. U盘启动
电脑开机,使用U盘启动(如何启动自行百度);等待进入如下界面,表示系统文件已经读取到内存,此时拔掉U盘,开始系统安装
此处缺少加载完成图片
2. 连接网络
如果你连接的是网线,网络默认应该是连接好的;直接ping测试一下,网络是否正常
如果是WIFI进行连接,需要保证你的无线网卡是被ArchLinux支持的网卡,方可进行连接;使用iwctl软件进行连接(更详细请百度iwctl详细教程):
iwctl# 进入iwctl软件station wlan0 connect wifi_name# 这里最后使用 wifi名称代替wifi_passwd# 输入 wifi 密码exit# 退出iwctl软件此时使用ping命令测试网络是否连通
此处注意可能提示wlan0 device not fount,使用ip link查看是否有wlan0的网络设备;这可能是因为双系统win的快速启动功能霸占网卡导致的,进入电源管理,关闭快速启动即可
3. 修改镜像源为国内源
编辑源镜像文件/etc/pacman.d/mirrorlist,搜索China关键字;这个下面的所有源地址,都是国内的源地址,把这些地址移动到上面;注意只需要移动https的即可
修改完成后,测试是否修改成功,如果下面命令速度很快,表示修改成功:
pacman-Sy4. 启动NTP对时
因为ArchLinux安装全过程需要实时从网上下载资源,有些需要依赖系统时间,必须保证时间正确;如下
timedatectl set-ntptrue三、硬盘分区&挂在(UEFI + GPT)
下面进行硬盘分区,因为不同硬件的引到方式不同,请根据自己的需求选择;这里是UEFI+GPT分区方式:
1. 硬盘分区
使用lsblk查看目前所有分区和挂在情况
lsblk-pfNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT /dev/sda8:00120G0disk使用cfdisk软件创建两个分区:
cfdisk/dev/sda| 分区编号 | 大小 | 类型 |
|---|---|---|
| 1 | 1g | EFI system |
| 2 | 剩余空间 | – |
分区完成,选择[Wirte]选项,表示生效设置,并输入yes完成设置;再使用lsblk查看一下:
lsblk-pfNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT /dev/sda8:00120G0disk ├─ /dev/sda18:101g0part └─ /dev/sda28:20119G0part/dev/sda1:引导分区
/dev/sda2:系统安装分区
2. 硬盘格式化
分区1(/dev/sda1) 作为引导分区,需要格式化为fat模式:
mkfs.fat-F32/dev/sda1分区2(/dev/sda2) 作为系统安装分区,这里采用btrfs类型(也可以使用ext4类型):
mkfs.btrfs-f/dev/sda23. 创建子卷
即为根分区创建/、/home、/swap、boot子卷
mount-tbtrfs-ocompress=zstd /dev/sda2 /mnt# 挂载 /dev/sda2 节点, 挂在以后可以创建子卷btrfs subvolume create /mnt/@# 创建 / 子卷,这里@表示根目录btrfs subvolume create /mnt/@home# 创建 /home 子卷,这里@表示根目录btrfs subvolume create /mnt/@swap# 创建 /swap 子卷,这里@表示根目录umount/mnt# 创建子卷完成,取消挂载4. 挂载文件系统
即挂载/、/home、/swap
mount-tbtrfs-osubvol=/@,compress=zstd /dev/sda2 /mnt# 挂载根目录mount--mkdir-tbtrfs-osubvol=/@home,compress=zstd /dev/sda2 /mnt/home# 挂载home目录mount--mkdir-tbtrfs-osubvol=/@swap,compress=zstd /dev/sda2 /mnt/swap# 挂载swap目录mount--mkdir/dev/sda1 /mnt/boot# 挂载引导目录mount--mkidr/dev/win-efi-dir /mnt/winboot# 挂载win引导目录,为双系统做准备(win-efi-dir: win引导分区)使用df -h命令查看挂在情况:
df-hFilesystem size Use Avail Use% Mounted on /dev/sda2 119G 6M 119G1% /mnt /dev/sda2 119G 6M 119G1% /mnt/home /dev/sda2 119G 6M 119G1% /mnt/swap /dev/sda1 1G 4K 1G1% /mnt/boot /dev/win-efi-dir 1G 12M 300M1% /mnt/winboot三、硬盘分区&挂在(BIOS + GPT)
下面进行硬盘分区,因为不同硬件的引到方式不同,请根据自己的需求选择;这里是BIOS+GPT分区方式:
1. 硬盘分区
使用lsblk查看目前所有分区和挂在情况
lsblk-pfNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT /dev/sda8:00120G0disk如果磁盘类型不是GPT类型,首先进行转换:
parted/dev/sda mklabel gpt创建第一个分区为引导分区,大小为1-2M,如下:
parted/dev/sda mkpart primary ext4 1MiB 3MiB将分区类型改为bios_grub类型:
parted/dev/sdaset1bios_grub on# 1 表示第一个分区使用parted再查看一次,应该/dev/sda1存在bios_grub标志:
parted/dev/sdb print Number Start End Size File system Name Flags117.4kB 3049kB 3032kB ext4 bios_grub使用cfdisk软件创建另外一个分区:
cfdisk/dev/sda# 使用所有的空间进行创建分区完成,选择[Wirte]选项,表示生效设置,并输入yes完成设置;再使用lsblk查看一下:
lsblk-pfNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT /dev/sda8:00120G0disk ├─ /dev/sda18:102m0part └─ /dev/sda28:20119G0part/dev/sda1:引导分区
/dev/sda2:系统安装分区
2. 硬盘格式化
分区1(/dev/sda1) 为BIOS 引导分区,这里不需要特殊格式,使用ext4即可:
mkfs.ext4-f/dev/sda1分区2(/dev/sda2) 作为系统安装分区,这里采用btrfs类型(也可以使用ext4类型):
mkfs.btrfs-f/dev/sda23. 创建子卷
即为根分区创建/、/home、/swap子卷
mount-tbtrfs-ocompress=zstd /dev/sda2 /mnt# 挂载 /dev/sda2 节点, 挂在以后可以创建子卷btrfs subvolume create /mnt/@# 创建 / 子卷,这里@表示根目录btrfs subvolume create /mnt/@home# 创建 /home 子卷,这里@表示根目录btrfs subvolume create /mnt/@swap# 创建 /swap 子卷,这里@表示根目录btrfs subvolume create /mnt/@boot# 创建 /boot 子卷,这里@表示根目录umount/mnt# 创建子卷完成,取消挂载4. 挂载文件系统
即挂载/、/home、/swap、boot
mount-tbtrfs-osubvol=/@,compress=zstd /dev/sda2 /mnt# 挂载根目录mount--mkdir-tbtrfs-osubvol=/@home,compress=zstd /dev/sda2 /mnt/home# 挂载home目录mount--mkdir-tbtrfs-osubvol=/@swap,compress=zstd /dev/sda2 /mnt/swap# 挂载swap目录mount--mkdir-tbtrfs-osubvol=/@boot,compress=zstd /dev/sda2 /mnt/boot# 挂载引导目录使用df -h命令查看挂在情况:
df-hFilesystem size Use Avail Use% Mounted on /dev/sda2 119G 6M 119G1% /mnt /dev/sda2 119G 6M 119G1% /mnt/home /dev/sda2 119G 6M 119G1% /mnt/swap /dev/sda2 1G 4K 1G1% /mnt/boot四、安装系统
1. 更新密钥
pacman-Syarchlinux-keyring2. 安装系统基础包
pacstrap-K/mnt base base-devel linux linux-firmware btrfs-progs3. 安装工具包
pacstrap /mnt networkmanagervimsudointel-ucode# amd 使用 amd-ucode4. 创建swap文件
swap交换可以使用交换文件、交换分区;这里采用交换文件:
btrfs filesystem mkswapfile--size16g--uuidclear/mnt/swap/swapfile# 启动 swap 文件swapon/mnt/swap/swapfile交换问价大小图表:
| RAM | No hibernation | With hibernation | Maximun |
|---|---|---|---|
| 1GB | 1GB | 2GB | 2GB |
| 2GB | 2GB | 3GB | 4GB |
| 3GB | 3GB | 5GB | 6GB |
| 4GB | 4GB | 6GB | 8GB |
| 5GB | 2GB | 7GB | 10GB |
| 6GB | 2GB | 8GB | 12GB |
| 8GB | 3GB | 11GB | 16GB |
| 12GB | 3GB | 15GB | 24GB |
| 16GB | 4GB | 20GB | 32GB |
| 24GB | 5GB | 29GB | 48GB |
| 32GB | 6GB | 38GB | 64GB |
| 64GB | 8GB | 72GB | 128GB |
| 128GB | 11GB | 139GB | 256GB |
| 256GB | 16GB | 272GB | 512GB |
| 512GB | 23GB | 535GB | 1TB |
| 1TB | 32GB | 1056GB | 2TB |
| 2TB | 46GB | 2094GB | 4TB |
| 4TB | 64GB | 4160GB | 8GB |
| 8TB | 91GB | 8283GB | 16TB |
5. 生成 fstab 文件
这一步可以让机器在开机的时候自动完成目录挂载
genfstab-U/mnt>/mnt/etc/fstab五、系统基本设置
下面的操作需要进入到安装好的系统里面进行操作;使用arch-chroot命令进入系统进行操作:
arch-chroot /mnt# 进入系统echoArchLinux>/etc/hostname# 设置主机名称ln-sf/usr/share/zoneinfo/Asia/Shanghai /etc/localtime# 设置时区hwclock--systohc# 同步时间(硬件时钟)vim/etc/locale.gen# 设置本地化,取消注释 en_US.UEF-8 UTF-8 和 zh_CN.UTF-8 UTF-8 这两行locale-gen# 使用命令生成echoLANG=en_US.UTF-8>/etc/locale.conf# 配置配置文件passwdwd# 设置管理原密码;输入两次密码即可安装系统引导程序(UEFI + GPT)
下面进行引导安装,因为不同硬件的引到方式不同,请根据需求选择;这里是UEFI+GPT分区方式:
这里采用grub引导;首先安装响应的工具:
pacman-Sgrub efibootmgr os-prober# grub:引导程序;efibootmgr:efi管理工具;os-prober:搜索其他操作系统使用grub创建引导程序:
# --target:指定驱动类型(UEFI)# --efi-directory:驱动安装目录# --bootloader-id:启动项名称grub-install--target=x86_64-efi --efi-directory=/boot --bootloader-id=ArchLinux001修改grub源文件,此文件是生成配置的时候需要(这一步不修改也行):
vim/etc/default/grub# 这里修改日志等级;禁用内核看门狗,提升启动速度# intel修改: GURB_CMDLINE_LINUX_DEFAULT="loglevel=5 nowatchdog modprobe.blacklist=sp51_tco"# amd修改: GURB_CMDLINE_LINUX_DEFAULT="loglevel=5 nowatchdog modprobe.blacklist=iTCO_wdt"# 取消注释 GURB_DISABLE_PROBER=false;设立是开启搜索其他操作系统生成grub配置文件:
grub-mkconfig-o/boot/grub/grub.cfg安装系统引导程序(BIOS + GPT)
下面进行引导安装,因为不同硬件的引到方式不同,请根据需求选择;这里是BIOS+GPT分区方式:
这里采用grub引导;首先安装响应的工具:
pacman-Sgrub os-proberparted# grub:引导程序;os-prober:搜索其他操作系统;parted:分区工具使用grub创建引导程序:
# --target:指定驱动类型(BIOS)# --efi-directory:驱动安装目录grub-install--target=i386-pc --boot-directory=/boot /dev/sda# 将分区设置为可引导parted/dev/sdaset1boot on修改grub源文件,此文件是生成配置的时候需要(这一步不修改也行):
vim/etc/default/grub# 这里修改日志等级;禁用内核看门狗,提升启动速度# intel修改: GURB_CMDLINE_LINUX_DEFAULT="loglevel=5 nowatchdog modprobe.blacklist=sp51_tco"# amd修改: GURB_CMDLINE_LINUX_DEFAULT="loglevel=5 nowatchdog modprobe.blacklist=iTCO_wdt"# 取消注释 GURB_DISABLE_PROBER=false;设立是开启搜索其他操作系统生成grub配置文件:
grub-mkconfig-o/boot/grub/grub.cfg六、完成安装
到这里就已经完成安装了;使用一下命令进行重启:
exit# 退出 arch-chroot 操作reboot# 重启启动首先创建一个普通,方面后面安装界面环境使用此账号进行登陆:
useradd-m-gwheel username# 添加账号,username: 用户名passwdusername# 为此账号设置密码EDITOR=vim visudo# 让普通账号可以使用sudo升级权限,去除 # %wheel ALL=(ALL:ALL) ALL 注释重启以后,可以使用root进入系统;先联网:
systemctlenable--nowNetworkManager如果使用的是网线,那么此时应该是有网络的,如果使用的是wifi使用下面的命令连接wifi即可:
wifiname:wifi名称 wifipwd:wifi密码 nmcli dev wifi connect wifiname password wifipwd此时我们安装一下fastfetch可以获取系统信息;同时可以安装一下lolcat即cat增强版;cmatrix黑客帝国代码雨
pacman-Sfastfetch lolcat cmatrix ghostty参考:https://wiki.archlinuxcn.org/wiki/%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97