最近有些偏執,總是在一些小問題上出錯,並且這些錯誤都搜索不到正確的解決方法.這大概就是來自技術小白的悲哀吧.因爲操作的時候不按常理出牌,所以導致出錯的原因也是鮮爲人知的,如入無人之境.
在配置 Kickstart 實現自動化光盤安裝的時候,系統報出這樣的錯誤然後就中斷安裝了.
grub2 does not support installation to a partition uefi kickstart
下面是我係統出錯的配置:
bootloader --location=partition
出現這個問題的原因有兩個:
- 我希望通過gurb2去引導系統
- 我在配置
bootloader
中指定了--location=partition
這個選項
說實話,我並沒有認真去查看教程,而只是一味的憑藉自己的猜測去推斷這樣配置的用途,我原以爲這樣配置系統會自動安裝grub2到uefi分區上,但實際上我想錯了.
紅帽官方教程是這樣解釋的:
bootloader --driveorder=sda,hda
–location= - 指定引導記錄的寫入位置。有效值如下:
-
mbr - 默認選項。具體要看該驅動器是使用主引導記錄(MBR)還是 GUID 分區表(GPT)方案:
- 在使用 GPT 格式化的磁盤中,這個選項會在 BIOS 引導分區中安裝 stage 1.5 引導裝載程序。
- 在使用 MBR 格式化的磁盤中,會在 MBR 與第一個分區之間的空白空間中安裝 stage 1.5。
-
partition - 在包含內核的分區的第一個扇區中安裝引導裝載程序。
-
none - 不安裝引導裝載程序。
在大多數情況下不需要指定這個選項。
注意最後,在大多數情況下其實是不需要指定這個選項的,安裝程序會自動識別應該怎麼安裝引導程序的.
在指定mbr
選項後,系統會查看磁盤分區表類型是MBR類型的還是GPT類型的,如果是GPT類型的話,會在BIOS引導分區也就是EFI分區安裝引導裝載程序;如果是MBR分區的話,則會在MBR與第一個分區之間的空白空間安裝 stage1.5.
boatloader --location=mbr
不要指定partition
選項了,一開始我以爲這個選項是用於uefi類型的安裝程序的,但目前看來使用mbr
參數就可以了,如果有誰搞明白partition
這個選項的具體是怎麼用的希望能夠在評論處解釋一番.
關於異常判斷的源碼,在github上kickstart.py的第279行:
pyanaconda/kickstart.py