Kickstart 配置:grub2 does not support installation to a partition uefi kickstart

最近有些偏执,总是在一些小问题上出错,并且这些错误都搜索不到正确的解决方法.这大概就是来自技术小白的悲哀吧.因为操作的时候不按常理出牌,所以导致出错的原因也是鲜为人知的,如入无人之境.

在配置 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章