archlinux的基本安装
停止reflector服务 禁止自动更新服务器列表
1
| systemctl stop reflector.service
|
检查电脑是否支持UEFI引导模式
1
2
| ls /sys/firmware/efi/efivars
# 提示:如果没有报错就是支持UEFI
|
连接网络
有线连接
直接插上网线就可以自动联网了
无线网络(wifi)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| # 是否启用了网络接口
ip link
# 执行 iwctl 命令,进入交互式命令行
iwctl
# 列出设备名,比如无线网卡看到叫 wlan0
device list
# 用 wlan0 网卡扫描网络
station wlan0 scan
# 列出网络
station wlan0 get-networks
# 连接网络名字 输入密码
station wlan0 connect 无线网名字
# 成功后退出
exit或者quit
|
连接成功后ping一下百度是否有网
同步时间
1
2
3
4
| # 同步网络时间
timedatectl set-ntp true
# 提示:检查是否成功 看到(system clock synchronized :yes)这一句就是成功了
timedatectl status
|
修改软件源
1
| vim /etc/pacman.d/mirrorlist
|
分区
fdisk分区
1
2
3
4
| # 查看磁盘分区
lsblk
# 分区
fdisk /dev/sda
|
cfdisk分区
现在使用 cfdisk 分区有主分区和扩展分区,如果超过4 个主分区,那么就需要在扩展分区上进行分区。
例子:2G扩展分区(1G的 /boot 分区,1G 的 /boot/efi 分区),16G主分区(swap 交换分区),500G主分区 ( /home 分区),482G主分区( 根分区)
一般分区都有跟分区(/)、交换分区(swap)、引导分区(boot)
格式化分区
EFI 分区
两个选择其中一个
1
2
| # mkfs.fat -F32 /dev/sda1 和 mkfs.vfat /dev/sda1
mkfs.vfat /dev/sda1
|
swap 分区
普通分区
1
2
3
4
5
| # 使用 ext4 格式格式化
mkfs.ext4 /dev/sda3
# 使用 btrfs 格式进行格式化
mkfs.btrfs -f -L arch /dev/sda3
|
- btrfs
-f :强制格式化为 btrfs 格式-L : 表示分区 label (可以自定义),可以理解为 win 下的磁盘名称。
挂载分区
- 根据自己的分区情况进行挂载分区(尽量不要把usr目录挂载出去,如果挂载出去是不能开机的(网上也有教程是可以挂载的,我没有试过)),一般挂载第三方应用安装目录(opt)、临时文件目录(tmp)
挂载根分区
btrfs 格式化挂载方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| # 先挂载 /dev/sda3 分区。注意: 这个分区是 btrfs 分区,也是我的根分区
mount -t btrfs -o compress=zstd /dev/sda3 /mnt
# 创建两个子卷
btrfs subvolume create /mnt/@
btrfs subvolume create /mnt/@home
# 查看创建的子卷,-p : 指定哪个分区
btrfs subvolume list -p /mnt
# 卸载 /dev/sda3 分区
umount /mnt
# 挂载根目录
mount -t btrfs -o subvol=/@,compress=zstd /dev/sda3 /mnt
# 挂载 home 目录
mkdir /mnt/home
mount -t btrfs -o subvol=/@home,compress=zstd /dev/sda3 /mnt/home
# 挂载 EFI 分区
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
# 挂载 swapon 分区
swapon /dev/sda2
|
信息
快照工具 timeshift 只支持 /@ 这种子卷布局,如果采用不同的布局,thimeshift 可能会存在问题。
ext4 格式化挂载方法
1
2
3
4
5
| # 挂载
mount /dev/sda3 /mnt
swapon /dev/sda2 请用swap分区
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
|
安装内核
1
2
3
4
5
6
| # 往/mnt目录里安装系统
# 其中最基础的四个包是 base base-devel linux linux-firmware
# linux-lts (lts:稳定版)
# 如果内核安装了稳定版,那么独显也要是稳定版的,要不然就会发生问题(我也不知道什么问题)
# 如果使用 btrfs 分区需要安装 btrfs-progs
pacstrap /mnt base base-devel linux linux-firmware nvim btrfs-progs
|

配置系统
Fstab
1
2
| # 生成 fstab文件 (用 `-U` 或 `-L` 选项设置 UUID 或卷标)
genfstab -U /mnt >> /mnt/etc/fstab
|
信息
在执行完以上命令后,检查一下生成的 /mnt/etc/fstab 文件是否正确。
Chroot
1
2
| # chroot到新安装的系统
arch-chroot /mnt
|
设置时区
1
2
3
4
5
6
| # ln -sf /usr/share/zoneinfo/Region(地区名)/City(城市名) /etc/localtime
# 设置上海时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 将硬件时钟调整为与目前的系统时钟一致
hwclock --systohc
|
本地化
修改 local.gen 文件
程序和库如果需要本地化文本,都依赖区域设置,后者明确规定了地域、货币、时区日期的格式、字符排列方式和其他本地化标准。
需在这两个文件设置:locale.gen 与 locale.conf。
编辑 /etc/locale.gen,然后取消掉 en_US.UTF-8 UTF-8 和其他需要的 区域设置前的注释#。
接着执行 locale-gen 以生成 locale 信息:
1
2
3
| vim /etc/locale.gen
# 更新locale
locale-gen
|
创建 locale.conf 文件
创建 locale.conf 文件,并编辑设定 LANG 变量,比如:
1
2
| vim /etc/locale.conf
LANG=en_US.UTF-8
|
警告: 不推荐在此设置任何中文 locale,会导致 tty 乱码。
例子:
1
2
3
| en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_SG.UTF-8 UTF-8
|
网络配置
创建hostname文件
1
2
3
4
5
| # 编辑 hostname,写入下面内容
vim /etc/hostname
# 写入内容
arch(主机名)
|
创建hosts文件
1
2
3
4
5
6
| # 编辑 hosts,写入下面内容
vim /etc/hosts
# 写入内容
127.0.0.1 localhost
::1 localhost
|
Root 密码
安装引导程序
安装 cpu微码和引导软件
1
2
3
| # 如果是amd的cpu 则输入amd-ucode
# os-prober 查找已安装的操作系统 推荐实体机上安装,如果不是双系统不需要安装
pacman -S intel-ucode grub efibootmgr
|
安装grub引导
1
2
| #安装grub引导
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ARCH
|
说明
- grub-install:
安装grub - –target=x86_64-efi :
目标架构x86架构64位 efi启动方式 若不确定使用uname -a 可以查看 - –efi-directory=/boot :
安装系统是 efi 分区挂载的文件目录。例如:我 efi 挂载到 /boot 目录下,这里就是 /boot,如果是 /boot/efi 目录下,那这里就要写成 /boot/efi - –bootloader-id=ARCH :
ARCH 是引导的别名,甚至这一段都可以不用写
生成grub
1
2
| # 生成grub ,如果没有 /boot/grub 目录就创建。(创建目录:mkdir /boot/grub)
grub-mkconfig -o /boot/grub/grub.cfg
|
安装软件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| # 连接网络相关的包,如果安装了 networkmanager 就不需要安装 dhcpd 。如果你使用的是 dhcpcd 那就需要结合 iwd 来使用 wifi,networkmanager 不需要 iwd。
dhcpcd iwd networkmanager
# 命令补全工具
bash-completion
# 网络工具
iproute2
#
zsh
# 查看系统信息命令
neofetch
# 安装
pacman -S networkmanager neofetch bash-completion
# 开机自启动网络管理。如果安装的是 dhcpd ,执行 systemctl enable dhcpcd
systemctl enable NetworkManager
|
退出
1
2
3
4
5
6
| #输入 exit 或按 Ctrl+d 退出 chroot 环境。
exit
#卸载被挂载的分区
umount -R /mnt
#重启
reboot
|