有没有人知道一个用于解析grub2的grub.cfg文件的Python解析器?
我正在尝试通过设备分区(根目录)获取“menuentry”,例如:
hd0,msdos1: ['Ubuntu, with Linux 3.0.0-15-generic',
'Ubuntu, with Linux 3.0.0-15-generic (recovery mode)',
'Ubuntu, with Linux 3.0.0-14-generic']
hd2,msdos1: ["Windows 7 (on /dev/sdc1)"]
etc.
Solution:
re.findall("menuentry ['\"](.*?)['\"].*?set root='(.*?)'", x, re.S)
[('Ubuntu, with Linux 3.0.0-15-generic', '(hd0,msdos1)'),('Ubuntu,使用Linux 3.0.0-15-generic','(hd0,msdos1)'),('Ubuntu,使用Linux 3.0.0-15-generic(恢复模式)','(hd0,msdos1)'),('Ubuntu,使用Linux 3.0.0-14-generic','(hd0,msdos1)'),('Ubuntu,使用Linux 3.0.0-14-generic(恢复模式)','(hd0,msdos1)'),('Ubuntu,使用Linux 3.0.0-13-generic','(hd0,msdos1)'),('Ubuntu,使用Linux 3.0.0-13-generic(恢复模式)','(hd0,msdos1)'),('Ubuntu,使用Linux 3.0.0-12-generic','(hd0,msdos1)'),('Ubuntu,使用Linux 3.0.0-12-generic(恢复模式)','(hd0,msdos1)'),('内存测试(memtest86+)','(hd0,msdos1)'),('内存测试(memtest86+,串行控制台115200)','(hd0,msdos1)'),('Windows 7(位于/dev/sdc1)','(hd2,msdos1)')]
注:这是一段关于操作系统引导的信息,其中列出了可用的操作系统和相应的启动位置。