适用于 Windows 的类似 kpartx 的工具?

适用于 Windows 的类似 kpartx 的工具?

我正在尝试从.vmdk文件(VMware 磁盘)内部挂载加密(TrueCrypt/VeraCrypt)卷。Windows(7 到 10)中是否有任何工具或第三方工具可以让我附加磁盘以便卷管理器发现其上的卷,以便 TrueCrypt/VeraCrypt 随后显示​​这些卷以供选择?

请注意,我知道.vmdk从文件内部挂载卷。但这不是我要问的。因为安装必须由 TrueCrypt/VeraCrypt 完成,所以我需要这些程序能够“看到”该卷。因此,应该.vmdk以类似于任何分区的物理磁盘如何可用(“附加”)到 Windows 系统的方式提供。


当然我指的是kpartx -a ...功能。

答案1

你可以从另一个方向来解决这个问题,例如福克利夫 评论

基本上:

  • Windows 本身支持将 VHD 附加为磁盘。它们的行为与任何物理磁盘一样。
    • 这意味着 VeraCrypt 可以将它们视为另一个磁盘。
  • 可以将 VMDK 磁盘转换为 VHD 磁盘(反之亦然)。
    • 此外,VMware Workstation 的最新版本允许您直接使用 VHD 磁盘,但您会失去其碎片整理/压缩功能。

因此,一个可能的解决方案是完全避免使用第三方工具,使用 VHD 作为虚拟磁盘格式并将其本地附加到 Windows 中。


您需要确保每次只将磁盘连接到一个位置,即在启动虚拟机之前将其从 Windows 中分离,并在连接到 Windows 之前关闭虚拟机。否则... 就是个坏主意。

  1. 首先,您需要获取一个 VHD。如果您没有任何现有磁盘,您可以通过“磁盘管理”=>“操作”=>“创建 VHD”菜单选项创建一个。或者,该diskpart create命令执行相同的操作。

    磁盘管理菜单的屏幕截图

    如果你有想要使用的现有 VMDK,你可以使用 Microsoft 提供的 PowerShell 模块进行转换。 一些更多分步说明请点击此处

  2. 假设你仍然想在 VMware 中附加磁盘,您需要移除带有 VMDK 磁盘的旧存储设备,并添加一个新存储设备(最好在同一控制器类型上),其中的“现有磁盘”指向 VHD 磁盘。您需要在浏览对话框中选择“所有文件”,否则它只会显示 VMDK 文件。现在,在 VMware 方面,一切应该或多或少都像使用 VMDK 磁盘一样工作。

  3. 现在您只需要在 Windows 端附加 VHD。您可以再次从“磁盘管理”=>“操作”=>“附加 VHD”菜单执行此操作,或者使用diskpart attach

  4. VeraCrypt 现在应该可以看到这些磁盘。它们应该与物理磁盘没有区别。

    磁盘管理和 VeraCrypt 的屏幕截图

答案2

注意:因为我设置了悬赏,所以我很乐意将悬赏奖励给任何能够提供我在下面的答案中展示的功能替代方案的人(无论是否是商业的)。因为无论哪种方式,我的声誉都会被扣除。


在......之外四种解决方案链接自哈里麦克在评论中(谢谢!),我已经尝试了前三个。第四个,一个叫做 OSFMount 的免费软件也没有帮助我。更糟糕的是,链接的文章使用了误导性的术语:

[...] 这里有 4 种方法可以在 Windows 中安装它磁盘驱动器

正确的术语是将其安装作为卷. 事实上安装部分意味着这一点。粗略地说磁盘得到随附的, 尽管(== 磁盘上的分区)获取安装但我的猜测是,由于不同操作系统的术语不同,而且并不是每个人都是了解内核模式的开发人员,Windows 存储驱动程序体系结构Windows storage driver architecture术语变得模糊了。

VMware 安装的 shell 扩展将其称为Map Virtual Disk,尽管它应该有更恰当的命名Mount Volume inside Virtual Disk(或类似名称)。此外,上下文菜单(通过 shell 扩展)仅提供了第二种解决方案的替代途径,该解决方案使用 VMware Workstation GUI 调用 对话框Map Virtual Disks

无论如何,术语关键就在这里。这也是为什么花了这么长时间才得出这个问题的结果。太多人使用误导性术语,这会“污染”搜索结果。

不过,因为我已经设置了悬赏,所以我也重新研究了是否有解决方案。最后我得到了一个非常好的reboot.pro 论坛中的此主题并从那里发现了阿森纳图像安装器. 大部分内容显然是由 LTR Data 的 Olof Lagerkvist(磁盘管理),Arsenal Image Mounter 包括一个storport驱动程序,它是确切地我所寻找的东西。

步骤如下:

  1. 安装驱动程序
  2. ...并使用ArsenalImageMounter.exe旧版本

... 允许将 VMDK 文件附加为 SCSI磁盘到 Windows。这也会导致卷自动挂载(就像连接分区的 USB 磁盘时一样),但重要的是体积现在 VeraCrypt 可以看到它并进行安装。

这满足了我在问题中提出的要求。

屏幕截图中的步骤如下(安装 Arsenal Image Mounter 驱动程序后):

磁盘连接前的选项

(这里的术语也有点模糊,因为这个工具显然提供了将图像文件附加为 SCSI 磁盘正在安装其中的卷。)

作为 SCSI 磁盘附加的映像文件

Windows 10 的磁盘管理插件中的结果如下所示:

Windows 10 磁盘管理

相关部分是Disk 3(VMDK)图像文件显示为实际的磁盘插入系统后,VeraCrypt 便可以看到已自动分配驱动器号的 RAW 卷H:(随后打开对话框以格式化该卷)。相关部分在最后一张屏幕截图中突出显示。

答案3

另一种解决方案是通过捐赠软件 ImDisk 虚拟磁盘驱动程序

使用 ImDisk 安装 vmdk 如下:

  • 安装后,您将在 Windows 控制面板中找到 ImDISK 虚拟磁盘驱动程序。
  • 单击文件/挂载新虚拟磁盘
  • 选择 vmdk 文件和驱动器号,然后单击“确定”
  • 该磁盘现在可在 Windows 中使用。
  • 如果 Windows 要求格式化磁盘,请单击取消

我已经在 Windows 10 64 位上测试了该过程并且它似乎可以运行,即使发布日期是 2016 年 8 月。

相关内容