是否需要為多個 Linux 作業系統安裝建立單獨的 /boot 分割區?

是否需要為多個 Linux 作業系統安裝建立單獨的 /boot 分割區?

是否需要為多個 Linux 作業系統安裝建立單獨的 /boot 分割區?

答案1

如今,任何主要的 Linux 發行版都不需要單獨的 /boot 分割區(這樣做甚至會造成一些麻煩)。如果您嘗試在單一開機分割區上執行多個 Linux 安裝,您很可能會遇到開機問題。最好的做法是為所有 Linux 分配一個交換分割區,然後為每個安裝分配一個 ext3/4/BTRFS/任何分割區,除非您有特殊原因要這樣做,否則您將在其中放置所有系統以及每個Linux安裝的使用者檔案。您可以根據需要擁有單獨的資料分割區/驅動器,並根據需要將其安裝在每個作業系統中。

答案2

您是否需要為每個 Linux 分配一個單獨的 /boot 分割區?

每個發行版都會假設它是唯一修改 /boot 的東西(通過yum, apt, ...)。不要讓多個發行版管理相同的內容/boot 目錄(分割)。系統升級將有效地爭奪這一點。

如果您將一個分割區專用於 /boot,則每個發行版通常都需要自己的分割區。

/boot是什麼?

這是一個不太容易理解的話題,請小心閱讀。 /boot 目錄充當橋樑,允許正在運行的作業系統讀取和寫入引導程式的配置。它在運行時不存在任何其他用途。

/boot 目錄是一個儲存引導程式的配置和插件以及核心和 initramfs 的空間。

當您啟動系統時,電腦的韌體將啟動引導程序,引導程式將讀取/boot,載入配置。然後它將載入所需的核心和 initramfs 檔案。

事實上,在大多數正常情況下將其安裝在 Linux 中的唯一原因是系統升級工具(由yumapt、... 呼叫)可能期望它存在,以便它們可以安裝新核心等。這些工具非常不靈活。我不建議您在沒有 /boot 目錄的情況下運行。

/boot 需要有自己的分割區嗎?

經常沒有。將 /boot 放在自己的分割區上的一個很好的理由是,您的系統根目錄 / 可以儲存在引導程式無法讀取或無法很好讀取的位置。

感覺很勇敢嗎?

實際上,您可以透過兩種機制共享/boot。但我並不建議其中任何一個都是可取的。

只有一個 Linux 安裝核心和引導程式

在各個發行版中,Linux 核心的兼容性令人驚訝。至少那些具有類似Major版本的可以。因此,可以有一個沒有安裝引導程式或核心的發行版。這樣的設定不應嘗試修改 /boot,即使修改也不會放入任何有用的內容。

因此,您可以讓一個 Linux 管理另一個 Linux 的所有開機條目,並在它們之間共用一個核心。

子目錄

人們通常不會想到這一點,但將某些東西綁定安裝到 /boot 上是相當安全的。透過此機制,您可以為每次安裝建立一個包含不同名稱的引導目錄的分割區。

你的/etc/fstab看起來像這樣:

# Mount the boot partition
UUID=cb015492-4ca4-4fae-a416-6d89443e4680 /media/boot           ext4    defaults        0       2
# Bind mount the desired 
/media/boot/ubuntu-jammy-boot /boot none bind 0 0

上次我檢查這一點時,看起來已經理解了EFI 中的grub-install安排並正確配置了 grub 。grub.cfg例如:/boot/efi/EFI/ubuntu/grub.cfg。如果沒有,那麼您可以手動批次處理此文件中的設定行:

set prefix=($root)'/ubuntu-jammy-boot/grub'

答案3

需要分區有兩個理由/boot

  • BIOS 無法存取大磁碟上的任何磁區,
  • 引導程式無法載入用於/.

我想第一個理由對於當今的系統來說是不正確的。借助 Grub2,甚至 LVM 或 Btrfs 之類的東西也可以在第一階段載入(涉及檔案系統外部的第一個磁區)。

然而,到了2022年,我單卷安裝Debian失敗了/ + /boot。它位於雲端伺服器上,沒有太多方法來分析發生的情況(我的視野中沒有顯示)。

相關內容