好多提供 VPS SERVER 的公司, 一般都沒有 ArchLinux 選擇 , 但有另一方法做到間接安裝 ArchLinux , 好把現在開始動手做
前提你的SERVER 最少有2G Ram 才可以用這方法 , 因為會用 RAM DISK 來做 BOOT UP 太少 RAM 不能把 ArchLinux 臨時系統方上去
Grml安装
Grml 是一個基於 Debian 的可引導即時系統 (Live-CD),Grml 內置很多適用於系統管理員的 GNU/Linux 軟體,Grml 特別適合於安裝、部署和系統救援等管理任務,而 grml-rescueboot 可以幫你輕鬆完成 GRUB 引導 ISO 的配置,方便隨時引導 Grml Live Linux.
伺服器需要先安裝 Debian 系統,在自己的伺服器雲控制台選擇 Debian12 安裝
登入後安裝 grml-rescueboot
apt -y update
apt -y install grml-rescueboot
下載 grml 的 iso image file ( 我建議用 small 如果剛剛是2G RAM , full 可能不成功的, 因為我就是試了很多次, 用small 就能完成)
# 可以使用如下命令自動下載最新的 grml iso, 但是這個只能下載 full 版本的 iso update-grml-rescueboot
# 如果機器內存較小, 我們可以手動下載並使用 small 版本的 iso
cd /boot/grml
wget https://mirror-hk.koddos.net/grml/grml-small-2025.08-amd64.iso
編輯設定檔, 在這個設定檔裡面我們需要設定 boot live-cd ssh 密碼等一些資訊
vi /etc/default/grml-rescueboot
對於原系統是 debian 的, 並且使用 ifupdown 來管理網路的機器, 可以在啟動選項裡面使用 debnet, 這樣 grml 就會自動將原系統內的 interfaces 設定檔複製到 grml 內使用
修改 CUSTOM_BOOTOPTIONS 內容 ( 選擇合適的情況 )
CUSTOM_BOOTOPTIONS="ssh=password lang=us keyboard=us tz=Asia/Hong_Kong debnet toram"
如果原系統的閘道 ip 不在同一網段, grml 將無法新增預設路由, 在啟動選項裡面加入 services=networking 即可解決
CUSTOM_BOOTOPTIONS="ssh=password lang=us keyboard=us tz=Asia/Hong_Kong services=networking debnet toram"
如果原系統不是 debian, 但只要網路支援 dhcp, 你還可以使用下面的配置
CUSTOM_BOOTOPTIONS="ssh=password lang=us keyboard=us tz=Asia/Hong_Kong toram"
還可以配置使用靜態位址
CUSTOM_BOOTOPTIONS="ssh=password lang=us keyboard=us tz=Asia/Hong_Kong toram ip=192.168.1.100::192.168.1.1:255.255.255.0:myhostname:eth0:off dns=8.8.8.8,8.8.4.4"
更新 grub 配置
update-grub
讓 SERVER 下一次啟動的時候引導 grml
# 使用 full iso 的使用如下命令
grub-reboot "Grml Rescue System (grml-full-2025.08-amd64.iso)"
# 使用 small iso 的使用如下命令
grub-reboot "Grml Rescue System (grml-small-2025.08-amd64.iso)"
完成後 REBOOT , 最好用 VPS 供應商的 VNC CONSOLE , 可以觀察 BOOT 機情況 , 有時因為其他因數SSH 未別能成功啟動
reboot




見到這個畫面你可以按 e 修改 network 訊息
當你完成了這步驟可以試試向外 ping 下, 例如: ping yahoo.com 如果成功的話就可以用 SSH 連接了
Arch安裝
- 下面的所有操作步驟都是在 Grml live 系統裡面完成, 確保上述的配置完成, 首先下載 archlinux-bootstrap 並解壓
cd /tmp wget https://geo.mirror.pkgbuild.com/iso/latest/archlinux-bootstrap-x86_64.tar.zst

由於整個 grml live 系統運行在記憶體裡, 解壓完成後務必刪掉壓縮包, 保證記憶體空間充足 ( 所以選擇 small iso 會好一點 )
剛下載的 file 放在 tmp folder , 在 tmp folder 解壓 , 除即 delete 該壓縮檔騰出寶貴的空間做接下來的設定
tar -I zstd -xvf archlinux-bootstrap-x86_64.tar.zst
rm archlinux-bootstrap-x86_64.tar.zst
修改 ArchLinux Source 配置檔
vim /tmp/root.x86_64/etc/pacman.d/mirrorlist
請選擇你的 VPS 所在地國家 , 這樣軟件 update 會快一點 例如: 在香港可選以下的 source , 把開頭的 # 去除
## Hong Kong
Server = https://asia.mirror.pkgbuild.com/$repo/os/$arch
#Server = http://mirror-hk.koddos.net/archlinux/$repo/os/$arch
#Server = https://mirror-hk.koddos.net/archlinux/$repo/os/$arch
#Server = http://hkg.mirror.rackspace.com/archlinux/$repo/os/$arch
#Server = https://hkg.mirror.rackspace.com/archlinux/$repo/os/$arch
#Server = https://arch-mirror.wtako.net/$repo/os/$arch
#Server = http://mirror.xtom.com.hk/archlinux/$repo/os/$arch
#Server = https://mirror.xtom.com.hk/archlinux/$repo/os/$arch
避免 chroot 後提示硬碟空間不足 , 所以用 small image 會穩妥一點
mount --bind root.x86_64 root.x86_64
chroot
/tmp/root.x86_64/bin/arch-chroot /tmp/root.x86_64/
初始化key
pacman-key --init
pacman-key --populate archlinux
更新系統並安裝分區需要用到的工具
pacman -Syyu
pacman -S dosfstools parted
分區 , 我的 VPS SERVER 是 bios 引導 ,所以我會用 # bios 的分割硬碟
# 首先將磁碟轉換為 gpt 類型, 這裡假設比如你想安裝的磁碟名稱為 vda, 如果你使用 NVME 的固態硬碟, 你看到的磁碟名稱可能為 nvme0n1
lsblk # 顯示分區情況 找到你想安裝的磁碟名稱
parted /dev/vda # 執行 parted,進入互動式命令行,進行磁碟類型變更
(parted)mktable # 輸入 mktable
New disk label type? gpt # 輸入 gpt 將磁碟類型轉換為 gpt 如磁碟有數據會警告, 輸入 yes 即可
quit # 最後 quit 退出 parted 命令列互動
cfdisk /dev/vda # 來執行分區操作, 分配各個分區大小, 類型
# bios 引導需要分 BIOS boot, Linux Swap, Linux filesystem
# uefi 引導需要分 EFI System, Linux Swap, Linux filesystem
fdisk -l # 分區結束後, 复查磁碟情況



記得要 type 修改每個分區的 format , 頭 1M 是 bios 引導用 , 2G 是 swap , 其他是系統空間
格式化 , 如果不是 UEFI 引導就不用理會那些註明 uefi 的
mkfs.ext4 /dev/vda3 # 格式化根目錄
mkfs.vfat /dev/vda1 # 格式化 efi 分區, 僅 uefi 引導需要mkswap /dev/vda2 # 初始化 swap 分區
mount /dev/vda3 /mnt # 挂載分區
swapon /dev/vda2 # 啟用 swap
# 僅 uefi 分區需要
mount --mkdir /dev/vda1 /mnt/efi
安裝基本套件
pacstrap /mnt base base-devel linux linux-headers linux-firmware dhcpcd iwd vim bash-completion grub openssh
生成 fstab 設定檔
genfstab -U /mnt >> /mnt/etc/fstab
執行 退出 chroot 環境
exit
重新進入 chroot , 現在的 chroot 是指向剛格式化及安裝了基本套件的硬碟
/tmp/root.x86_64/bin/arch-chroot /tmp/root.x86_64/mnt
時區配置
ln -sf /usr/share/zoneinfo/Asia/Hong_Kong /etc/localtime
hwclock --systohc
systemctl enable systemd-timesyncd.service
設定語言環境, 放開 en_US. UTF-8 所在行以及 zh_HK. UTF-8 所在行的註釋符號
vim /etc/locale.gen
用如下命令生成locale
locale-gen
向 /etc/locale.conf 導入內容
echo 'LANG=en_HK.UTF-8' > /etc/locale.conf
設置主機名
# 加入你想為主機取的主機名,例如: ArchLinux
vim /etc/hostname
# 同時在 /etc/hosts 設置與其匹配的條目
vim /etc/hosts
# 加入如下内容
127.0.0.1 localhost
::1 localhost
127.0.1.1 ArchLinux
設置網路, ip 位址可使用 列出當前ip資訊作參考 ip addr
vim /etc/systemd/network/20-wired.network
沒有 ipv6 的就把 ipv6 address and route delete
[Match]
Name=eth0
[Network]
Address=xx.xx.xx.xx/24
Address=xxx:xxx:xxx:xxx:xxx:xxx:xxx:xxx/80
IPv6AcceptRA=no
[Route]
Gateway=x.xx.xx.1
GatewayOnLink=yes
[Route]
Gateway=xxx:xxx:xxx::1/80
GatewayOnLink=yes

如果網路支援dhcp, systemd-networkd的 dhcp 配置可如下配置
[Match]
Name=eth0
[Network]
DHCP=yes
設置 systemd-networkd 開機自啟
systemctl enable systemd-networkd
配置 dns
vim /etc/resolv.conf
nameserver 8.8.8.8
nameserver 1.1.1.1
nameserver 8.8.4.4
nameserver 1.1.4.4
設置 root 用戶名密碼
passwd root
設置 ssh 服務
vim /etc/ssh/sshd_config
PermitRootLogin yes #允許root用戶使用密碼登錄
設置sshd開機自啟
systemctl enable sshd
安裝 grub
用 bios 引導的如下
pacman -S grub
grub-install --target=i386-pc /dev/vda
用 UEFI 引導的如下
pacman -S grub
如果使用 uefi 引導, 則還需要安裝 efibootmgr
pacman -S efibootmgr
# 然後使用下面的命令安裝 grub
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB
編輯grub配置檔案
vim /etc/default/grub
去掉 GRUB_CMDLINE_LINUX_DEFAULT 參數的 quit# 添加 net.ifnames=0(避免機器重啟後, 網卡介面名稱無法與 systemd-networkd 內配置的介面名稱相匹配, 從而導致機器失聯)

重新生成grub主配置檔案
grub-mkconfig -o /boot/grub/grub.cfg
退出 chroot 環境並重啟
exit
shutdown -r now
完成後 , 你就擁有一個滾動更新的LINUX系統
