您当前的位置:首页 > 计算机 > 系统应用 > Linux

syslinux 的EFI启动以及中文菜单

时间:07-21来源:作者:点击数:

搞这个玩意儿完全是因为之前给一个客户定制了一个Clonezilla的备份恢复工具,让他在启动菜单那直接选菜单就能进行备份/恢复操作,结果没成想因为疫情原因,只能他自己做备份恢复,结果一不小心把恢复菜单选成备份了,导致原来备份好的内容被要恢复的机器上内容覆盖了。想来想去应该还是中国人对英文天生就没那么敏感。如果是中文菜单,选错几率应该下降50%,所以还是做中文菜单吧。

  1. 先说中文菜单的事吧,其实syslinux应该目前还不支持中文显示,google了以下,貌似2012年有个讨论的邮件列表也还没说支持UTF-8参考1,看下面这个邮件讨论参考2有一些关于PSF console字体的信息,不过年纪大了精力不够实在懒得去深入研究了。
    其实baidu以下,就有解决方法,应该是某位国人做了一个软件,将syslinux.cfg配置文件里面的中文字符转换为psf格式的字符,生成一个新的配置文件和psf字体,并引用新生成的psf字体,在启动的时候就能显示中文菜单了。
    在这里插入图片描述
    这个软件还是2008年的时候写的,有大量的用这个做的中文菜单的资源,可以参看这个软件hzpsf.exe的地址貌似是ubuntu的网站,可以直接下载。
    方法什么的下载回来的压缩包里都写好bat文件了,主要是编辑一下,我之前做的死活是乱码,不显示中文,最后各种测试,U盘都快拔插坏了,后来终于发现,配置文件必须要用GB2312编码后,转换出来的字体以及配置文件才能正常显示中文,新建配置文件的时候,先要设置编辑器编码为GB2312,再来编辑保存。这样就能保证生成的配置文件才能正常显示中文菜单。当然,这是一个坑,没遇到的人直接点那个bat就生成好了,遇到的人估计和我一样痛苦万分.
  2. 下面说说UEFI启动,syslinux目前是支持UEFI启动的,至于我为什么要用UEFI,因为有的备份移动硬盘大于2T了,有的又小于2T,所以大于2T的盘用GPT + UEFI方式是必然的了。本来Clonezilla是支持UEFI +GRUB方式启动的,但启动菜单配置文件就得维护2份了。都统一syslinux启动得了。UEFI启动设置更简单,都不需要去安装什么启动块了。直接让硬盘的第一个分区为FAT32格式(uefi要求),然后去下载UEFI的启动文件放到对应目录,把第一步生成的中文字体和syslinux.cfg配置文件拷贝过来就可以了。
    我这里参考了archlinux的文章,下载的也是archlinux的包,下载下来直接7-zip一路解压,将
    syslinux-6.04.pre2.r11.gbf6db5b4-3-x86_64.pkg\usr\lib\syslinux\efi64
    这个目录下的全不文件拷贝到U盘(或者移动硬盘第一个FAT32分区)的
    EFI\BOOT
    目录下,然后将
EFI/BOOT/syslinux.efi  改名为 EFI/BOOT/bootx64.efi

这样将电脑设置为UEFI方式启动,就会看到咱们前面修改的中文菜单也能在这里显示了。

我做好的启动菜单大概就是下面这个效果

syslinux中文菜单
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门