引導分割區的檔案系統

引導分割區的檔案系統

我使用 gdisk 在硬碟上建立了 BIOS 啟動分割區:

$ sudo gdisk /dev/sdb
Command (? for help): p
Disk /dev/sdb: 7821312 sectors, 3.7 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): F7F2BE49-B8D8-4910-8E69-381DEBD954DC
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 7821278
Partitions will be aligned on 4-sector boundaries
Total free space is 2 sectors (1024 bytes)

Number  Start (sector)    End (sector)  Size       Code  Name
   1              36         7168035   3.4 GiB     EF02  BIOS boot partition
   2         7168036         7821278   319.0 MiB   8300  Linux filesystem

Command (? for help): q

我需要安裝這個 BIOS 分割區:

$ sudo mount /dev/sdb1 /mnt
mount: block device /dev/sdb1 is write-protected, mounting read-only
mount: you must specify the filesystem type

為了掛載此 BIOS 分割區,要使用什麼相關的檔案系統類型?我在網路上讀到 ext2 很好,但我找不到原因的解釋。

答案1

BIOS 啟動分割區不包含檔案系統;它只是放置一些 GRUB 程式碼的地方,這些程式碼在 MBR 磁碟上位於開機磁區之後、第一個分割區開始之前。在 GPT 磁碟上,該區域由(較大的)分割區表使用,且不可用於引導程式碼,因此引導程式碼位於一個小分割區中。

BIOS 開機分割區應該要非常小:1 MB 就夠了。為您的檔案系統建立一個單獨的(更大的)分割區。


請注意,某些系統有一個單獨的/boot目錄分區,其中包含一個檔案系統以及引導程式使用的其他檔案。 這與 BIOS 引導分割區不同。

  • /boot目錄包含大部分引導程式程式碼及其配置;這就是 GRUB 所說的「第 2 階段」。每個 Linux 系統都需要這些檔案。
  • BIOS 開機分割區僅適用於使用 GPT 磁碟的傳統 MBR 式開機時。它包含引導程式用來掛載帶有「stage 2」檔案的分割區的「stage 1.5」程式碼。
  • 在使用 EFI 式開機的系統上,沒有 BIOS 開機分割區。相反,有一個 EFI 系統分區,其中包含完全不同的“第 1 階段”引導程序,它能夠/boot自行掛載和訪問“第 2 階段”文件,而不需要“第 1.5 階段”作為中間步驟。

答案2

查看維基百科頁面BIOS 啟動分割區看起來這確實是您的選擇。

摘抄

BIOS 開機分割區通常非常小。它可以小至約 30 KiB;但是,未來的引導程式可能需要更多空間,因此建議建立更大的 BIOS 開機分割區。由於大多數現代磁碟分割工具使用 1 MiB 分割區對齊策略來為高級格式磁碟、SSD 裝置和某些類型的 RAID 配置提供最佳效能,因此 1 MiB 是 BIOS 開機分割區的邏輯大小。

支援它的工具清單看起來也不會造成任何限制:

已知以下實用程式支援 BIOS 開機分割區:

  • GRUB 2(1.97~beta1或更高版本):當安裝過程中發現BIOS開機分割區時,GRUB會將自己嵌入其中。
  • GNU Parted(2.0 或更高版本)。
  • GParted,GNU Parted 的前端。
  • NetBSD(5.0 或更高版本)中的 gpt(8) 分割區編輯器。
  • gdisk:GPT fdisk

所以我可能會使用 ext2 或 ext3,稍微傾向於 ext3。

相關內容