Linux-Mint

對兩個 Linux 系統進行雙重引導的分區

  • February 21, 2018

我想在我的筆記型電腦上雙啟動兩個 Linux 發行版。一個馬厩(我發現與 Yoga 3 Pro 配合得很好的 Mint 18)和一個可能會經常更換的馬厩;我想嘗試不同的發行版,比如 Fedora 或 OpenSuse,而不會破壞我穩定的工作環境。

我想知道我應該如何在這裡對引導分區進行分區。我想以最簡單的方式來完成它,這樣可以輕鬆刪除第二個 Linux 安裝。

我在考慮有兩個引導分區,每個 Linux 一個。在安裝主 Linux 期間,我可以選擇將引導載入程序放入 MBR,然後將第二個放入適當的分區。但是每次安裝新的測試發行版時,我都必須更新 Mint 的 grub;那會是一個很好的解決方案嗎?另外,我不確定我是否可以有兩個 EFI 分區。

這裡最穩定和安全的選擇是什麼?


更新 1

首先,我做了更多的研究,並意識到我對一些事情感到困惑。我不知道在 UEFI 模式下安裝 [ 2 ] (1)時完全忽略 Mint 安裝期間的Device for boot loader installation [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 )

然後在安裝每個 Linux 的過程中,我會創建 4 個正確分區的掛載點:

  • /boot/efi
  • /boot
  • /
  • swap

這合理嗎?我是否正確理解Device for boot loader installation在 Mint 安裝期間選擇的選項在 EFI 模式下是多餘的,我不應該再擔心了嗎?我是否正確理解現在共享ESP將只有一個配置開始GRUBboot它設置為預設設置的分區載入?


更新 2

我將採用我上面提出的方案。但是,創建分區/dev/sda1-/dev/sda3通過GParted導致 Mint 安裝程序中的一些錯誤。我通過銷毀這些分區並從 Mint 安裝程序再次創建它們來重複該過程,並且進展順利。/dev/sda4我在執行 Mint 安裝程序之前GParted創建並從終端創建本地捲。這個關於 LVM 的教程對此非常有幫助

$$ 4 $$.


更新 3

安裝 Mint 後,我繼續安裝 Fedora (3);之後,系統預設啟動到 Fedora,但在 BIOS 中我可以選擇 Ubuntu 或 Fedora,它們都執行良好。

我將 BIOS 更改為首先從 Mint 啟動,然後從 Mint 我執行:

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

這使我現在基本上可以啟動兩個 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 $$ 3 $$ https://askubuntu.com/a/501360 $$ 4 $$ https://www.howtoforge.com/linux_lvm

如果您使用 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

\loader\entries\centos.conf

title    CentOS
linux    \centos\vmlinuz-linux
initrd   \centos\initramfs-linux.img
options  root=PARTUUID=14420948-2cea-4de7-b042-40f67c618661 rw

您需要引導載入程序的 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

<EFI part> /efi vfat defaults 0 0
/efi/EFI/centos /boot none defaults,bind 0 0

現在,每個系統都可以在升級時將其核心放置在正確的位置,並且通過 UEFI 進行引導。

連結:

引用自:https://unix.stackexchange.com/questions/304069