我在华硕笔记本电脑上安装了 Windows7 和 Ubuntu 11.10。我有一个大型数据分区 (NTFS),由两个操作系统共享,所以我想让笔记本电脑在休眠后唤醒到原始操作系统。但是,GRUB 似乎不知道哪个操作系统启动了休眠。有没有什么方法可以通知 GRUB 操作系统已启动休眠。
这是我的想法(希望有人有比我更好的想法),但不知道从哪里开始:
在 ubuntu 上,在进入休眠状态之前,设置 GRUB_TIMEOUT=0 并运行 grub-set-default 到 ubuntu。这样,下次 GRUB 必须启动/恢复到 ubuntu。从休眠状态恢复或关机时,设置 GRUB_TIMEOUT=10(或其他非零值)。
但这只解决了一半的问题(如果这个想法可行的话)。我仍然不知道如何在 W7 休眠之前设置 GRUB 默认值。
真的很喜欢听取建议。
答案1
如果您将 /etc/default/grub 更改为包含以下两行:
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
它将始终选择最后启动的操作系统,从而无需您的干预即可启动休眠的操作系统;但是,即使您没有休眠,它也会这样做。
(感谢@drs305撰写GRUB 2 基础Ubuntu 论坛上的指南。)
答案2
我已经同时运行 Ubuntu 11.10 和 Windows 7,并且如您所述,具有单独的 NTFS 数据分区,一段时间了,我的解决方案是忽略这个问题,无论我上次离开电脑时是关机还是休眠,都可以进入 GRUB 菜单。
其效果如下:
从操作系统休眠 (a)。计算机将状态保存到磁盘并关闭。
启动计算机。它会像往常一样进入 GRUB 菜单。选择要启动的操作系统。
如果您从操作系统(a)启动,您将按照预期从休眠状态恢复。
如果您从操作系统 (b) 启动,您将从您上次离开时的状态(休眠/关机)启动该操作系统。
如果您从操作系统 (b) 启动,然后重新启动计算机并关闭操作系统 (a),它将从休眠状态恢复,中间无需启动操作系统 (b)。
简而言之,我的机器似乎可以独立处理两个操作系统的休眠和关闭,而我唯一没有的功能就是您所说的休眠后无法选择启动哪个操作系统。例如,这使得在 Windows 上工作时,意识到需要在 Ubuntu 上做某事,因此您在 Ubuntu 中休眠、重启、关闭并恢复 Windows- 这是您期望的设置无法实现的。
我不能保证它确实没有问题,或者在任何机器上都能正常工作 - 但到目前为止它没有问题为我并且效果很好在我的计算机上。
更新回复评论:
如果chkdsk
在休眠并使用 Ubuntu 后启动 W7 时启动,则可能是因为 Ubuntu 自动挂载了 W7 分区。Ubuntu 可能更改了磁盘上的某些内容,导致 W7 感到困惑。
尝试禁用 W7 分区的自动挂载 - 通过注释掉正确的行/etc/fstab
或在某个 GUI 中设置一些选项(由于某种原因,我找不到正确的设置程序......)