安装前要做的事
如果你不知道安装前需要注意什么,请阅读此文章
:warning:注意:
- 本教程为常规的archlinux安装教程,采用grub引导加ext4分区的方式安装,如果你想使用btrfs分区和更高级的引导方式,请暂时参考ArchWiki
- 本教程安装完成以后你只能得到一个没有GUI的archlinux操作系统,不过你可以阅读后面的文章来学习如何安装GUI。
验证自己的计算机是否满足安装Arch Linux的要求
确保自己的计算机支持UEFI启动
确保自己的CPU使用的是x86_64架构(必须为64位CPU)
如果不能同时满足以上两种要求,请勿参考此文档,不然作者不能保证安装成功。
从镜像站下载Arch Linux ISO镜像文件
:warning:注意:
- 无论从哪个镜像站下载,请务必验证镜像的
sha256
哈希值,确保下载的archlinux iso没有被恶意修改。
sha256验证
Windows用户按下{Win}
+{X}
,然后按{A}
打开PowerShell
,然后运行以下命令
Get-FileHash C:\Users\Administrator\Download\archlinux-x86_64.iso
Linux用户使用{Ctrl}
+{Alt}
+{T}
打开终端,macOS用户使用{Command}
+{Space}
,然后搜索Terminal
打开终端并运行以下命令
sha256sum $HOME/Downloads/archlinux-2022.05.01-x86_64.iso
刻录iso镜像到硬盘
- 推荐的刻录工具
刻录工具 | 下载链接 | Windows | macOS | Linux |
---|---|---|---|---|
BalenaEtcher | https://www.balena.io/etcher/ | 支持 | 支持 | 支持 |
rufus | https://rufus.ie/zh/ | 支持 | 不支持 | 不支持 |
dd命令 | Linux自带工具 | 不支持 | 不完美支持 | 支持 |
启动盘刻录工具 | 在各个Linux发行版本通常可以找到 | 可能不支持 | 可能不支持 | 支持 |
- dd命令使用教程
将U盘插入你的Linux计算机,然后备份全部数据到计算机
运行lsblk
查看你的驱动器
假设你的U盘是/dev/sdb
,archiso下载到了/home/username/Downloads/archlinux-2022.05.01-x86_64.iso
,此时你需要运行以下命令完成刻录
sudo dd bs=4m if=/home/username/Downloads/archlinux-2022.05.01-x86_64.iso of=/dev/sdb
- 除了dd命令以外,其他的刻录工具均为易于使用的GUI图形界面,本文就不再教大家如何使用。
:warning:注意:
- 使用dd命令时必须使用绝对路径,禁止使用相对路径(如
~/
、$HOME/
、./Downloads
等)- UltraISO为老牌的光盘创建软件且为专有软件,有一些缺陷,所以不在本文的讨论范围中
- 无论使用哪一种刻录工具进行刻录,都必须在刻录前进行
sha256
校验
关闭UEFI安全启动
开机以后按F2
进入Bios(部分计算机为delete
键)
找到安全选项(英文Bios设置选项为Security)
关闭安全启动Secure Boot
(小米的笔记本如需关闭安全启动必需先设置Bios密码)
连接网络
有线连接
最新版本的archlinux目前支持有线连接和无线连接,当你将计算机通过网络电缆或USB网络共享连接接以后,通常你就可以正常的连接网络了
无线连接
:warning:警告:
- 在进行无线连接的过程中,请确保你的Wi-Fi SSID没有中文等特殊字符,不然会显示异常,而且会因为无法输入SSID而导致无法正确的连接网络!
运行以下命令判断无线网卡是否正常工作
rfkill list
如果无法工作,则使用以下命令解除限制,假设无线网卡是wlan0
:
rfkill unblock wlan0
如果你知道你的Wi-Fi SSID,你可以直接使用此命令进行连接
iwctl --passphrase mypassword station wlan0 connect mywifi
如果你忘记了你的Wi-Fi SSID和密码,请使用以下命令
# 进入iwctl控制台
iwctl
"""以下命令均在iwctl环境下运行"""
# 列出你的所有Wi-Fi无线设备
devices list
# 此处假设你的无线设备名是wlan0,则你需要运行以下命令来扫描附近的Wi-Fi热点
station wlan0 scan
# 扫描完成以后,运行以下命令列出所有的SSID(中文名的SSID会显示乱码,如果你使用的Wi-Fi热点为中文名,请更改SSID或使用其他方式连接SSID)
station wlan0 get-networks
# 如果你要连接的Wi-Fi 的SSID是mywlan,你需要运行以下命令来连接到Wi-Fi
station wlan0 connect mywlan
# 输入密码,然后回车即可,如果没有密码可以直接回车
验证你的网络连接
ping -c 3 https://archlinux.org/
- 当你完成以上所有步骤,你就可以正常安装archlinux了
安装准备阶段
配置软件源和时区
关闭reflector
请运行以下命令关闭reflector服务
systemctl stop reflector
:warning:注意:
- 无论使用哪一种安装方式,都建议你关闭reflector
- 如果不关闭reflector服务,则archiso会不定期的更新软件源,可能会导致下载速度突然变慢等问题。
设置时区
timedatectl set-ntp true
将软件源切换为中国
curl -L -o /etc/pacman.d/mirrorlist "https://archlinux.org/mirrorlist/?country=CN"
然后编辑/etc/pacman.d/mirrorlist
,反注释其中一个或多个链接。
磁盘分区
了解自己的硬盘是NVME还是SATA或老式的IDE硬盘
运行lsblk
查看你的硬盘,可能的磁盘格式如下所示:
硬盘类型 | 可能的格式 | 可能的分区格式 | 可能的多硬盘格式 |
---|---|---|---|
IDE硬盘 | /dev/hda | /dev/hda1 | /dev/hdb |
SATA硬盘 | /dev/sda | /dev/sda1 | /dev/sdb |
NVME硬盘 | /dev/nvme0n1 | /dev/nvme0n1p1 | /dev/nvme1 |
虚拟机硬盘 | /dev/vda | /dev/vda1 | /dev/vdb |
博主使用的是nvme硬盘,所以本博客也使用nvme硬盘做演示
如果你的硬盘是普通的sata硬盘或更老的ide硬盘,请根据自己的电脑情况手动修改
进行分区
cfdisk /dev/nvme0n1
建议的分区格式
分区 | 挂载点 | 建议大小 |
---|---|---|
efi | /boot/efi | 300M |
boot | /boot | 500M |
根分区 | / | 剩余空间 |
交换分区 | NONE | 10G |
分区完成以后选择write
,然后输入yes
:warning:注意
- 如果你的磁盘上有Windows或其他Linux分区,请格外小心,博主不为不小心操作导致的数据损失负任何责任!
- 交换分区分区已提前激活,分区时无需挂载交换分区
安装基本系统
pacstrap -i /mnt base base-devel linux linux-firmware vim nano # 后面可以根据需要加入其他软件包
:warning:注意
- 安装vim和nano是因为需要修改配置文件,然而arch linux不带vim和nano, 需要手动安装,你也可以安装自己喜欢的命令行文本编辑器而不安装vim和nano。
安装后需配置fstab,这里使用genfstab
自动配置并使用tee
输出配置,这个命令可以省去检查fstab文件的步骤
genfstab -U /mnt | tee -a /mnt/etc/fstab
chroot切换到新系统
arch-chroot /mnt /bin/bash # 此处的/bin/bash为arch默认使用的终端,也可以省略或者是换成自己喜欢的终端。
安装阶段
配置语言
配置本地语言vim /etc/locale.gen
在结尾追加或反注释
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
写入或反注释以后,你应该运行locale-gen
应用配置,然后运行运行echo LANG=en_US.UTF-8 >> /etc/locale.conf
来改变当前计算机的语言。
:warning:注意
- 不设置中文的原因是因为tty环境下可能会出现中文乱码,安装桌面时会安装中文字体并修改相关内容,如果你使用的是ssh远程安装且ssh中可以正常显示中文,请忽略此警告。
设置时区
本地时区配置ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
设置硬件时钟hwclock --systohc --utc
设置主机名
编辑/etc/hostname
,写入myhostname
其中myhostname代表你的主机名,如果不配置,默认为archlinux 建议配置主机名
当你进入KDE Plasma桌面时,如果未配置主机名,可能会出现无法打开GUI应用程序的问题
设置hosts
编辑/etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 myhostname.localdomain myhostname
引导系统
运行pacman -S os-prober
,如果使用archlinux单系统或者是不想用arch linux引导其他系统则可以省略此步骤
下载grub安装时所必需的文件pacman -S dosfstools grub efibootmgr
安装grubgrub-install --target=x86_64-efi --efi-directory=/boot/efi --recheck
如果最后提示no error reported则说明grub安装成功
运行grub-mkconfig -o /boot/grub/grub.cfg
更新grub
用户配置
配置root用户
设置root密码passwd
配置默认用户
添加用户useradd -m -G wheel -s /bin/bash username
设置用户密码(可以和root相同)passwd username
配置默认编辑器为vim或你喜欢的编辑器。
sudo ln -sf /usr/bin/vim /usr/bin/vi # 如果你使用vi,请忽略此命令。
为用户添加sudo权限visudo
反注释%wheel ALL=(ALL) ALL
如果想在输入密码时显示星号,可以追加Defaults env_reset,pwfeedback
注意
- usename为用户名
- 如果没有设置星号,输入密码时不显示密码是正常现象
- 编辑/etc/sudoers时请用visudo,不要用vim直接编辑,不然可能会导致用户权限出现异常
网络配置
无线网络
安装wifi驱动pacman -S netctl iw wpa_supplicant dialog iwd
目前仅需要安装以下软件包即可pacman -S iwd networkmanager
博通网卡请安装这个驱动(常用于MacBook用户或黑苹果用户)pacman -S broadcom-wl
,如果你使用的是linux-headers
和dkms
,你应当安装broadcom-wl-dkms
来代替broadcom-wl
。
安装好以后,需要启动以下服务:
systemctl enable NetworkManager
systemctl enable iwd
有线网络
安装有线网卡驱动pacman -S dhcp dhcpcd netwkrkmanager
目前仅需要安装以下驱动即可pacman -S netwotkmanager
systemctl enable NetworkManager
退出chroot并重启计算机
# 退出chroot
exit
# 重启系统
reboot
:warning:注意:
- 运行reboot命令重启后,请移除安装介质
- 此步骤仅仅是安装了一个功能完整的无GUI的Arch Linux,如果你想安装GUI、驱动等,请看接下来的文章来安装。