Arch Linux 离线安装教程

给一台没有网的设备安装 Arch Linux

虚拟机离线安装 Arch Linux


需要准备:

  • 可联网并使用 pacman 的 Arch Linux ( 可以是 Live 环境 )

  • 虚拟机 ( VMware 或 VirtualBox )


下载软件包 ( 此处使用虚拟机的 Live 环境 ):

先做好磁盘相关工作 ( lsblk 可以检查磁盘状态 ):

1
lsblk

接下来对磁盘进行操作

1
fdisk /dev/sda

出现 Command (m for help): 之后输入 n 创建分区

1
Command (m for help):n

之后一直按回车直到再次出现 Command (m for help): 之后输入 w 进行写入

1
Command (m for help):w

此时输入 lsblk 会出现一个新的分区

接下来将 sda1 分区进行格式化

1
mkfs.ext4 /dev/sda1

将该分区挂载到目录 /mnt

1
mount /dev/sda1 /mnt

进入到 /mnt 目录,并在该目录创建文件夹

1
2
3
cd /mnt
mkdir -p /mnt/var/lib/pacman/sync
mkdir -p /mnt/var/cache/pacman/pkg

下载存储库 ( 由于该目录挂载的是 sda1 分区,所以下载之后会保存在磁盘当中 )

1
pacman --root /mnt --cachedir /mnt/var/lib/pacman/pkg -Sy

下载软件包,此处为下载 base, linux, linux-firmware, grub, vim, dhcpcd 包,如果有需要其他的包可以在后面进行添加 ( Live 镜像里的包可以在此处看到 pkglist.x86_64.txt )

1
pacman --root /mnt --cachedir /mnt/var/cache/pacman/pkg -Sw base linux linux-firmware grub vim dhcpcd

下载好之后进行压缩

1
tar -czvf packages.tar.gz var

接下来可以用 pscp 等工具将该压缩包进行复制到当前计算机 ( 此处以 pscp 为例,将文件复制到 pscp 根目录 )

1
pscp -r root@192.168.x.x:/mnt/packages.tar.gz .

若在连接的过程中提示需要密码,则可以先在 Arch Linux 创建一个密码

1
passwd

该虚拟机可以作废了


安装软件包 ( 此处新建了一个 Arch Linux 虚拟机 )

安装系统

和刚才一样,先将磁盘进行分区,格式化

1
fdisk /dev/sda

fdisk 命令( 新建分区,写入 )

1
2
Command (m for help):n
Command (m for help):w

格式化,挂载,进入到该目录

1
2
3
mkfs.ext4 /dev/sda1
mount /dev/sda1 /mnt
cd /mnt

然后进行局域网传输 ( 或其他可行的方法 ),在当前计算机开启一个网页服务器 ( 可用 nginx, Visual Studio Code 的 Live Server 等 ),在 Arch Linux 里面根据当前计算机的 ip端口文件路径 输入命令,把当前计算机的 packages.tar.gz 文件传输到虚拟机里

1
curl -O 192.168.x.x:xx/path/to/packages.tar.gz

解压

1
tar -xzvf packages.tar.gz

此时可以输入 ls 检查当前目录

1
ls

接下来进行安装 ( 设置 /mnt 目录为根,软件包为 /mnt/var/cache/pacman/pkg )

1
pacman --root /mnt --cachedir /mnt/var/cache/pacman/pkg -S base linux linux-firmware grub vim dhcpcd

之后一直默认,进行安装

此处安装过程中会遇到错误如下:

因为 /mnt/dev 文件夹是空的,换句话说 /mnt/dev 没有和 Live 环境里的设备 /dev 进行绑定,因此需要进行绑定 ( 挂载虚拟文件系统 )

1
mount --bind /dev /mnt/dev

此外,另外2个目录也需要进行绑定

1
2
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys

再次进行安装

1
pacman --root /mnt --cachedir /mnt/var/cache/pacman/pkg -S base linux linux-firmware grub vim dhcpcd

安装完成之后即可进入该系统

1
arch-chroot /mnt

设置时区

例如设置为上海

1
2
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc

本地化

使用 vim 编辑 /etc/locale.gen,取消注释所需的语言( 如 en_US.UTF-8 ):

1
vim /etc/locale.gen

然后生成本地化:

1
locale-gen

设置系统语言:

1
echo "LANG=en_US.UTF-8" > /etc/locale.conf

主机名

设置主机名:

1
echo "myhostname" > /etc/hostname

用 vim 编辑 /etc/hosts ,添加:

1
2
3
127.0.0.1 localhost
::1       localhost
127.0.1.1 myhostname.localdomain myhostname

设置 root 密码

一定要设置密码,否则之后启动系统密码怎么输都不行

1
passwd

安装 grub ( 引导加载程序 )

1
2
grub-install --target=i386-pc /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

退出 chroot 并重启系统

退出 chroot:

1
exit

取消挂载 sda1:

1
umount -R /mnt

重启:

1
reboot

完成

选择 Arch Linux 即可进入系统

解决无网络问题

若启动系统之后没有网络,则需要启动 dhcpcd 服务

1
systemctl start dhcpcd

设置开机自启动:

1
systemctl enable dhcpcd

参考

Licensed under CC BY-NC-SA 4.0
最后更新于 Jul 06, 2025 17:21 CST