我可以告诉 GRUB 启动到作为 Linux 系统上的虚拟磁盘存在的 Windows 操作系统吗?

我可以告诉 GRUB 启动到作为 Linux 系统上的虚拟磁盘存在的 Windows 操作系统吗?

我知道,如果您指定包含 Windows 操作系统的硬盘,GRUB(和 GRUB2)可以链式加载 Windows 操作系统。是否可以告诉 GRUB(或 GRUB2)启动到位于 Linux 文件系统上的 Windows 操作系统的 dd 映像文件?或者,是否可以使用其他引导加载程序来实现此目的?

我并不是想运行虚拟机,而是想像主要安装的操作系统一样运行系统,这样开销很小。我见过使用 chroot 从 Android 到 Linux 进行类似操作,但 Windows 本身并不像 Linux 系统那样支持 chroot 或启动。

答案1

除了一些例外情况,Vista 及更高版本的 Windows 都可能存在这种情况...虚拟文件不能是 dd 映像,而必须是 .VHD/.VHDX 映像。

该文件必须是固定大小(如果是动态的,它将在首次启动时扩展到最大)并且没有碎片,存储在 NTFS 分区上,没有压缩,没有任何加密(没有 BitLocker 等)。

Windows(从 Vista 开始)有一种本机方式从 .VHD/.VHDX 文件内部启动 Windows 系统(如果在 M$ 上搜索,只会看到 PRO/Enterprise,但一些第三方工具也允许在家庭版本上使用)。

另外还有适用于 WinXP 的操作指南。

我还没有尝试过,但是有很多信息......搜索机器人从 .vhd 文件启动 Windows。

警告,您将需要一个 NTFS 分区来配置从 VHD 启动的 BCD。

抱歉我无法提供更多帮助。

然后 Grub2 可以链式加载该 bcd 启动..但请记住 vhd/vhdx 文件必须位于 NTFS 普通(无压缩/无加密)分区上。

FAT32 不能包含大小 >=4GiB 的文件。Ext#(以及其他 Linux 文件系统等)不能用于保存文件(Windows 必须在启动时知道分区文件系统,因此只能是 FAT/FAT12/FAT16/FAT32/exFAT/NTFS)。

为什么不能使用 exFAT?不知道,也许可以用来保存... 但我一直认为 NTFS 是必须的!

相关内容