Raf*_*ski 7 dual-boot partition linux-mint uefi
我想在我的笔记本电脑上双启动两个 Linux 发行版。一个稳定的(我发现 Mint 18 与 Yoga 3 Pro 配合得很好)和一个可能会经常更换的;我想尝试不同的发行版,比如 Fedora 或 OpenSuse,而不破坏我稳定的工作环境。
我想知道我应该如何在这里对引导分区进行分区。我想以最简单的方式完成它,以便轻松删除第二个 Linux 安装。
我在考虑有两个引导分区,每个 Linux 一个。在安装主 Linux 的过程中,我可以选择将引导加载程序放入 MBR,然后将第二个放入正确的分区。但是每次安装新的测试发行版时,我都必须更新 Mint 的 grub;那会是一个很好的解决方案吗?另外,我不确定是否可以有两个 EFI 分区。
这里最稳定和最安全的选择是什么?
首先,我做了更多的研究,并意识到我对一些事情感到困惑。我不知道在 UEFI 模式下安装过程中完全忽略了 Mint 安装过程中的Device for boot loader installation
[ 1 ] 选项 [ 2 ] (1)。Ubuntu 安装程序 (2) 中的糟糕命名也让我相信这ESP
是在做/boot
分区工作,而不是MBR
.
知道我正在考虑以下分区方案(256GB SSD 驱动器):
方案:
/dev/sda1 EFI System Partition fat32 /boot/efi 512MB (ESP partition)
/dev/sda2 ext2 /boot 512MB (boot for Mint)
/dev/sda3 ext2 512MB (boot for other)
/dev/sda4 lvm2 ( / for each Linux, shared home, swap )
Run Code Online (Sandbox Code Playgroud)
然后在每个 Linux 的安装过程中,我会创建 4 个正确分区的安装点:
/boot/efi
/boot
/
swap
这合理吗?我是否正确理解Device for boot loader installation
在 EFI 模式下在 Mint 安装期间选择的选项是多余的,我不应该再担心了吗?我是否正确理解现在共享ESP
将只有一个配置来GRUB
从boot
它设置为默认的分区开始加载?
我将采用我上面提出的方案。但是,创建分区/dev/sda1
-/dev/sda3
通过GParted
导致 Mint 安装程序中出现一些错误。我通过销毁这些分区并从 Mint 安装程序中再次创建它们来重复这个过程,它进行得很顺利。/dev/sda4
我在运行 Mint 安装程序之前创建GParted
并从终端创建了本地卷。这个关于 LVM 的教程对此非常有帮助 [4]。
安装 Mint 后,我继续安装 Fedora (3);之后,系统默认启动到 Fedora,但在 BIOS 中我可以选择 Ubuntu 或 Fedora,它们都运行良好。
我将 BIOS 更改为首先从 Mint 启动,然后从 Mint 执行:
sudo grub-mkconfig -o /boot/grub/grub.cfg
Run Code Online (Sandbox Code Playgroud)
这使我现在基本上可以启动两个 Linux。
因为我假设另一个 Linux 是用于测试目的,所以我或多或少地实现了我想要的。例如,如果我删除Fedora
并安装在它的位置,OpenSuse
我可能只需再次执行上述命令即可获得稳定的启动系统。
(0) 我一直在更新这个问题,以防将来有人发现它有用。
(1) 前段时间我在另一台有两个硬盘驱动器(单独的设备)的计算机上进行了安装。/dev/sda
完全适用于 Windows 10,我想在/dev/sdb
. 尽管我选择Device for boot loader installation
了/dev/sdb
它,因为它在另一个驱动器上找到了 ESP 并使用该分区进行引导。
(2)EFI System Partition (ESP)
在 Mint (Ubuntu) 安装程序中被命名为
EFI boot partition
[ 3 ]。
(3) 在选择挂载点和分区时我必须非常小心。
[1] http://i.stack.imgur.com/Pj1wt.png
[2] https://ubuntuforums.org/showthread.php?t=2309806&p=13422658#post13422658
如果您使用 MBR,GRUB 可以调用os-prober
扫描所有分区以查找可引导系统。 os-prober
(及其表亲,linux-boot-prober
,由 调用os-prober
)将搜索所有已知磁盘及其分区以查找可启动系统。对于 Linux 系统,它将搜索包含./vmlinuz*
和./initrd*
/./initramfs*
或包含名为 的目录/boot
和以前的文件的分区。
grub-mkconfig
如果可以找到它,将尝试使用os-prober
它,并打印grub.cfg
包含它找到的所有系统的信息。
就我个人而言,我发现这比使用 UEFI 的工作量要少,但请继续阅读。
对于UEFI,首先你肯定可以有多个EFI分区。然而,在多重引导系统中拥有多个 EFI 分区并不是一个好主意。 这个 SU 答案详细说明了原因,主要是因为您可以在单个 EFI 分区内拥有子目录,并且每个子目录中可以拥有不同的系统。您只需将 EFI 分区的不同位置绑定挂载为/boot
每个系统上的目录即可。
例如,您可以创建两个不同的加载器,例如:
\loader\entries\mint.conf
title Mint Linux
linux \mint\vmlinuz
initrd \mint\initrd.img
options root=PARTUUID=14420948-2cea-4de7-b042-40f67c618660 rw
Run Code Online (Sandbox Code Playgroud)
\loader\entries\centos.conf
title CentOS
linux \centos\vmlinuz-linux
initrd \centos\initramfs-linux.img
options root=PARTUUID=14420948-2cea-4de7-b042-40f67c618661 rw
Run Code Online (Sandbox Code Playgroud)
您需要引导加载程序的 UUID 才能知道要使用哪个根文件系统。现在,您可以将每个安装的内核和初始 ramfs 放入 EFI 分区上各自的目录中(一个在 ,mint
另一个在centos
)。
然后,在每个系统上进行/etc/fstab
绑定挂载,以使用 EFI 分区的右侧部分作为目录/boot
。例如:
<EFI part> /efi vfat defaults 0 0
/efi/EFI/mint /boot none defaults,bind 0 0
Run Code Online (Sandbox Code Playgroud)
和
<EFI part> /efi vfat defaults 0 0
/efi/EFI/centos /boot none defaults,bind 0 0
Run Code Online (Sandbox Code Playgroud)
现在,每个系统都能够在升级时将其内核放置在正确的位置,并且通过 UEFI 进行引导。
链接:
归档时间: |
|
查看次数: |
6852 次 |
最近记录: |