双启动

来自 Alpine Linux

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

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


安装 Alpine Linux

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

  1. 要进行双启动,Alpine Linux 需要一个单独的分区。如果您没有分区,请参考 手动分区 来创建和格式化它。如果您正在使用 btrfs 文件系统,则无需创建分区,并参考 btrfs 教程 以获取更多信息。
  2. 挂载 / (根) 分区,即您想要安装 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. 您的双启动安装可以被认为是完成的。您应该可以在 重启 后进行双启动。

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

配置引导加载程序

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

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

与 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-probergrub-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 失败”

参考