双启动

来自 Alpine Linux

假设您已经有一个运行其他操作系统的计算机,并且希望能够双启动已安装的系统或 Alpine Linux。

警告:本双启动手册适用于经验丰富的用户。您将需要手动编辑硬盘上的分区。在继续操作之前,请充分备份重要数据。如果您想避免对现有硬盘进行分区,那么购买额外的硬盘并使用 基于 setup-alpine 的安装,或者使用 虚拟化 可能会更好。


安装 Alpine Linux

要双启动 Alpine Linux,您必须遵循 基于 setup-disk 的安装,但以下几点除外

  1. 要双启动,Alpine Linux 需要一个单独的分区。如果您没有分区,请参考 手动分区 来创建和格式化它。如果您正在使用 btrfs 文件系统,则无需创建分区,并参考 btrfs 教程 以获取更多信息。
  2. 挂载 / (root) 分区,即您想要安装 Alpine Linux 的分区(此处为 sdXY),到一个挂载点,例如 /mnt。

    # mount /dev/sdXY /mnt

    注意: 为了允许多个 Linux 安装共存,最好将 /boot 文件夹(内核文件所在位置)保留在 "/" 根 分区内。 按照以下说明操作将导致:

    内容 /etc/fstab

    ... UUID=ABCD-1234 /boot/efi vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=utf8,shortname=mixed,errors=remount-ro 0 2 ...
  3. 如果您正在使用 EFI,请特别注意 ESP 分区。ESP 分区也供其他操作系统使用。确保您创建了挂载点 /mnt/boot/efi

    # mkdir -p /mnt/boot/efi

  4. 识别 ESP 分区的正确分区名称,并将其挂载到上述挂载点。

    # mount /dev/sdXY /mnt/boot/efi

  5. 在选定的分区上安装 Alpine Linux。

    # setup-disk -m sys /mnt

  6. 您的双启动安装可以认为是完成了。一旦您 重启,您应该能够双启动。

如果您想更改默认的 引导加载程序(可选),请参考 配置引导加载程序 章节。

配置引导加载程序

有不同的 引导加载程序 可以获得一个引导菜单,允许选择要启动的操作系统。对于 Alpine Linux 和 Windows 之间的双启动,最简单的方法是安装并使用 rEFInd 引导管理器。

否则,可以调整其他操作系统已经安装的引导加载程序。

与 Linux 双启动或多启动

以下示例旨在为您提供一些调整 grub 以引导 Alpine 的思路。

重启您的系统(启动 Ubuntu)

启动一个“终端”(ALT-F2 + "terminal" + [运行])

记下您计划使用的分区的 UUID

# blkid /dev/sdXY

开始编辑 grub2 配置

# gedit /etc/grub.d/40_custom

我编辑后的文件看起来像这样

内容 /etc/grub.d/40_custom

#!/bin/sh echo "Adding Alpine" >&2 cat << EOF menuentry "Alpine Linux" { set root=(hd0,3) linux /boot/vmlinuz-lts root=UUID=8de6973a-4a8c-40ed-b710-c4e2b42d6b7a modules=sd-mod,usb-storage,ext4 quiet initrd /boot/initramfs-lts } EOF
注意: 上述 root、linux、initrd 和 UUID 值应替换为您系统的值,例如,您运行 'blkid' 命令时获得的 UUID。

最后,需要将配置更改应用到 grub2 引导加载程序

update-grub

现在是测试的时候了。重启您的计算机。

注意: 您可能需要在启动计算机时按住 SHIFT 键才能看到 grub 菜单。

与 Windows 双启动

为了使用 grub 检测到 Windows 分区,您需要在运行 grub-mkconfig 时安装 `os-prober` 和 `grub-mount`。

注意: 以下内容需要测试

要升级 grub 安装,efi 目录必须挂载在 /boot/efi/ 中。要了解 efi 在哪个分区中,我们必须检查分区表,因此如果您的主磁盘是 /dev/sda,则:

# fdisk -l /dev/sda

Device             Start        End   Sectors   Size Type
/dev/sda1           2048     309247    307200   150M EFI System

# mkdir /boot/efi

# mount /dev/sda1 /boot/efi/

# apk add efibootmgr

(如果您的系统支持 UEFI。大多数 2010 年以后的 PC 都支持 UEFI)

安装 grub

# grub-install –root-directory=/mnt

在 grub 重新安装后,卸载 efi 分区

# umount /boot/efi/

故障排除

如果遇到 挂载在 /dev/sdXY sysroot 失败,请检查。

参考