(前提是 SSD 上的分割區和檔案系統對齊有意義:)
在 SSD 上進行分割區對齊時,開頭會有一些未使用的空間(例如,如果第一個分割區從磁區 2048 開始,且邏輯磁區大小為 512 位元組,則大約為 1 MiB)。
使用該空間是否有任何缺點(可以有一個保存 GRUB 的小分區,或者也可以不在扇區 2048 而是在 64 MiB 處啟動根文件系統,並使用先前的空間作為 /boot 分區。該文件系統可能未對齊,但很少寫入)?
我看不出任何反對它的地方(除了在使用 DOS 分區佈局時丟失一個主分區之外),是否有任何不明顯的反對意見? (我還發現嘗試使用最初的 1-4 MiB 空間並沒有多大好處,除了不浪費它可能「看起來更好」)。
答案1
選擇 1MB 偏移量是因為無論底層儲存如何,它幾乎可以保證對齊。當磁碟變成 4KiB 磁區時,它會首次被選取。但對齊就是對齊,這應該不重要。
說故事的時間!
當我必須讓我的第一個4K 磁碟在舊陣列中工作時,我會從磁區56 開始分割區(相對於傳統的63),因為移動到磁區64 是不可能的:那麼分割區就不會很大足以加入 RAID 陣列。在 DOS 分割表上,這佔用了一些用於 GRUB 的空間,但幸運的是我仍然有足夠的空間。後來當我獲得更大的磁碟時,我移動到了2048扇區。當然,系統中的磁碟不同會增加系統管理員的工作量,但是,這就是生活。 (值得慶幸的是,我已經能夠淘汰大部分系統)。
1MB 的空間在多 TB 的磁碟上並不引人注目。它也不是在數百 GB 的 SSD 上。我承認做浪費空間讓我有點惱火——我的意思是,在我成長的時代,120MB 就是一個巨大的硬碟,作業系統可以裝在軟碟上。1MB!這就是一個完整的作業系統!
不過,它有一個巨大的優勢:它針對 4K 磁碟進行對齊,針對 SSD(其物理區塊大小至少為 64KiB)進行對齊,在陣列上進行條帶對齊相當容易,並且它會可能會在相當長一段時間內在所有合理的儲存技術上保持一致。
但是,如果您只有一個磁碟,除了不標準之外,確實沒有任何缺點(例如,如果我嘗試在丟失分區表後恢復磁碟數據,我會首先檢查從 2048 開始的分區.)
至於其他選擇:非對齊引導並不是什麼大問題。讀取可能會慢一點,寫入也會慢得多,但這兩種情況都不會經常發生而引起人們的注意。然而,64MB 的 /boot 分區太小了,我不會小於 256MB。即使是目標(而不是通用)initrd 也約為 5MB,核心的另一個約為 4MB,並且在幾次更新後您很快就會耗盡空間(除非您經常清除舊核心)。不過,只要您不將核心/initrds 放在那裡,EFI 啟動就應該沒問題。
答案2
擠個bios_grub
分區進去就完全沒問題了64s-2047s
。對於 DOS 分割區,這就是前幾個磁區的用途(只是沒有任何分割區)。
對於資料分割區、實際檔案系統,我會堅持使用 MiB 對齊。
答案3
如果系統啟用了 BIOS「開機磁區保護」功能,則使用整個磁碟進行軟體 RAID 可能會使 RAID 軟體不滿意,因為 BIOS 功能會阻止(為了極大的安全性!)寫入那些早期區塊。因此,這是使用整個磁碟的一個潛在缺點(沒有檢查 BIOS 的此類功能並確保它們已關閉)。