最近有些偏执,总是在一些小问题上出错,并且这些错误都搜索不到正确的解决方法.这大概就是来自技术小白的悲哀吧.因为操作的时候不按常理出牌,所以导致出错的原因也是鲜为人知的,如入无人之境.
在配置 Kickstart 实现自动化光盘安装的时候,系统报出这样的错误然后就中断安装了.
grub2 does not support installation to a partition uefi kickstart
下面是我系统出错的配置:
bootloader --location=partition
出现这个问题的原因有两个:
bootloader
中指定了--location=partition
这个选项说实话,我并没有认真去查看教程,而只是一味的凭借自己的猜测去推断这样配置的用途,我原以为这样配置系统会自动安装grub2到uefi分区上,但实际上我想错了.
红帽官方教程是这样解释的:
bootloader --driveorder=sda,hda
–location= - 指定引导记录的写入位置。有效值如下:
mbr - 默认选项。具体要看该驱动器是使用主引导记录(MBR)还是 GUID 分区表(GPT)方案:
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