![如何编写一个 openSUSE 脚本来更改我的 boot menu.lst 文件并自动将“nomodeset”添加到故障保护和正常启动选项?](https://linux22.com/image/322/%E5%A6%82%E4%BD%95%E7%BC%96%E5%86%99%E4%B8%80%E4%B8%AA%20openSUSE%20%E8%84%9A%E6%9C%AC%E6%9D%A5%E6%9B%B4%E6%94%B9%E6%88%91%E7%9A%84%20boot%20menu.lst%20%E6%96%87%E4%BB%B6%E5%B9%B6%E8%87%AA%E5%8A%A8%E5%B0%86%E2%80%9Cnomodeset%E2%80%9D%E6%B7%BB%E5%8A%A0%E5%88%B0%E6%95%85%E9%9A%9C%E4%BF%9D%E6%8A%A4%E5%92%8C%E6%AD%A3%E5%B8%B8%E5%90%AF%E5%8A%A8%E9%80%89%E9%A1%B9%EF%BC%9F.png)
如何编写 openSUSE 脚本来更改启动 menu.lst 文件并nomodeset
自动添加到故障安全和正常启动选项?该脚本适用于 SUSE Studio,我将在首次启动时将其编写在“每当设备启动时运行脚本”下。
答案1
在文件中查找以kopt=
,defoptions=
和altoptions=
开头的行。这些指定在通过安装新内核首次创建菜单条目时要使用的选项。之后无需编辑该文件。您还可以通过运行来更新所有现有条目。##
menu.lst
update-grub
对于 grub2,要编辑的文件是/etc/default/grub
,并且更新的命令相同。但是,要更改的参数是GRUB_CMDLINE_LINUX_DEFAULT
和GRUB_CMDLINE_LINUX
。
对于一次性更改,您可以通过进入“编辑命令行”模式直接在 grub 中对选项进行临时编辑。
答案2
如果你知道它周围肯定有什么,你可以使用 sed 或 Perl 以及类似的东西
s/preceding-text$/preceding-text nomodeset$/g
$ 假定它位于该行的末尾。前面的文本对于您需要点击的行来说必须是唯一的。
答案3
阅读发行说明
基本上,您可以使用您最喜欢的文本编辑器以 root 身份编辑 /boot/grub/menu.lst。将 nomodeset 添加到内核引导行。
或者通过 YAST 将 NO_KMS_IN_INITRD 系统配置变量设置为 yes。