迁移到 GRUB2 后,我的 Arch Linux 不再从休眠状态恢复,因为不再设置实际恢复。在 GRUB 旧版中,我会写:
/boot/grub/菜单.lst:
kernel /vmlinuz26 root=/dev/disk/by-uuid/X ro resume=/dev/disk/by-uuid/Y ro
但是,随着 GRUB2 处理启动菜单的新方式的出现,我不再知道如何、在何处以及以何种形式添加它。我猜你会将整个菜单项添加到 /etc/grub.d/40_custom/ 并以某种方式在那里设置恢复?手动将菜单项硬编码到 GRUB2 中似乎违背了其灵活的菜单生成方法,但无论什么都能让我重新使用休眠模式,我都会欣然接受。
谢谢!
答案1
使用 root 权限打开/etc/default/grub
并添加GRUB_CMDLINE_LINUX="resume=/dev/sdXY"
WhereXY是交换分区位置,可以通过 找到sudo fdisk -l
。看起来你正在使用 UUID,这很好。/etc/default/grub
只会影响当前操作系统,所以不用担心每个使用 grub 的 Linux 操作系统都会开始使用该交换分区。完成编辑后,运行sudo grub-mkconfig -o /boot/grub/grub.cfg
(替换grub.cfg
为 grub 在启动时读取的任何文件,例如它可能被命名为/boot/grub/grub.efi
)以使用你在 中更改的内容更新你的 grub 启动信息/etc/default/grub
(我认为在 Ubuntu 上不需要这样做)
笔记可能需要添加一个恢复钩子,以确保内核知道如果正在使用 Archlinux 或其他操作系统,它应该恢复。为此,如果使用 mkinitcpio,请转到并在、和之前但在 之后的HOOKS 数组中/etc/mkinitcpio.conf
插入。然后,您需要通过以下方式重建初始 ramdisk(用于加载模块的早期操作系统状态,包括恢复)映像:resume
filesystems
ide
scsi
sata
mkinitcpio -p linux
其他可能有帮助的链接
https://askubuntu.com/questions/6769/hibernate-to-a-swap-file
https://wiki.archlinux.org/index.php/Pm-utils#Mkinitcpio_Resume_Hook