在 KVM/XEN 虚拟机上安装 Archlinux

日期: 04 月 04日, 2016
标签:

本文适用于在 KVM/XEN 等全虚拟化平台上安装 Archlinux,测试过的平台包括美团云、DigitalOcean、OpenStack、VPS.TO、阿里云。

注意:DigitalOcean、VPS.TO、阿里云的 IP 地址为手动配置,操作前需要先备份 IP 地址、网关等信息;DigitalOcean 需要选择 Debian 8 作为初始镜像,否则启动时会跳过 GRUB,直接引导内核。

下载镜像:

cd /
wget http://mirrors.ustc.edu.cn/archlinux/iso/2016.04.01/archlinux-2016.04.01-dual.iso

编辑 /boot/grub/grub.cfg,在第一个 menuentry 前,添加下面的内容。注意,XEN 平台(如阿里云)中 /dev/vda1 需要替换为 /dev/xvda1

set timeout=30
menuentry "Archlinux Live (x86_64)" {
    insmod iso9660
    set isofile=/archlinux-2016.04.01-dual.iso
    loopback lo0 ${isofile}
    linux (lo0)/arch/boot/x86_64/vmlinuz archisolabel=ARCH_201604 img_dev=/dev/vda1 img_loop=${isofile} earlymodules=loop
    initrd (lo0)/arch/boot/x86_64/archiso.img
}

重启,打开网页端 VNC 控制台,应该能看到 GRUB 启动界面,选择 Archlinux,稍后即可进入 Archlinux 的 Live 环境。

配置网络:

# 美团云、OpenStack:
dhcpcd <IFNAME>

# DigitalOcean、VPS.TO、阿里云
ip addr add <IFADDR> dev <IFNAME>
ip route add default via <GATEWAY> dev <IFNAME>
echo 'nameserver 8.8.8.8' >/etc/resolv.conf

挂载磁盘:

# XEN 平台把 /dev/vda1 替换为 /dev/xvda1
mount -o rw,remount /dev/vda1
# 删除原有系统的文件,注意不要删除 archlinux-2016.04.01-dual.iso
cd /run/archiso/img_dev
rm -rf bin boot dev etc ...

之后,参照 Install from SSH 安装 Archlinux 到 /run/archiso/img_dev 下面即可。