![在 GRUB 2 中制作“About PC”引导选项](https://linux22.com/image/225883/%E5%9C%A8%20GRUB%202%20%E4%B8%AD%E5%88%B6%E4%BD%9C%E2%80%9CAbout%20PC%E2%80%9D%E5%BC%95%E5%AF%BC%E9%80%89%E9%A1%B9.png)
答案1
这取决于。您精通任何编程语言吗?
坦率地说,弄清楚诸如此类的事情安装的软件包总数和你的 shell 的版本在 GRUB 中很难找到。由于内核尚未加载(GRUB 可以为您提供一个内核版本菜单供您选择),因此此时可能还没有决定要运行的操作系统名称和内核版本。
因此,最简单的方法可能是制作一个在每次启动时运行的脚本,收集您想要显示的信息,并将其呈现为 GRUB 启动图像。当您安装更新并重新启动时,信息可能会稍微过时,直到下次重新启动时更新启动图像。
或者如果您愿意,您可以将启动画面更新脚本挂接到最重要的更新程序上:例如,您可以通过将启动画面更新脚本放置/链接到/etc/kernel/install.d
(或者/etc/kernel/postinst.d
,如果它可以在 Arch 上使用的话),使新内核的后期安装也自动更新启动画面。
如果你确实希望在启动时从实际硬件中找出信息,你应该首先熟悉GRUB命令提示符,看看它的命令可以找出什么:该set
命令可以提供一些基本信息,lsmmap
会描述可用的RAM,vbeinfo
应列出可用的显示模式(在 i386-pc MBR 上;在 UEFI 上,请使用videoinfo
)。
lspci
将提供可用于识别 GPU 和芯片组等系统组件的信息...但是您需要添加某种查找表来提供人类可读的描述,而不是主要的 ID 号和通用设备类别标识。
查询 DMI 信息可能会给您提供获得有意义的主板/系统型号描述的最佳机会...但我不确定 GRUB 是否有相应的命令/模块。
曾经有一个项目开发一个可启动的硬件检测工具HDT。其网页仍然可以通过 Wayback Machine 找到。它主要设计用于 SYSLINUX 及其变体,但也可能适用于 GRUB 引导。