我最近在安装 OpenSuse 的同时还安装了 Windows。现在我有一个快速启动和切换操作系统的计划,但我需要有人告诉我这是否确实可行。
1- 我该如何优化 OpenSuse 和 Windows 的启动速度?我查看了 Linux 版的 e4rat,认为这可能是个不错的起点。Windows 版有类似的吗?
2- 是否可以从 OpenSuse 或 Windows 向 GRUB 发送信息?这就是我正在尝试做的:
- 在 OpenSuse 环境中,打开一个 shell 并输入一些命令或运行一些脚本来告诉我的计算机重新启动,并告诉 GRUB 启动 Windows 而不是询问我。
- 在 Windows 中做一些事情,然后运行某些东西来重新启动,并告诉 grub 启动 OpenSuse 而无需询问。
我的目标是实现非常短的操作系统切换,这样我就可以随时更改。我在做梦吗?
答案1
不知道如何加快启动速度,但看看GrubChooseDefault如果你足够幸运,拥有一个现代的 grub 版本。
您仍然需要让保存 grub 配置的分区在 Windows 中可见(上面的链接有指向该分区的指针),所以这并不理想。
以下信息假设您的 grub 文件位于 /boot/grub 中,并且已挂载。
如果您的“主要”操作系统是 OpenSuse,并且仅偶尔启动 Windows,那么您可以在grub.conf
(或menu.lst
) 中执行如下简单技巧:
default saved
title OpenSuse
....
savedefault 0
title Windows
....
savedefault 0
这将使默认设置始终恢复为 OpenSuse。要一次性启动 Windows,您可以使用如下脚本:
#! /bin/bash
grub-set-default 1
reboot
来自 OpenSuse。下次启动将转到 Windows,之后重新启动将返回 OpenSuse。
如果您的 grub.conf 在 Windows 上可见,您可以做一些更正常的事情:
default saved
title OpenSuse
....
savedefault
title Windows
....
savedefault
然后执行以下操作:
grub-set-default 1
cp /boot/grub/default /boot/grub/default.windows
grub-set-default 0 # unless you want to boot to windows next
(当然,编辑路径以匹配您的安装。)
在 Linux 中,您可以使用前面的脚本启动回 Windows。在 Windows 中,假设分区安装在 上x:
,编写一个脚本来执行以下任务:
copy /y x:\boot\grub\default.windows x:\boot\grub\default
shutdown /r
(看这里shutdown
了解PowerShell 版本
当您想要启动回 OpenSuse 时调用该脚本。