|
本帖最后由 hkkitlee 于 2019-12-29 14:55 编辑
查看過grub2手冊,粗略估計:
中文字以‘模組’存放在$locale_dir當中,所以當使用$lang時$locale_dir為必要「變量」。
本地啟動是以磁盤作為根,根下存放模組及其他文件,有需要時加載。
問題應該是pxe啟動:當啟動時「只能」從bootserver加載單一文件,所以其他模組亦忽略了。
除非將「所有」模組、功能編譯成單一文件;但grub2好像不支持。
亦可能因為這樣,所以「你編譯時才報錯」(18樓)。
看看幫不幫到忙?編譯成網絡盤提取伺服器上其他文件:https://www.ibm.com/developerworks/community/blogs/5144904d-5d75-45ed-9d2b-cf1754ee936a/entry/uefi-grub2?lang=en
6. 创建PXE引导
grub2支持EFI环境通过PXE引导操作系统。
需要在PXE server端创建EFI启动需要的目录结构。 利用grub2-mknetdir命令,此命令将会产生一个boot/grub2/x86_64-efi目录,此目录为PXE启动必备目录,将此目录拷贝到tftp server的root目录下。其中efinet、tftp为必备模块,用以支持grub2的tftp传输。
# grub2-mknetdir --modules="fat part_msdos search normal linux font all_video reboot configfile efinet ntfs tftp echo gfxterm" --net-directory=.
image
1) 将grub2-mknetdir生成的core.efi重命名为pxelinux.0,部分PXE引导过程中只识别此文件名。
2) 此版本grub2在PXE引导过程中不支持手动grub命令提示符,即通过grub命令提示符不能找到任何可启动设备。
3)解决方法为将合适的grub.cfg拷贝到服务器对应目录下,grub2能够自动识别启动设备并下载相应启动文件。一般情况下将grub.cfg放置在同pxelinux.0一个目录下。
简易grub.cfg如下:
insmod all_video
set gfxmode=800x600
set gfxpayload=keep
set timeout=3
insmod gfxterm
terminal_output gfxterm
menuentry ' kernel EFI-BOOT-grub'{
linux /vmlinuz*** root=/dev/ram0 rw
initrd /initramfs***
}
|
|