對兩個 Linux 系統進行雙重引導的分區
我想在我的筆記型電腦上雙啟動兩個 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
將只有一個配置開始GRUB
從boot
它設置為預設設置的分區載入?更新 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 進行引導。
連結: