在本指南中,您将学习如何在 UEFI 系统上双引导 Arch Linux 和 Windows 10。本指南假设您的系统上已经安装了 Windows 10。

前提条件

在开始配置双启动设置之前,请确认已经满足以下要求

  • 8GB+ 的 USB 驱动器,最新的 Arch Linux ISO文件,并使其可引导。
  • 快速稳定的互联网连接,方便下载和安装软件包。

(1) 创建一个单独的分区用于安装 Arch Linux

为了使双引导设置工作,我们需要在将安装 Arch Linux 的硬盘驱动器上创建一个单独的分区。为此,通过按 Windows 键 + R 转到磁盘管理实用程序,在对话框中输入 diskmgmt.msc 并按 ENTER 键。

launch-disk-management-utility

这将启动磁盘管理实用程序,显示硬盘驱动器上的各种磁盘分区。我们将通过缩小 C 驱动器来创建一个未分配的分区。如果您有一个比 C 驱动器大的分区,可以随意使用它来创建单独的分区

因此,我们将右键单击驱动器 C,并选择如图所示的 Shrink Volume (收缩卷 ) 选项

02-Shrink-option

在弹出的对话框中,我们将指定如图所示的收缩量。这是将指定用于安装 Arch Linux 的金额。在我们的示例中,我们将 20 GB 的硬盘空间缩减为未分配空间。

当你感到满意时,点击收缩按钮。

03-shrink-amount

您的未分配空间将显示如下所示。在我们的例子中,我们预留了大约 20G 用于安装 Arch Linux。

03-Unallocated-space

在未分配的分区到位后,插入可引导 USB 并重新启动电脑。

(2) 设置 BIOS 从可引导介质启动

在开始安装过程之前,要谨慎地在 BIOS 中设置引导优先级,将可引导介质作为首选选项。根据不同的厂商,您可以按 Esc 或 F10 键进入 BIOS 并进入启动优先级菜单。

还要注意,我们正在使用 UEFI 模式进行安装。

04-configure-boot-options

选择了引导介质后,按下 ESC 按钮继续引导过程。

(3) 开始安装 Arch Linux

在启动屏幕上,选择第一个选项 - Arch Linux 安装介质(X86_64,UEFI)并点击 Enter。

05-Select-ArchLinux-UEFI

从屏幕上的引导消息可以看出,这将初始化 Arch Linux。

06-loading-Arch

几秒钟后,这将引导您进入如下所示的提示。

07-Arch-Linux-loaded

要确认您有 EFI 支持,运行以下命令

# ls /sys/firmware/efi/efivars

您应该在屏幕上看到如下所示的一些条目。如果屏幕上什么都没有列出,那么就意味着您正在使用 MBR,本指南在配置双引导设置时对您不起作用。

08-Verfiy-efi-support

在开始安装时,您可能需要确保能够连接互联网。互联网连接在设定时间和日期方面至关重要。

您可以 ping Google 的 DNS,如图所示:

# ping 8.8.8.8 -c 4

09-Confirm-internet-access

(4) 更新时间和日期

接下来,我们将使用 timedatectl 命令更新系统时间和日期,如下所示。

# timedatectl set-ntp true

之后可以使用该命令确认时间和日期

# timedatectl status

10-sync-time

(5) 创建并格式化 Linux 分区

接下来,我们将对硬盘驱动器进行分区,并创建一些 Linux 分区。一种简单的方法是使用 cfdisk 实用程序,运行以下命令

# cfdisk

这将显示所有可用的分区,包括 Windows 分区。

11-View-all-linux-partitions

正如您所看到的,我们有一个 19.5G 的空闲空间,这是我们在前面的步骤 1 中从 Windows 端压缩驱动器 C 中创建的。使用这个分区,我们将创建以下 Linux 分区

  • Root partition / 12G
  • swap partition 4G
    切换到 /dev/sda3 卷之后的19.5G 空闲空间,然后按 ENTER。然后,我们将为根分区指定卷为 12G,如下所示。然后按 Enter。

12-Create-a-root-partition

如图所示,将使用 Linux 文件系统类型创建根分区。

13-root-partition-created

Next, we will create another partition for swap. Using the same method, we will proceed to the remaining free partition of 7G and select the ‘New’ option.

接下来,我们将为 swap 创建另一个分区。使用相同的方法,我们将继续从 7G 的剩余空闲空间分区,并选择 New 选项。

14-create-new-partition

指定分区大小为 4G

15-specify-partition-size

因为这将是我们的交换分区,所以我们需要执行额外的步骤,修改分区类型。因此,我们将选择类型选项并点击 ENTER。

16-change-type-of-partition

在出现的列表中,选择 Linux Swap 并按 ENTER。

17-set-to-Linux-swap

此时,根分区和交换分区都已创建,如下面的分区表所示。

18-Linux-swap-created

要保存分区,请选择 Write 选项并点击 ENTER。

19-select-write-option

当提示是否要将分区写入磁盘时,只需键入 yes 并按 ENTER。

20-accept-writing-changes

要退出 cfdisk 实用程序,请选择 Quit 选项并按 ENTER 键。

21-exit cfdisk

(6) 格式化并挂载分区

为了让分区变得可用,我们需要格式化它们,然后再挂载它们。

格式化根分区,使用该命令

# mkfs.ext4 /dev/sda5

22-Format-root-partition

格式化交换分区,使用该命令

# mkswap /dev/sda6

然后使用 swapon 命令启用交换

# swapon /dev/sda6

23-Format-swap

接下来,将根分区安装到 /mnt 目录

# mount /dev/sda5 /mnt

此外,我们将为 EFI 分区创建一个目录,用来挂载 Windows EFI 系统,在本教程的环境中,该系统位于 /dev /sda1 分区上。

# mkdir /mnt/efi

然后在 EFI 挂载点上挂载 EFI 分区。

# mount /dev/sda1 /mnt/efi

24-Mount-partitions

(7) 安装基本系统和其他所需的 Linux 固件包

接下来,我们将为我们的 Linux 系统安装重要的包,包括基本包和 Linux 固件包。

# pacstrap /mnt base linux linux-firmware

25-install base-and-linux-firmware

这需要相当长的时间。这时,你可以好好休息一下,出去散散步,喝杯咖啡。安装成功后,您应该会看到以下输出。

27-pacstrap-command-done

(8) 生成 fstab 文件

在 /mnt 目录上生成 fstab 文件,如下所示。

# genfstab -U /mnt >> /mnt/etc/fstab

(9) 时区设置

生成 ftab 文件后,切换到新创建的根文件系统

# arch-chroot /mnt

您可以使用如下所示的命令来验证您是否在根文件系统中

# ls

时区信息可在 /usr/share/zoneinfo 目录中找到。要设置您的时区,请创建指向 /etc /localtime 的符号链接

# ln -sf /usr/share/zoneinfo/US/Pacific /etc/localtime

接下来,使用命令同步硬件时钟

# hwclock --systohc

(10) 设置语言环境

该语言环境决定系统语言,货币格式,编号和系统上的日期。此信息包含在 /etc/locale.gen 文件中。因此,使用 VIM 编辑器打开文件。

# vim /etc/locale.gen

注意:要安装 vim 编辑器,请使用下面的 pacman 命令

# pacman -Sy vim

打开文件后,滚动并取消注册您的首选语言环境。在这种情况下,我们决定使用 en_us.utf-8 UTF-8

保存并退出文件。接下来,使用命令生成语言环境配置。

# locale-gen

31-generate locale

接下来,创建一个新的语言环境配置文件,并保存到本地。

# echo "LANG=EN_US.UTF-8" > /etc/locale.conf

32-set-locale-in-locale-conf-file

(11) 设置主机名

接下来,我们将配置 Arch 系统的主机名。首先,创建一个新文件并指定主机名

# echo linuxtechi > /etc/hostname

33-set-hostname

之后,修改 /etc /hosts 文件

# echo "127.0.1.1  linuxtechi" >> /etc/hosts

(12) 安装 netctl Network Manager

要在安装完成并重启后使用 internet,我们需要安装一个网络管理器。在本例中,我们将按如下方式安装 netctl 网络管理器

# pacman -Sy netctl

34-install-netctl package

在安装过程中列出了 netctl 的一些可选依赖项,我们将安装以下依赖项

  • dhcpcd – For DHCP support
  • wpa-supplicant – For wireless networking
  • ifplugd – For wired connections networking

35-optional-dependencies

这些依赖项将帮助您在下次启动 Arch Linux 时毫无问题地建立网络。

要安装可选的依赖项,运行以下命令

# pacman -Sy dhcpcd wpa-supplicant ifplugd

36-install-dhcpcd-wpa_supplicant-ifplugd

(13) 创建一个普通用户

接下来,我们将创建一个名为 linuxtechi 的普通用户,并将其放入 wheel 组中,如下所示

# useradd -G wheel -m linuxtechi

下一步是为用户分配密码

# passwd linuxtechi

37-create-a-user

(14) 安装 GRUB 引导加载程序

在这一步中,我们将安装 grub 引导加载程序,使我们能够在重新启动时引导到 Arch Linux 系统中。

由于我们使用的是 UEFI 模式,因此我们将在 EFI 引导管理器软件包上安装 GRUB 引导加载软件包。

# pacman -S grub efibootmgr

38-Install-grub-efibootmgr

接下来,安装 os-prober 包,它将使 Arch Linux 能够检测 Windows 操作系统。

# pacman -S os-prober

39-Install-os-prober

然后在 EFI 目录上安装 grub,如下所示。

# grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB

40-install-grub-bootloader

安装 GRUB 配置文件,如图所示。

# grub-mkconfig -o /boot/grub/grub.cfg

41-generate-grub-file

最后一行是 Arch 在 /dev/sda1 分区上检测到 Windows Boot Manager 的存在。

最后,为 root 用户设置密码。

# passwd

42-set-root-passwd

然后退出并重新启动系统。

# exit
# reboot

(15) 引导到 Arch Linux

在引导时,GRUB 引导加载程序将显示各种选项,包括引导到 Arch Linux,这是第一个选项,还有引导到 Windows,这是我的情况下的最后一个选项。

43-Dual bootscreen

以普通用户身份登录Arch Linux 系统

44-login as new user

(16) 后续安装工作

当我登录时,我注意到的一件事是我没有任何互联网连接。这是一个由默认的 dhcp 配置文件设置引起的问题,需要修改该配置文件以适应附加到 Arch Linux 系统的网络接口。

要查找连接的接口,运行命令:

$ ip link

输出显示我们的网络接口是 enp0s3

45-network failure

切换到 root 用户

# su

复制 ethernet-dhcp 文件到 /etc/netctl 目录

# cp /etc/netctl/examples/ethernet-dhcp  /etc/netctl/custom-dhcp-profile

然后切换到 /etc/netctl 目录

# cd /etc/netctl

使用 vim 编辑器编辑该文件

# vim custom-dhcp-profile

设置接口属性为 eth0

46-Interface-set-to-etho

但是,正如我们前面看到的,我们的网络接口是 enp03。因此,请将其修改为 enp0s3。另外,取消以 DHCPClient 参数开头的行注释。

DHCPClient=dhcpcd

这将使系统能够接受 dhcp 服务的 IP 地址

47-modify-custom-profile

保存并退出配置文件。接下来,启用自定义 dhcp 配置文件。

# netctl enable custom-dhcp-profile

48-enable dhcp-profile

最后开启 dhcp 服务。

# systemctl enable dhcpcd.service

49-Enable dhcpcd service

现在,您的接口应该从路由器中选择一个 IP 地址,并且您应该已经有了互联网连接。

50-verify-internet-connectivy

您可以安装一个 X windows 系统

$ sudo pacman -S xorg xorg-server

然后安装一个显示管理器。例如,要安装 GNOME,请运行

$ sudo pacman -S gnome

然后启动并启用 gdm 服务

$ sudo systemctl start gdm
$ sudo systemctl enable gdm

这个冗长的话题到此结束。希望你现在能够在 UEFI 系统上双引导 Arch Linux 和 Windows。

我的开源项目

酷瓜云课堂


鸠摩智首席音效师
472 声望9 粉丝

身强体健,龙精虎猛的活着。