VirtualBox 安装 Arch Linux: 从新建虚拟机到图形界面

First Post:

Last Update:

Word Count:
2.7k

Read Time:
10 min

来源:https://zhuanlan.zhihu.com/p/355826301

一、下载 Arch Linux 镜像

镜像文件,扩展名为 .iso,包含了安装系统所需要的文件。访问以下链接(这是清华大学的开源软件镜像站,国内下载速度更快),下载以「.iso」结尾的文件:

Index of /archlinux/iso/latest/mirrors.tuna.tsinghua.edu.cn/archlinux/iso/latest/img

二、安装 VirtualBox

VirtualBox 是由 Oracle 公司开发的免费虚拟机软件。访问以下链接,根据你的宿主(即你所使用的物理意义上的、「真实的」电脑)操作系统下载安装包:

Downloads - Oracle VM VirtualBoxwww.virtualbox.org/wiki/Downloads

img下载虚拟机软件安装包

安装好后打开应看到形如以下的界面:

img我这已经存在一台虚拟机

三、新建虚拟机

点击「新建」;尽量不要在虚拟机的名称中加入空格,可以使用 arch, archlinux 或 arch_linux 之类的;

img新建虚拟机

根据宿主内存大小和需求设置内存大小,这里选 2048 MB;

img调整内存

下面两步按照默认走;

img

img

这里建议选择「固定大小」;

img

这里就按照默认的 8 GB,可以按照需求和宿主机磁盘空间自行调整;

img

等待片刻;

img

到这一步就新建好了。我们在启动前把显存拉满,保证体验;点击「设置」;进入「显示」,如图把显存拉到 128 MB;

img

点击「OK」应用设置,这时我们可以启动了。

四、启动虚拟机

点击「启动」;因为没有启动设备,VirtualBox 会让你选择启动设备;

img

点击

img

选择先前下载的镜像文件,进入以下界面;

img

直接按回车,等待片刻,进入以下界面;

img

五、为安装做准备

我们先确认网络连接。执行

1
ip link

然后

1
ping baidu.com

如果我们能看到数据正常获取(如下图),就可以 Ctrl + C 结束连接,看到「0% packet loss」就行;

img

之前提到了清华开源软件源,我们在装系统的过程中也要装不少软件,为了保证速度可以先在系统配置文件中加入清华源:

1
vim /etc/pacman.d/mirrorlist

按 i 进入插入模式,然后加入这么几行字:

1
2
## China
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch

img

之后按 Esc,然后输入

1
:wq

后按回车,即保存并退出 Vim 编辑器。执行

1
pacman -Syy

更新缓存。

我们需要确保准确的系统时间:

1
timedatectl set-ntp true

然后可以执行

1
timedatectl status

检查状态,如果像下图这样就没问题了。

img

现在开始准备磁盘。执行

1
2
fdisk -l

查看磁盘状态。

img

「loop0」结尾的可以忽略,一般来说只用考虑 /dev/sda。在这个块设备上新建一个分区:

1
2
fdisk /dev/sda

img

在 Command 后执行

1
2
n

来新建分区,然后按照默认(default)配置,一路回车,直到 Command 再次出现,

img

这时执行

1
2
w

退出分区设置。此时再次执行

1
2
fdisk -l

可以看到新的分区为 /dev/sda1

img

这时执行

1
2
mkfs.ext4 /dev/sda1

来格式化分区,然后执行

1
2
mount /dev/sda1 /mnt

来挂载分区。

img

六、安装

执行

1
2
pacstrap /mnt base linux linux-firmware

来安装 base 软件包、Linux 内核和固件。这一步会花费较多时间,耐心等待即可,保证网络连接的稳定。

img正在安装各种软件包……

结束后执行

1
2
genfstab -U /mnt >> /mnt/etc/fstab

来生成 fstab 文件。这个文件规定了文件系统之间的挂载。之后执行

1
2
arch-chroot /mnt

进入安装好的系统。

img

七、配置系统

设置时区:

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

1
2
hwclock --systohc

之后进行本地化,以明确规定地域、货币、时区日期的格式、字符排列方式和其他本地化标准。由于设置中文本地化会出现乱码,我们首先设置 en_GB(英国英语)。先安装 Vim 文本编辑器:

1
2
pacman -S vim

需要确认继续时按 y 后回车;

img

然后用 Vim 打开 /etc/locale.gen:

1
2
vim /etc/locale.gen

和之前一样,按 i 进入插入模式,找到

1
2
#en_GB.UTF-8 UTF-8

这一行,把前面的「#」去掉,然后按 Esc,执行

1
2
:wq

保存并退出。之后:

1
2
vim /etc/locale.conf

在这个文件中加入

1
2
LANG=en_GB.UTF-8

这一行字,然后保存退出。编辑完两个文件之后:

1
2
locale-gen

看到 Generation complete 即说明本地化生成完成。

img

这时可以执行

1
2
passwd

来设置 root (即管理员用户)的密码,需要输入两次以确认(输的时候不会明文显示出来)。

img

接下来,关键的一步,安装 dhcpcd:

1
2
pacman -S dhcpcd

否则重启后无法连接到网络。

img

配置的最后一步,安装系统引导程序 grub:

1
2
pacman -S grub

1
2
grub-install /dev/sda

以及

1
2
grub-mkconfig -o /boot/grub/grub.cfg

img

这样我们的系统就配置好了,此时重启。执行

1
2
exit

来退出 chroot,然后执行

1
2
poweroff

来关机,虚拟机窗口随后关闭。

八、第一次启动 Arch Linux

再次启动前,进入虚拟机的「设置」=>「存储」,如图移除用以安装的虚拟盘,点击「OK」应用设置。

img

然后点击「启动」,进入 grub

img

按回车启动 Arch Linux,进入系统,输入 root(用户名)和密码(先前设置的);

img

执行

1
2
systemctl enable dhcpcd

1
2
dhcpcd

启用网络连接,

img

之后用第五步中的方法测试网络。

一个基本的 Arch Linux 的安装至此结束。

九、安装后配置

root 用户的权限过高,造成对系统灾难性的损坏的风险因此较高,我们因此新建一个用户:

1
2
useradd -m -G wheel username

将其中的 username 改为你要的名字,比如

1
2
useradd -m -G wheel jiewei

执行

1
2
passwd username

来设置密码,与先前设置 root 密码一样。

不使用 root 时如何获得 root 权限呢?需要在命令前加上 sudo,而 sudo 也需要先安装:

1
2
pacman -S sudo

之后来配置 sudo 使所有用户都能使用;执行

1
2
ln -s /usr/bin/vim /usr/bin/vi

1
2
visudo

进入 Vim 编辑器,找到

1
2
# %wheel ALL=(ALL) ALL

一行,把「#」去掉,保存退出。

配置好之后执行

1
2
reboot

来重启。重启之后我们就可以使用新创建的用户;输入用户名和密码,进入系统。

img

十、图形界面

没有图形界面的系统对于大多数人还是陌生的,在安装图形界面之前,我们需要安装显卡驱动:

1
2
sudo pacman -S xf86-video-intel

sudo 命令一段时间内需要输入密码确认,注意是用户密码而非 root 密码。

接下来安装开源窗口系统服务 Xorg:

1
2
sudo pacman -S xorg

然后按回车走默认(即安装所有需要安装的)。之后安装桌面环境 Xfce:

1
2
sudo pacman -S xfce4 xfce4-goodies

也是按回车走默认。最后安装桌面管理器 sddm:

1
2
sudo pacman -S sddm

然后设置开机启动:

1
2
sudo systemctl enable sddm

最后需要安装管理网络连接的程序 network-manager-applet:

1
2
sudo pacman -S network-manager-applet

重启:

1
2
reboot

之后就能看到熟悉而友好的图形界面了。

img图形界面!(我们可以进入 Settings => Display 调整分辨率)

这时我们需要重新配置网络。输入密码进入系统后打开终端

img图标长这样,就在 Dock(任务栏)里

然后启用 NetworkManager(桌面环境使用的网络服务):

1
2
sudo systemctl enable NetworkManager

然后重启,成功联网。

img

之后配置声音;执行以下命令:

1
2
3
4
sudo pacman -S pavucontrol pulseaudio
pulseaudio --check
pulseaudio -D

这样就能播放音频了。

十一、有用的软件包及本地化

目前用的文本编辑器都是命令行工具 Vim,比起 gedit 这一图形界面工具来说显得不怎么友好:

1
2
sudo pacman -S gedit

我们可以给 pacman 添加中文社区仓库。用新装的 gedit 打开 /etc/pacman.conf:

1
2
sudo gedit /etc/pacman.conf

然后在末尾添加两行:

1
2
3
[archlinuxcn]
Server = https://repo.archlinuxcn.org/$arch

之后更新缓存:

1
2
sudo pacman -Sy

目前我们都使用 pacman 安装软件,而另一个工具 yay 则可以用来安装 AUR(Arch User Repository,Arch 用户库)中的大量软件。先安装需要用到的 git 和 base-devel:

1
2
sudo pacman -S git base-devel

然后:

1
2
3
4
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

我们大概还需要一个浏览器,安装火狐是最方便的:

1
2
sudo pacman -S firefox

这样点击 Dock 中的地球图标就能上网了。打开网页,发现中文内容是乱码;

img

我们需要安装中文字体:

1
2
sudo pacman -S noto-fonts-cjk

img

这下是大家都看得懂的中文字了。

我们还需要安装中文输入法,使用 fcitx 框架:

1
2
sudo pacman -S fcitx fcitx-im fcitx-configtool fcitx-sunpinyin

设置环境变量:

1
2
sudo gedit ~/.xprofile

在编辑器中加入

1
2
3
4
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

然后执行:

1
2
fcitx-configtool

如下图所示,点击「+」,然后取消勾选「Only Show Current Language」,找到安装的「Sunpinyin」,点击「OK」。(如果没有出现这些可能需要重启)

img

重启后中文输入法便出现了。

img

十二、真正开始使用

对于 Windows 或 macOS 用户来说,「自由软件」这一概念大概是陌生的。事实上,如 Microsoft Office 和 Adobe Photoshop 这样的商业软件几乎都有它们的自由软件替代品(比如 LibreOffice 和 GIMP)。事实上,整个 Linux 系统便是一个自由软件的最佳例子:任何人都可以自由地使用、复制、研究、修改和分发 Linux 的所有底层源代码。所以,在 Linux 中使用自由软件是被鼓励的,我们从安装 LibreOffice 开始:

1
2
sudo pacman -S libreoffice-still libreoffice-still-en-gb libreoffice-still-zh-cn

安装 LibreOffice 需要同时安装语言包,我们先安装英国英语和简体中文。安装完成之后点击左上角(类似 Windows 的开始),就可以看到安装好的套件了。

img

img测试

后记

Arch Linux 的安装(即使作为 Linux distro 也)并不简单,这与 Arch 的原则有关:每个人的需求都不同,于是用户被允许从最底层开始搭建自己想要的系统。同时,Arch Linux 也有着 Archer 引以为傲的 Arch Wiki,在那里有着最靠谱的关于 Arch 的问题的解答。事实上,这篇教程只是万千可能性中的一种,你可以设置更复杂的分区,可以不使用 Xfce 桌面环境,可以不用 Vim 而是用 Emacs;当然,我们的 Linux 旅程也远没有结束。

祝安装 Arch Linux 顺利,祝使用 Arch Linux 愉快!