首頁>Club>
1
回覆列表
  • 1 # 大國師魂系列

    grub_install安裝引數主要有以下注意事項嚴格地說是core.img的安裝位置,因為boot.img的位置是固定在MBR或VBR或EBR上的。

    (1).MBR

    MBR格式的分割槽表用於PC BIOS平臺,這種格式允許四個主分割槽和額外的邏輯分割槽。使用這種格式的分割槽表,有兩種方式安裝GURB:

    嵌入到MBR和第一個分割槽中間的空間,這部分就是大眾所稱的"boot track","MBR gap"或"embedding area",它們大致需要31kB的空間;將core.img安裝到某個檔案系統中,然後使用分割槽的第一個扇區(嚴格地說不是第一個扇區,而是第一個block)儲存啟動它的程式碼。

    這兩種方法有不同的問題。

    使用嵌入的方式安裝grub,就沒有保留的空閒空間來保證安全性,例如有些專門的軟體就是使用這段空間來實現許可限制的;另外分割槽的時候,雖然會在MBR和第一個分割槽中間留下空閒空間,但可能留下的空間會比這更小。

    方法二安裝grub到檔案系統,但這樣的grub是脆弱的。例如,檔案系統的某些特性需要做尾部包裝,甚至某些fsck檢測,它們可能會移動這些block。

    GRUB開發團隊建議將GRUB嵌入到MBR和第一個分割槽之間,除非有特殊需求,但仍必須要保證第一個分割槽至少是從第31kB(第63個扇區)之後才開始建立的。

    現在的磁碟裝置,一般都會有分割槽邊界對齊的效能最佳化提醒,所以第一個分割槽可能會自動從第1MB處開始建立。

    (2).GPT

    一些新的系統使用GUID分割槽表(GPT)格式,這種格式是EFI韌體所指定的一部分。但如果作業系統支援的話,GPT也可以用於BIOS平臺(即MBR風格結合GPT格式的磁碟),使用這種格式,需要使用獨立的BIOS boot分割槽來儲存GRUB,GRUB被嵌入到此分割槽,不會有任何風險。

    當在gpt磁碟上建立一個BIOS boot分割槽時,需要保證兩件事:(1)它最小是31kB大小,但一般都會為此分區劃分1MB的空間用於可擴充套件性;(2)必須要有合理的分割槽型別標識(flag type)。

    例如使用gun parted工具時,可以設定為bios_grub標識:

    1

    2

    # parted /dev/sda toggle partition_num bios_grub

    # parted /dev/sda set partiton_num bios_grub on

    如果使用gdisk分割槽工具時,則分類型別設定為"EF02"。

    如果使用其他的分割槽工具,可能需要指定guid,則可以指定其guid為"21686148-6449-6e6f-744e656564454649"。

    下圖是某個bios/gpt格式的bios boot分割槽資訊,從中可見,它大小為1M,沒有檔案系統,分割槽表示為bios_grub。

    下圖為gpt磁碟在圖形介面下安裝作業系統時建立的Bios boot分割槽。

  • 中秋節和大豐收的關聯?
  • 鑄就長城的詩句?