问题标签 [virtual-disk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
644 浏览

delphi - CreateVirtualDisk 给出错误 87(参数不正确。)

在 Windows 10 上,尝试使用CreateVirtualDisk API创建虚拟磁盘失败并返回错误代码 87。

完整的最小可重现示例。

显然以管理员身份运行没有区别。

奖金阅读

0 投票
0 回答
64 浏览

windows - 授予模拟线程额外的权限

我的程序“UP”需要能够从网络位置挂载 VHDX 文件。困难在于,任何调用OpenVirtualDisk(...)网络位置的线程都需要同时拥有 SE_MANAGE_VOLUME_PRIVILEGE我的大多数用户都没有,并且访问网络位置,我安装的任何系统进程“SP”都没有。

方法1:我读过我可以让SP接收用户的凭据并使用“客户端模拟”来创建一个以用户身份运行的线程。但我不知道如何让 SP 也授予该线程SE_MANAGE_VOLUME_PRIVILEGE

方法二:如果把用户的凭证交给SP,它是否可以用这些凭证为自己设置对网络共享的透明访问,以便它可以调用OpenVirtualDisk(...)自己?

0 投票
1 回答
37 浏览

linux - Windows 病毒可以访问另一个系统的虚拟磁盘吗?

我通过 Grub 使用 2 个操作系统,Linux 用于工作,Windows 用于游戏。

我的问题是,如果我在 Windows 上感染了一些病毒,它会如何损坏我存储在 Linux 磁盘上的文件?或者访问 Linux 磁盘上的文件?虚拟磁盘是否会暴露于另一个受感染 Windows 的虚拟磁盘的其他漏洞?

0 投票
0 回答
306 浏览

kvm - 为什么libvirt的qcow2存储文件比volume本身大很多?

我在 Arch Linux 上,有一个 Windows 10 虚拟机,我最初是用 gnome-boxes 创建的。我认为它使用 libvirt。目前我用 virsh 运行它。

我注意到我的 Windows 机器上代表 40G 卷的磁盘映像是 93G。这是disk虚拟机的 XML 定义部分:

这是来自 virsh GUI 的描述:

在此处输入图像描述

这是真正的文件大小:

我想了解为什么磁盘上的卷大小与 Windows 和 virsh 报告的卷大小之间存在这种差异。最终我想减小尺寸。

感谢您提前提供任何帮助。

0 投票
1 回答
169 浏览

c++ - VirtDisk.h QueryChangesVirtualDisk() 函数将 RangeCount 返回为 0

https://docs.microsoft.com/ko-kr/windows/win32/api/virtdisk/nf-virtdisk-querychangesvirtualdisk?redirectedfrom=MSDN

我正在尝试获取两个虚拟磁盘或两个 Resillent Change Tracking ID (RCT) 之间的区别

RangeCount总是返回为 0

我用两个枚举参数打开了虚拟磁盘文件(vhdx)VIRTUAL_DISK_ACCESS_GET_INFOOPEN_VIRTUAL_DISK_FLAG_NONE

然后使用QueryChangesVirtualDisk()

OpenVirtualDisk() QueryChangesVirtualDisk()

两个函数都没有返回错误,但在每种情况下RangeCount的值总是 0

虚拟磁盘文件和RCT ID肯定有区别

请给我一些建议

0 投票
1 回答
1621 浏览

windows - 使用自定义 Windows ISO/许可证密钥通过不使用其公共映像来避免谷歌云中的成本?

我想削减谷歌云的成本。假设我已经拥有一个 Windows 10 专业版密钥,我想将它安装到我的虚拟机实例中。我找不到有关此的任何明确信息,请有人帮助提前感谢。

0 投票
1 回答
167 浏览

c++ - 即使 OpenVirtualDisk 成功,QueryChangesVirtualDisk 仍返回 ERROR_INVALID_HANDLE(6)

我正在尝试 VirtualDisk API,到目前为止,我能够打开一个 VHDX 文件,使用 GetVirtualDiskInformation 获取一些属性。但我无法获得 RCT 信息和 ChangedAreas。

第一次调用 GetVirtualDiskInformation 成功。第二次调用 GetVirtualDiskInformation 失败,缓冲区不足 ERROR_INSUFFICIENT_BUFFER(122)。调用 QueryChangesVirtualDisk 失败并出现 ERROR_INVALID_HANDLE(6)。代码中硬编码的 RCT ID 是正确的,我可以使用 WMI Explorer 获取 ChangedAreas。附上相同的截图。

如果是无效句柄,那么 GetVirtualDiskInformation 也应该抛出同样的错误?

程序的输出:

在此处输入图像描述

wmi 资源管理器输出的屏幕截图。

在此处输入图像描述

0 投票
0 回答
62 浏览

formatting - 如何使用 Delphi(或 C#)初始化和格式化虚拟磁盘?

基于并使用 Jedi Demo VHD,我创建了一个虚拟磁盘,可以挂载和卸载它。安装后,它在磁盘管理器中显示为磁盘 1“未知”。继续在我的代码中对其进行初始化和格式化,我正在尝试使用以下代码:

当 edit1.text 包含我的虚拟磁盘的名称 (TestDisk.vhd) 并且 CreateFile 和 DeviceIoControl 生成“成功”时,GetDiskPath 获取“\.\PhysicalDisk1”,但磁盘管理器中的磁盘保持不变。

我究竟做错了什么 ?

注意!如果您有基于 C# 的答案,那也很好。

0 投票
1 回答
51 浏览

virtualbox - 增加虚拟盒虚拟磁盘的大小

我正在运行 Virtual Box 6.1,主机和客户端都是 Ubuntu 20.04。我的磁盘空间不足,我想增加虚拟磁盘大小。
花了很长时间查看不同的文章并尝试了不同的事情,让我走到现在的地方是https://www.howtogeek.com/124622/how-to-enlarge-a-virtual-machines-disk-在虚拟机或 vmware/


即使用名为 Rebooted的 Virtual Media Manager UI 修改了 vdi 大小VBoxManage modifymedium disk “<path to my vdi>” --resize 36000 # ( I am using virtual box 6.1 so I assume this is the correct call). ,并将 GParted Iso 添加为光驱。
但是,尽管分区显然与新创建的未分配空间对接,但我无法增加分区。
分区的最大大小保持不变

0 投票
0 回答
45 浏览

vmware - 从 VMDK 文件创建虚拟磁盘映像

我想从 VMDK 中的颗粒数据构建一个虚拟磁盘。问题是第一个颗粒与虚拟磁盘中的第一个数据块不匹配,所以我不得不假设颗粒没有排序。如果是这种情况(如果不是,请告诉我)比对谷物进行分类和构建虚拟磁盘的正确方法是什么?

编辑:忘了提我说的是稀疏程度