如何编辑grub2以使用kdump?

如何编辑grub2以使用kdump?

我正在关注http://fedoraproject.org/wiki/How_to_use_kdump_to_debug_kernel_crashes在步骤 2 中,我需要将行添加到 grub.cfg,但 grub.cfg 是一个 shell,我不知道如何编辑它,大多数可用资源只告诉您重新排列菜单项的方法,任何人都可以告诉我应该做什么被添加到文件中。我使用 64 位 Fedora 18。

答案1

grub 中的内核行应如下所示:

kernel /vmlinuz-3.1.4-1.fc16.x86_64 ro root=/dev/VolGroup00/LogVol00 rhgb LANG=en_US.UTF-8 crashkernel=128M

说明书中有一条注释:

(...) 示例命令行可能如下所示 (对于 grub2,“kernel”被替换为“linux”):

因此,您正在寻找的是如何替换内核启动参数。通过修改文件GRUB_CMDLINE_LINUX_DEFAULT中的可以轻松实现这一点/etc/default/grub。然后运行su -c 'grub2-mkconfig -o /boot/grub2/grub.cfg'更新脚本。

  1. 用编辑器打开/etc/default/grub
  2. 查找GRUB_CMDLINE_LINUX_DEFAULT,如果不存在则添加它。
  3. 将其附加crashkernel=128M到该行,如下所示:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet crashkernel=128M"
    
  4. 保存文件。

  5. 跑步su -c 'grub2-mkconfig -o /boot/grub2/grub.cfg'
  6. 检查 grub.cfg 文件,其中包含正确的行:

    grep -i quiet /boot/grub/grub.cfg
        linux   /vmlinuz-3.12-1-amd64 root=UUID=cead26d6-08f4-4894-ac78-a9a4ce59f773 ro initrd=/install/initrd.gz quiet crashkernel=128M
        linux   /vmlinuz-3.12-1-amd64 root=UUID=cead26d6-08f4-4894-ac78-a9a4ce59f773 ro initrd=/install/initrd.gz quiet crashkernel=128M
    
  7. 重新启动并完成。

答案2

如果你的意思是这样:

接下来,编辑 /boot/grub/grub.conf 或 /boot/grub2/grub.cfg 并添加“crashkernel=128M”命令行选项。

这意味着只需将其添加到以“linux”开头的块中的行末尾即可menuentry { ... }- 第一个这样的块通常是默认的,但无论您想要哪个,只要您在启动时能记住即可。或者全部,如果你愿意的话。他们都会(只有)一条这样的线。

Grub2 原本应该有某种 CLI 工具或控制台应用程序,你可以用它来配置东西,但据我所知,这从未实现。它是通过某种来源和模板系统进行管理的,大多数用户不会被打扰,所以现在他们还有另一个配置文件,上面写着“不要编辑”,每个人都可以编辑它。那好吧。只要它有效...

相关内容