我一直在寻找解决黑屏问题的方法,发现一些页面具有非常相似的解决方案,但每个页面都使用不同的 grub 文件进行编辑。
例如,我在这里/etc/default/grub
和这里找到了使用 grub 的示例/boot/grub/grub.cfg
。
它们之间有什么区别?我应该编辑哪一个?
答案1
正如开头的评论所说/boot/grub/grub.cfg
:
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
换句话说,任何时候您运行update-grub
或者它为您运行(例如,安装新内核或某些其他软件包时),grub.cfg 都会被丢弃并重新创建,因此请编辑 /etc/default/grub。
答案2
如果您使用的是 ubuntu 9.10 karmic koala 或更高版本,那么它是 Grub2。Grub2 使用/boot/grub/grub.cfg
并在您调用命令时自动生成,update-grub
因此您无法编辑它。
你必须编辑 /etc/default/grub
或者/etc/grub.d/
但是永不编辑 /boot/grub/grub.cfg
答案3
/etc/default/grub 是用户可编辑的文件,update-grub 和 grub-mkconfig 会使用它来构建 /boot/grub/grub.cfg,而用户通常不会对其进行编辑。一些实验者等会编辑它,尽管他们知道(或不知道)下次运行 update-grub 时,他们的更改将被清除。
/etc/grub.d/ 中还有另一组文件,它们是 grub-mkconfig 在制作 /boot/grub/grub.cfg 过程中使用的脚本。这是 grub magic 的另一个常用位置。
答案4
第一个文件 /etc/default/grub 是您应该编辑的文件。第二个文件 /boot/grub/grub.cfg 是通过运行 update-grub 生成的。每个文件的开头都有注释,提醒您哪个是哪个。它提到了 grub-mkconfig,但这是一个由 update-grub 运行的程序。
第一个文件只包含相当永久的信息,用于告诉 update-grub 您想要什么。第二个文件将这些信息与您运行 update-grub 时系统上的操作系统合并,并且 grub 本身会使用这些信息来生成启动菜单。
要查看有关使用 /etc/default/grub 的信息,请使用该info -f grub -n 'Simple configuration'
命令。
大多数人都不需要处理这些。安装 Ubuntu 时,它会将一些合理的内容放入 /etc/default/grub 中,仅此而已。