🛠️ 准备工作
🔍 检查是否为 UEFI 启动模式
ls /sys/firmware/efi/efivars |
看是否有文件存在有则为uefi,如果提示:
ls: cannot access '/sys/firmware/efi/efivars': No such file or directory
表示系统不是以 UEFI 模式启动,而是 Legacy BIOS 模式 启动。
🌐 检查网络配置
ip a |
若 VPS 不支持 DHCP,需要手动配置 IP,请记下相关参数(IP 地址、子网掩码、网关、DNS 等)
💾 查看磁盘情况
lsblk |
我这里 sda15 为 EFI 分区,sda1 为根分区
🧰 安装必要工具
zstd wget |
📥 下载 Arch Linux Bootstrap 系统
wget https://mirror.xtom.com.hk/archlinux/iso/latest/archlinux-bootstrap-x86_64.tar.zst |
下载慢可以从其它镜像源下载
📦 解压并挂载
切换到root用户
sudo su |
创建/arch
为工作目录
mkdir /arch |
这里也可以用
/tmp
作为工作目录
解压:
tar -x --zstd -f archlinux-bootstrap-x86_64.tar.zst -C /arch |
会有两条警告不影响操作
挂载:
mount --bind /arch/root.x86_64 /arch/root.x86_64 |
🪞 编辑软件源
vim /arch/root.x86_64/etc/pacman.d/mirrorlist |
🧪 进入的临时Arch环境
⛓️ 进入临时环境
/arch/root.x86_64/bin/arch-chroot /arch/root.x86_64/ |
🌐 配置 DNS
umount /etc/resolv.conf |
🔐 初始化并刷新密钥
pacman-key --init |
🧱 安装 Arch Linux
💽 挂载目标分区
mount /dev/sda1 /mnt |
🧹 删除原系统
删除/mnt下原系统文件只保留 dev proc run sys tmp arch
如果存在swap文件无法删除可以用swapoff关闭
cd /mnt |
删除完用ls -la
查看
🧷 UEFI 系统专用 (挂载 EFI 分区)
mkdir -p boot/efi |
📦 安装基础系统和必要包
pacstrap /mnt linux base linux-firmware vi vim openssh sudo grub dhcp |
linux-firmware可选,如果不用dhcpcd
dhcp也不用装
📦 安装常用工具包
pacstrap /mnt base-devel wget fastfetch unzip zip nftables cronie |
🌐 UEFI 系统额外工具
pacstrap /mnt efibootmgr os-prober |
🧾 生成 fstab
genfstab -U /mnt > /mnt/etc/fstab |
⚙️ 切换到安装好的 Arch Linux 继续配置
📥 进入新系统环境
arch-chroot /mnt |
🔐 设置 root 密码
passwd |
🧾 查看并检查 fstab
cat /etc/fstab |
🌏 设置时区
ln -sf /usr/share/zoneinfo/Asia/Singapore /etc/localtime |
🌐 配置语言
sed -i 's/^#zh_CN.UTF-8 UTF-8/zh_CN.UTF-8 UTF-8/' /etc/locale.gen |
🧰 安装并配置 GRUB 引导
BIOS 安装方式
grub-install --target=i386-pc /dev/sda |
i386-pc 是 BIOS 模式的 GRUB 平台目标(不是 32 位 CPU)
/dev/sda 是整个硬盘,不要写成 /dev/sda1(那是分区)
如果你的硬盘是 NVMe,应该写成 /dev/nvme0n1
UEFI 安装方式
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ARCH |
生成 grub 配置文件
grub-mkconfig -o /boot/grub/grub.cfg |
🌐 配置网络服务
VPS支持dhcp自动获取ip时:
用DHCP
工具获取,直接开机启动即可
systemctl enable dhcpcd |
也可以用自带的systemd-networkd
vim /etc/systemd/network/wan.network |
最佳的简单的dhcp配置示例(如果只想设置特定接口,可以写:Name=enp0s3 之类的):
[Match] |
启用systemd-networkd服务
systemctl enable systemd-networkd |
VPS不支持dhcp自动获取ip时:
vim /etc/systemd/network/wan.network |
我的配置仅供参考,请根据自己的网络环境正确配置,否则会失联(失联可以用vnc救):
[Match] |
启用systemd-networkd服务
systemctl enable systemd-networkd |
🔐 配置 SSH 服务
编辑 SSH 配置文件
vim /etc/ssh/sshd_config |
常见项目解释
Port 22 # SSH 端口,可改为其他提高安全性 |
启用服务
systemctl enable sshd |
👤 创建非 root 用户(可选)
创建用户 micc 并加入到 wheel 组
useradd -G wheel -m micc |
让 wheel 用户组可以使用 sudo
visudo |
取消注释其中一行
# %wheel ALL=(ALL:ALL) ALL # 需要输入密码,推荐使用 |
🔁 重启系统
使用 sysrq
强制重启(需要内核支持)
echo b > /proc/sysrq-trigger |
如果控制台下重启无效,需通过VPS面板操作重启
最好有vnc,如果网络配置错误会失联
😊后续配置
配置dns
重启成功后配置 DNS不然可能没网
ln -sf ../run/systemd/resolve/stub-resolv.conf /etc/resolv.conf |
删除之前的工作目录
rm -rf /arch |
添加Arch Linux CN 软件仓库
在 /etc/pacman.conf
文件末尾添加Arch Linux CN源
[archlinuxcn] |
本地信任 farseerfc 的 GPG key:
pacman-key --lsign-key "farseerfc@archlinux.org" |
安装 archlinuxcn-keyring
包导入 GPG key
pacman -Sy archlinuxcn-keyring |
shell配置
设置 vim 为默认编辑器如果你用的是 bash(默认 shell):
echo 'export VISUAL=vim' >> ~/.bashrc |
禁用当前 shell 的历史记录保存功能:
echo 'export HISTFILE=/dev/null' >> ~/.bashrc |
登陆显示fastfetch:
echo 'fastfetch' >> ~/.bashrc |
然后让配置生效:
source ~/.bashrc |