我正在运行 Fedora 31,当我安装它时 (F29),我将该选项添加mem_sleep_default=deep
到GRUB_CMDLINE_LINUX_DEFAULT
了/etc/default/grub
. 现在我想删除该选项,但发现了这样的文件:
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX=""
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
Run Code Online (Sandbox Code Playgroud)
我记得还有很多类似rd.lvm.lv
或 的选项rd.luks.uuid
,幸运的是仍然存在/boot/efi/EFI/fedora/grub.cfg
,但我在其他地方找不到它们。
我认为自从升级到 F30 或 F31 以来,情况可能会发生变化。我还注意到这GRUB_ENABLE_BLSCFG=true
可能意味着现在事情的处理方式有所不同。我读到我不应该grub2-mkconfig
再使用 grubby 来更改 kernelopts。但我担心失去所有我认为重要的内核优化。
那么处理这个问题的正确方法是什么?
我正在尝试从头开始手动将 Debian 安装到 Live Debian CD 中的外部磁盘上。
我按照此处 ( 44fbcc
)的说明通过 multistrap 创建了 Debian Stretch rootfs 。
在内部chroot
环境中,当涉及到Grub安装时,我将Grub2安装到MBR:
debian:~# grub-install /dev/sdX --boot-directory=/boot
Run Code Online (Sandbox Code Playgroud)
命令运行没有错误。当我需要创建 时/boot/grub/grub.cfg
,它会抛出以下错误:
debian:~# grub-mkconfig
/usr/sbin/grub-probe: error: cannot find a device for / (is /dev mounted?).
Run Code Online (Sandbox Code Playgroud)
是的,与和/dev
一起安装在此处。/sys
/proc
/run
如何生成grub.cfg
内部chroot
环境?