与 Windows 10 一起启动 Ubuntu VHDX

与 Windows 10 一起启动 Ubuntu VHDX

我的联想 T430s 笔记本电脑上安装了 Windows 10。我想在启动时双启动到使用 Hyper-V 创建的 Ubuntu 14.04 VHDX(在同一台笔记本电脑上运行)。如果我在 Windows 10 中的 Hyper-V 上将其作为 VM 运行,Ubuntu 实例可以完美运行。

我已经关注此处提供详细说明并使用 bcdedit 编辑了我的启动配置(完整配置显示在本问题的底部)。

当我选择启动时要启动的操作系统时,我正确地看到了两个操作系统的选择:Windows 10 或 Ubuntu,但我的问题是:如果我选择 Ubuntu,笔记本电脑将重新启动回到 Windows 10。

那么,当我选择 Ubuntu 作为启动操作系统时,如何让笔记本电脑重新启动到 Ubuntu(而不是 Win10)?

理想情况下,我希望本机启动 VHDX,而不是安装不同的引导加载程序。

最后,如果你想知道我为什么这么做 - 我想将 Ubuntu Touch 放到旧版 Nexus 平板电脑上,但当我在 Hyper-V 中的 Windows 10 上运行它时,我无法访问物理 USB 集线器来从 Ubuntu 刷新设备。真糟糕。

bcdedit 的输出:

C:\WINDOWS\system32>bcdedit

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume1
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
flightsigning           Yes
default                 {current}
resumeobject            {47306ac4-7ae2-11e5-a36c-8c29a9f075ab}
displayorder            {current}
                        {62103dd7-37a6-11e5-8e2f-8459cfd235f7}
toolsdisplayorder       {memdiag}
timeout                 5

Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \WINDOWS\system32\winload.exe
description             Windows 10
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {8ac3ce47-7ae2-11e5-a36c-8c29a9f075ab}
recoveryenabled         Yes
flightsigning           Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \WINDOWS
resumeobject            {47306ac4-7ae2-11e5-a36c-8c29a9f075ab}
nx                      OptIn
bootmenupolicy          Standard
hypervisorlaunchtype    Auto

Windows Boot Loader
-------------------
identifier              {62103dd7-37a6-11e5-8e2f-8459cfd235f7}
device                  vhd=[locate]]\Virtual Hard Disks\Ubuntu.vhdx
path                    \Windows\system32\winload.exe
description             Ubuntu
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {62103dd5-37a6-11e5-8e2f-8459cfd235f7}
recoveryenabled         Yes
flightsigning           Yes
allowedinmemorysettings 0x15000075
osdevice                vhd=[locate]\Virtual Hard Disks\Ubuntu.vhdx
systemroot              \Windows
resumeobject            {62103dd3-37a6-11e5-8e2f-8459cfd235f7}
nx                      OptIn
bootmenupolicy          Standard
hypervisorlaunchtype    Auto

答案1

这是一个老问题,至今仍未得到解答,我在寻找类似问题的解决方案时用谷歌搜索了它。答案如下,以帮助其他找到它的人。

可以从 VHD Linux 文件启动在安装了 Windows 32 位或 64 位的系统上。VMLite 创建了一个旧解决方案启动。但是它确实需要安装一些附加软件(可以从 VMLite 下载)和特别修改的 VHD 文件。支持的系统:Windows 2000、XP、2003、Vista、2008、Windows 7、2008 R2、32 位和 64 位、所有服务包和版本,但我认为 Windows 10 也可以运行。

没有关于如何使用 VHDX 格式的信息,但我估计如果不修改 VBoot 代码,它可能无法工作。VBoot 很可能做了 Windows 开发人员在 Windows 中从 VHD 启动 Windows 所做的事情 - 创建二进制启动代码,该代码可以理解 VHD 文件格式并在启动期间将其作为磁盘分区呈现给系统。

VBoot 和 VMLite 网站似乎不太活跃,因此请谨慎操作。

相关内容