是否可以使用 grub2 脚本复制文件?

是否可以使用 grub2 脚本复制文件?

我正在尝试制定运行 Windows 7 和 Linux 的双启动、公共使用(即公共库环境)的一些细节。

我正在使用 Windows 7 和 Linux Mint。Windows 7 在 VHD 文件(Linux 中的文件系统映像,如 squashfs)上运行。我需要 grub 在启动 Windows 之前将不同的 BCD 和 VHD 文件复制到位。

该策略是将不同的 BCD 文件复制到位,以将默认启动从 WinPE(用于以维护模式启动 Windows)更改为启动启动快照的 VHD 文件(即基线 Windows 配置),如果我可以在 grub2 引导加载程序中执行此操作,那就太理想了。

我正在使用免费的“稳定状态”(http://www.steadierstate.com/) 作为从 VHD 启动的基础。它需要 2 个启动周期来确保每次系统重启都启动一致的基线。

尽管开箱即用的 SS 不提供每次重启时启动基线系统的方法,但我添加了一个系统关闭脚本,该脚本使用 bcdedit 切换要启动的默认操作系统。它将启动从 VHD 文件切换到启动 WinPE,后者评估条件,如果条件正确,则删除并重新创建子“snapshot.vhd”,然后将默认启动更改回 snapshot.vhd,然后退出,从而启动基线 Windows 操作系统。

如果 grub2 可以复制文件,我就不需要启动 WinPE,只需重新创建 snapper.vhd 并切换默认操作系统即可启动。

顺便说一句,如果选择了“Windows 7”,grub2 始终会链式加载 bootmgr。/boot/BCD 文件会告诉 bootmgr 要启动什么。该 BCD 中只有 2 个启动条目,一个用于“Windows 7”(即它启动快照.vhd),另一个用于启动 WinPE 的“仅管理员!”。BCD 中的超时始终设置为零,因此您永远不会看到 bootmgr 菜单。

维护的方式是插入 USB 记忆棒,当检测到时,它会将 bootmgr 更改为启动 WinPE,以便可以合并基线更新。

相关内容