在2019年使用UEFI固件在Virtualbox中安装Arch Linux
你好,欢迎光临。 Arch Linux是我最喜欢的Linux发行版之一。 这是一个滚动版本,这意味着没有新版本可以升级。 对于新Linux用户而言,安装过程有点困难。 但是,一旦在计算机上成功安装了Arch Linux,它实际上就很容易使用。 在本教程中,我将在virtualbox中模拟UEFI引导并在其中安装Arch Linux。
在Virtualbox中启用UEFI
首先,在Virtualbox中创建一个虚拟机。 要启用UEFI,请转到虚拟机的设置窗口。 选择 系统 在左窗格上,然后勾选 启用EFI 然后打 好 按钮。
在Virtualbox中安装带有UEFI固件的Arch Linux
转到 存储 设置,然后在启动虚拟机之前将Arch Linux ISO映像添加到虚拟光驱,否则您将进入UEFI Shell。
现在启动您的虚拟机。 选择第一个选项,以便我们可以在UEFI模式下安装Arch Linux。
您将以root用户身份自动登录。
使用以下命令检查是否可以在此虚拟机中访问Internet。
ping -c6 www.linuxbabe.com
如果在真正的笔记本电脑上安装Arch Linux,则可以使用以下命令连接到Wi-Fi网络。wifi-menu
将美式键盘设置为键盘布局:
loadkeys us
现在让我们配置分区。 我只使用一个虚拟硬盘,所以虚拟硬盘的名称是 /dev/sda
。 您可以运行以下命令来查找硬盘驱动器的名称。
parted -l
在以下屏幕截图中,有两个磁盘:
/dev/sda
:这是我的主硬盘。/dev/sr0
:这是Arch Linux ISO。
由于我们将Arch Linux安装在UEFI硬件上,因此最好在GPT(GUID分区表)中而不是在MBR(主引导记录)中对磁盘进行分区。 运行以下命令以使用以下命令制作GPT样式的磁盘: parted
分区编辑器。
parted /dev/sda mklabel gpt
您可以使用以下命令确认它是GPT磁盘:
parted /dev/sda -l
使 parted
使用 /dev/sda
。
parted /dev/sda
GPT磁盘需要EFI系统分区(ESP)。 运行以下命令以创建具有512MB空间的EFI系统分区。
mkpart primary fat32 2048s 1050624s
- 分区类型设置为
primary
。 - 文件系统设置为
fat32
。 - 此分区范围从扇区2048到扇区1050624。(我的虚拟硬盘的扇区大小在逻辑上和物理上均为512B。这将形成512MB的分区。)
检查EFI系统分区。
unit MiB print
您可以看到文件系统是fat32。 要使其成为EFI系统分区(ESP),我们需要打开 boot
该分区的标志。
set 1 boot on
现在,如果您运行 print
再次输入命令,您将看到它已转换为EFI系统分区。
然后运行以下命令来创建一个根分区,该分区将从扇区1050625开始。100%表示该分区将使用所有剩余的磁盘空间,因为我不打算创建交换分区。
mkpart primary ext4 1050625s 100%
现在,退出分区编辑器。
q
格式 /dev/sda1
作为胖文件系统和 /dev/sda2
作为ext4文件系统。
mkfs -t fat /dev/sda1 mkfs -t ext4 /dev/sda2
将根分区挂载在/ mnt下。
mount /dev/sda2 /mnt
在/ dev / sda2分区上创建引导目录。
mkdir /mnt/boot
将EFI系统分区(/ dev / sda1)挂载在/ mnt / boot /下
mount /dev/sda1 /mnt/boot/
选择一个靠近您所在位置的镜子。 nano
命令行文本编辑器。
nano /etc/pacman.d/mirrorlist
要设置您的首选镜像,请将该镜像地址复制到镜像列表的顶部。 我住在中国,所以选择了中国的一面镜子作为我的首选镜子。
保存并关闭此文件。 (要在Nano文本编辑器中保存文件,请按 Ctrl+O
,然后按 Enter
确认。 要退出,请按 Ctrl+X
。)现在运行以下命令,以在Linux内核和Nano文本编辑器上安装Arch Linux基本系统 /dev/sda2
。
pacstrap -i /mnt base linux linux-firmware nano
按Enter键选择所有软件包。
接下来,生成文件系统表文件 /etc/fstab
。
genfstab -U -p /mnt >> /mnt/etc/fstab
改变根
arch-chroot /mnt
编辑locale.gen文件。
nano /etc/locale.gen
查找所需的语言环境并取消注释。 例如,我没有评论 en_US.UTF-8 UTF-8
和 zh_CN.UTF-8 UTF-8
。 保存文件。 然后运行以下命令生成 /etc/locale.conf
归档并制作 en_US.UTF-8
作为默认语言环境。
echo LANG=en_US.UTF-8 > /etc/locale.conf export LANG=en_US.UTF-8
列出时区。
timedatectl list-timezones
你可以按 J
向下移动,按 K
向上移动。 找到时区后,请按 Q
退出。
然后运行以下命令来设置Arch Linux的时区。 我设置 Asia/Shanghai
作为我的时区。
timedatectl set-timezone Asia/Shanghai
要在操作系统上检查当前时区,请运行
timedatectl
启用eth0网络接口。
systemctl enable [email protected]
如果在笔记本电脑上安装Arch Linux,则可能要安装无线网络工具:pacman -S wireless_tools wpa_supplicant dialog
运行以下命令以连接到无线网络。wifi-menu
并启用无线网络接口。systemctl enable net-auto-wireless.service
安装网络管理器和相关工具。
pacman -S networkmanager networkmanager-vpnc network-manager-applet
启用网络管理器。
systemctl enable NetworkManager
配置pacman软件包管理器。
nano /etc/pacman.conf
找 repositories
部分, [core], [extra], [community] 存储库默认情况下处于启用状态。 如果Arch Linux是64位,并且您希望能够安装和运行32位软件,则必须启用 [multilib] 资料库。 启用 [multilib] 存储库,将以下两行复制并粘贴到此文件的末尾。
[multilib] Include = /etc/pacman.d/mirrorlist
保存并关闭此文件。 现在更新存储库。
pacman -Sy
为root用户设置密码。
passwd root
创建一个标准用户帐户。 将
useradd -m -g users -G wheel,storage,power -s /bin/bash <username>
为该用户设置密码。
passwd <username>
安装sudo实用程序
pacman -S sudo
允许车轮组成员使用sudo。
EDITOR=nano visudo
找到这条线。
# %wheel ALL=(ALL) ALL
删除#号并保存该文件。
安装GRUB和EFI引导管理器
pacman -S grub efibootmgr
将Grub引导加载程序安装到/ dev / sda。
grub-install /dev/sda --target=x86_64-efi --efi-directory=/boot
生成Grub配置文件。
grub-mkconfig -o /boot/grub/grub.cfg
退出chroot环境。
exit
重新启动虚拟机。
shutdown -r now
Grub2启动菜单会打招呼。 按Enter键选择第一个菜单项。
用标准用户登录。 然后运行以下命令来更改主机名:
sudo hostnamectl set-hostname <your-hostname>
安装alsa-utils。
sudo pacman -S alsa-utils
开始 alsamixer
声音配置工具。
alsamixer
MM代表静音。 按M键取消静音,然后使用向上和向下箭头键调节音量。 您必须取消静音主机和PCM。
按ESC退出声音配置。 现在输入此命令测试声音。
speaker-test -c2
如果听到任何声音,则表示声音系统正在运行。 按Ctrl + C停止声音测试。
安装X窗口系统。
sudo pacman -S xorg-server xorg-xinit
安装台面以启用3D支持。
sudo pacman -S mesa
检查您的系统装有哪些图形卡。
lspci -k | grep -A 2 -i "VGA"
如果您具有集成的Intel图形卡,请安装intel开源图形卡驱动程序。
sudo pacman -S xf86-video-intel
如果您有Nvidia显卡,请安装Nvidia闭源图形驱动程序。
sudo pacman -S nvidia lib32-nvidia-utils
对于ATI卡:
sudo pacman -S xf86-video-ati
vesa显示驱动程序可用于大多数视频卡。
sudo pacman -S xf86-video-vesa
我正在使用Virtualbox图形适配器,并且必须安装此软件包。
sudo pacman -S virtualbox-guest-utils
笔记本用户可以安装触控板驱动程序。
sudo pacman -S xf86-input-synaptics
安装xorg测试小部件。
sudo pacman -S xorg-twm xorg-xclock xterm
使用此命令测试xorg。
startx
如果您看到以下3个程序正在运行,则表明X.org正在运行。
按Ctrl + D退出。 然后安装字体。
sudo pacman -S ttf-dejavu ttf-ubuntu-font-family
安装xfce4桌面环境
sudo pacman -S xfce4 xfce4-goodies firefox
在开始xfce4桌面环境之前,我们需要将xinitrc文件复制到我们的主目录并进行编辑。
cp /etc/X11/xinit/xinitrc ~/.xinitrc nano ~/.xinitrc
注释掉最后5行(添加#符号),然后在此文件的末尾添加以下行。
exec startxfce4
保存并关闭文件。 现在启动XFCE4桌面环境。
startxfce4
您应该能够进入XFCE4桌面。
安装Slim登录管理器
不用打字 startxfce4
每次使用该命令时,我们都可以安装登录管理器(例如Slim),以使我们能够自动引导到图形用户界面。 要安装Slim登录管理器,请执行以下命令:
sudo pacman -S slim slim-themes
然后,使Slim在计算机开机时自动启动。
sudo systemctl enable slim.service
编辑 /etc/slim.conf
为我们的登录管理器选择一个主题。
sudo nano /etc/slim.conf
找到这一行:
current_theme default
更改为此:
current_theme archlinux-simplyblack
要在登录屏幕上预加载用户名,请找到以下行
#default_user simone
删除#符号,然后将simone更改为您自己的用户名。 然后找到以下行。
#focus_password no
删除#符号并进行更改 no
至 yes
。 保存并关闭文件。 重新启动Arch Linux计算机。
sudo shutdown -r now
Slim登录管理器将向您打招呼。
启用NTP时间同步
如果在终端中运行timedatectl命令,将看到未启用NTP时间同步。 运行以下命令将其启用。
timedatectl set-ntp true
安装Arch Linux之后,您可能需要一些常见的软件包:
sudo pacman -S flashplugin vlc terminator htop parted gparted transmission-cli transmission-gtk wine wine-mono wine_gecko winetricks banshee
如何退出EFI Shell
如果您的Arch Linux机器意外掉入EFI Shell中,请首先输入以下命令以添加Grub引导加载程序。
bcfg boot add 1 fs0:/EFI/arch/grubx64.efi "Manually Added"
然后
exit
选择 Continue
在下一个屏幕中,您将看到Grub引导菜单。
为了防止将来掉入EFI Shell中,一旦启动到Arch Linux,请运行以下命令以将Arch Linux Grub设置为默认启动加载程序。
sudo mkdir /boot/EFI/BOOT sudo cp /boot/EFI/arch/grubx64.efi /boot/EFI/BOOT/BOOTX86.EFI
这样EFI可以找到默认的引导加载程序。
您也可以创建一个 startup.nsh
EFI系统分区的根目录上的脚本。
sudo nano /boot/startup.nsh
并将以下文本放入shell脚本中。
bcfg boot add 1 fs0:/EFI/arch/grubx64.efi "Manually Added" exit
因此,即使您进入EFI Shell,也无需手动执行这两个命令。
包起来
对于Linux初学者来说,安装Arch Linux并不容易,但是在安装后,Arch Linux实际上很容易使用。 与往常一样,如果您发现这篇文章很有用,请订阅我们的免费新闻通讯以获取更多提示和技巧。 保重🙂