我想让虚拟盒挂载并启动我一个月前拍摄的磁盘映像。
我已经能够安装驱动器并可以看到其内容,一切都是可访问的,我现在想要启动映像,因为我想使用我需要访问的 Windows 程序。
我该怎么做?输入问题时,我只看到对虚拟框图像的引用。
由于我没有 VBox 映像文件,只有我称为 ssd.img 的映像文件,并且 VBox 不会挂载除 .iso 或其原始格式之外的任何内容。将 .img 重命名为 .iso 不起作用。
** 编辑 ** 我的问题仍然是个谜,重申一下,我没有使用 ISO 文件,它是使用命令创建的硬盘映像dd
,该文件是 *.img 文件,已经尝试通过重命名来更改文件名,但没有成功。
我有虚拟盒并想运行该映像的 Windows 分区。
简单来说,如果它运行,那么我就知道 SSD 有一个坏块(Ubuntu 不会修复/移动/塞入第 11 维......)所以我知道我可以使用清理器和格式化(按照驱动器制造商建议的方式)然后重新映像,我们就可以再次使用了。
因此,再次重申,这不是“安装” Windows ISO,而是在 VirtualBox 中安装硬盘映像,只有 VB 只接受 ISO 或其原生的各种格式。
答案1
在 VirtualBox 窗口中单击虚拟机名称来选择虚拟机
单击 VirtualBox 窗口顶部的“机器”菜单,然后单击“设置”
单击“设置”窗口中的“存储”类别
右键单击存储树窗格,然后单击“添加软盘控制器”
右键单击软盘控制器设备,然后单击“添加软盘设备”
在出现的提示窗口中单击“选择磁盘”按钮
导航到计算机上的软盘映像文件 (.IMG) 并双击它。
如果这不起作用,请尝试将 .IMG 重命名为 .ISO 并挂载它。
如果这也不起作用,请使用 VBoxManage 的 convertfromraw 命令,如下所示:
VBoxManage convertfromraw --format VDI [filename].img [filename].vdi
最后,将VDI挂载为硬盘。
答案2
通过创建原始 vmdk 可以附加原始磁盘映像。
在 VirtualBox 图像目录中(例如 /home//VirtualBox)
VBoxManage internalcommands createrawvmdk -filename rawtest.vmdk -rawdisk /path/to/disk.img
之后就可以将虚拟磁盘附加到虚拟机了。路径/path/to/disk.img
也可以指向分区或循环设备。
答案3
阅读帖子更新和评论后,您实际上拥有的是 Windows 系统的 .img 文件,您希望使用 Virtual Box 安装它,以便它启动您拥有的 .img 文件上的 Windows 操作系统。换句话说,您拥有物理机的 .img 文件,并希望将其作为虚拟机运行,因为该 Windows 操作系统上安装了您需要使用的软件(可以肯定的是,这相当于拥有一个“主机操作系统运行第三方操作系统“)
虽然你能够挂载驱动器并访问文件,但显然该磁盘映像上安装在 Windows 下的程序无法在 Ubuntu 中运行,这也是为什么你希望“...启动映像,因为[您]想要使用[您]需要访问的 Windows 程序”
诚然,这个问题已经提出 7 年了,也许 OP 所感受到的挫败感现在已经过去了,但也许这可以满足其他遇到这个问题的人的需求,或者有助于澄清误解。
“安装和启动磁盘映像”的前言
为了确保理解 OP 希望实现的目标,并引入可能不同的参考资料以避免混淆,让我们确定一些要点:
- 文件“ssd.img”是
dd
另一个包含 Windows 操作系统的系统的固态硬盘 (SSD) 的副本。 - 假设,该映像文件可以写入不同的物理 SSD,并且新的或替换的 SSD 可以安装在原始机器中并启动。
- 话虽如此,如果我没记错的话,OP 并不想将 .img 文件写入新的或替换的 SSD,而是想在 Virtual Box 中安装 .img 文件来启动它。
消除沟通障碍:要在 VirtualBox 中启动,必须做出改变
过去,我们可以创建 CD-ROM 的 .iso 映像,安装该 iso 映像文件,然后像在计算机上插入实际的 CD-ROM 一样运行它。由于硬盘映像文件本质上是相同的东西,但它不是 CD-ROM 光盘的副本,而是整个硬盘的副本,因此我们可能认为我们可以通过使用 Virtual Box 安装映像文件并像在实际安装的硬盘上一样运行它。但是,当涉及现有系统硬盘(或本例中为 SSD)上现有的、已安装的操作系统时,情况不一定如此,至少在提到它可能如何简单时是这样。
如上所述,您希望完成的任务是将物理机转换为虚拟机的过程,或者更常见的称呼是将物理机转换为虚拟机的过程。虽然这看起来可能像安装映像文件并“附加”它一样简单,但您实际上通过将其安装在 Virtual Box 中所做的是将其变成“虚拟硬盘”,以便在 Virtual Box 中创建的虚拟系统环境中运行。而且,不幸的是,对于启动它来说,它并不像将其安装为主硬盘并点击那么简单启动虚拟机,尤其是在 Windows 中(在早期版本的 Windows 中更是如此)。
因此,为了实现你的期望,你实际上需要转换系统本身(或者更具体地说,在这种情况下,由 dd
)来自原始磁盘映像到虚拟磁盘或“虚拟磁盘映像”。
再次强调,这只是因为您想要启动 .img 文件中的操作系统。不要将其与简单地访问您已经提到能够执行的文件相混淆,而要将操作系统作为 VirtualBox 中现有的机器运行和启动,需要对其进行转换。
进一步解释:并发症启动包含 Windows 的系统映像
与 Linux 安装不同,Windows不太适应系统硬件的变化这是将硬盘从一个系统移动到另一个系统的结果,至少以前是这样的Windows 8/10。因此,当您创建虚拟环境(或虚拟系统)来启动 .img 文件(充当虚拟硬盘)时,您实际上是在为 Windows 系统提供另一组无法识别的硬件来处理。有关 Windows 系统带来的复杂性的更多详细信息,请参阅 Virtual Box 的页面如何将现有的 Windows 安装迁移到 Virtual Box虽然该页面确实提供了如何实现这一点的说明,但它并未得到官方支持:
免责声明:不支持将 Windows 客户机从物理主机迁移到 VirtualBox VM。这些说明按原样提供,希望对您有所帮助。
尽管情况可能如此,许多人报告说能够做到这一点。就我个人而言,我也这样做过,但是我拥有的映像文件是 Linux 系统而不是 Windows 系统,尽管我能够在 Virtual Box 中的 Windows 上运行它。
如何挂载在 Linux 中创建的映像并在 VirtualBox 中运行
虽然不是正式支持,仍然有几种方法可以做到这一点,并且使用Windows 8/10 中引入的变化,如果这不适用于旧版本的 Windows(即 Windows Server 2000 或 Windows 7),则有几个选项可供选择,以转换您的映像文件,以便它可以在 Virtual Box 中启动。
选项 1:使用 VBoxManager 将 .img 文件转换为 .vdi 文件
正如之前提供的答案所建议的,并且您已经知道,VBox 不支持直接安装 .img,因此如果您想从该 .img 文件启动,则需要将其转换为 .vdi 文件。希望您能够更清楚地了解为什么前两个答案都建议您使用 VboxManager 来转换 .img 文件,但是它们提供给您的命令是针对虚拟盒的 Windows 命令行版本的。
因为听起来你正在运行一个 Ubuntu 系统,而且我假设它是托管 VirtualBox 安装的系统,所以从终端将 IMG 文件转换为 VDI 文件的语法是:
VBoxManage convertdd ssd.img converted_ssd.vdi
# You will get an output of something like this:
Converting from raw image file="ssd.img" to file="converted_ssd.vdi"...
Creating dynamic image with size 6012964864 bytes (5735MB)...
选项 2:使用 VMWare vCenter Converter Standalone 创建 .vdmk 文件
自从VirtualBox 能够读取 .vdmk 文件,其他人可能会发现选择使用VMware vCenter 转换器将物理机(或 .img 文件)转换为虚拟机。对于开源版本的转换器,可以找到这里。
有关使用 VMware vCenter Converter 的进一步说明将根据版本而有所不同,可通过其他方式找到这里。
截至 2022 年 2 月 2 日;如其博客文章,VMWare 宣布正在开发 vCenter Converter 的更新版本,而上面的链接引用的是较旧的原始产品。
将 VDI 或 VDMK 文件导入 VirtualBox
在创建 ssd.img 的 .vdi 映像文件后,您可以创建一个新的虚拟机并将其指定为您想要使用的硬盘,选择“使用现有的虚拟硬盘文件“并从资源管理器窗口弹出窗口中选择转换后的.vdi 或 .vdmk 文件。
到此,您就应该一切就绪了。希望本文能帮助您消除一些误解或误解,帮助您在 Virtual Box 中安装和启动/运行该映像文件。