问题标签 [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 投票
7 回答
65299 浏览

vmware - 将 VmWare 虚拟磁盘转换为 HyperV 时出错

我从客户那里收到了 VmWare 映像,用于某些测试目的。我需要将其转换为 Hyper-V。我按照http://www.askme4tech.com/how-convert-vmware-virtual-machine-hyper-v中的步骤操作。我安装了 Microsoft Virtual Machine Converter 并开始在 PowerShell 中转换虚拟磁盘。但是我遇到了错误:

0 投票
0 回答
28 浏览

windows - 创建本地磁盘,访问时发送 http 请求

所以,我的问题如下:

我需要创建一个 .exe 文件,运行时:

1:在计算机(比如 S)中创建一个本地磁盘——这绝对 100% 需要被系统视为本地磁盘。

2:每当访问 S:{idlist} 时,向服务器创建 http 请求:www.server.com:{idlist}。响应采用 JSON 格式。将此响应返回到访问 S:{idlist} 的任何正在运行的应用程序。

如果可能,请指导我应该做些什么来实现这一点。(据我所知,它在 .NET 中是可行的,使用 C# 或 C++,虽然我不确定如何)。任何提示,文档都是完美的。

谢谢你,对不起我的英语,不是我的母语,我只有 15 岁。

0 投票
1 回答
2068 浏览

windows - vmdk(正常,无法访问):不得不经常修复无效标头

我的情况

我正在使用Virtual Box创建安装了 Arch Linux的虚拟机。我将虚拟机用于我自己的项目:我在这个虚拟机中拥有我所有的项目数据,因此我可以轻松地从操作系统或物理计算机进行更改,并立即获得所有可用数据。在这个虚拟机中,我安装了 GitLab、备份系统、SMTP 和Samba等。

虚拟机有两个 SATA 虚拟硬盘:

  • 8 GB 动态 vmdk 硬盘驱动器拆分为 2 GB 文件,其中安装了操作系统。
  • 2 TB 动态 vmdk 硬盘驱动器拆分为 2 GB 文件,其中保存了我所有的项目数据。

无论我是使用我的 Ubuntu 来处理虚拟机,还是从 samba 访问我的文件,一切都运行良好。当我使用 Windows 时出现问题,在正确关闭我的机器后(请参阅下面的 bash 命令),我得到一个 vmdk 标头损坏的可能性。三分之二的我尝试关闭此问题出现在 Windows 中,我在 Ubuntu 中还没有遇到此问题。

这是我用来关闭 Arch 的命令safe_shutdown.sh

被迫过于频繁地使用修复工具

我试图从VirtualBox关闭机器,只使用systemctl poweroff,使用ACPI关闭,从任务管理器关闭所有进程,在关机前断开samba映射的网络驱动器,......一切。结果都是一样的,我的 vmdk 标头损坏并且不得不使用修复工具

这个工具总是说我发现磁盘有问题并且都已经修复了。在此之后机器再次工作而没有重大问题,有时我在哈希一致性时发现一个损坏的文件,我必须使用我的备份来恢复这些文件。

绝望

我真的不知道现在该怎么办。我应该尝试将我的数据移动到另一种虚拟硬盘格式吗?调整我的虚拟硬盘大小?我应该寻找哪些日志?

我的细节

在 Windows 上,我使用5.1.2 r108956VirtualBox 版本。

虚拟框错误

虚拟盒子日志

由于我总是在收到错误后修复我的机器,因为我需要不断使用我的数据,所以我不能只提供最后一个日志,而是提供所有日志。我已将它们上传到 Google Drive 文件夹:https ://drive.google.com/drive/folders/0BzoIZrf3afiGRHo0Y2U5c19OdEE?usp=sharing

桑巴配置

0 投票
0 回答
116 浏览

java - 有没有办法将 JVM 连接到虚拟磁盘或磁盘映像文件 (.iso)

我想知道是否可以通过修改 JVM 源代码将 JVM 连接到虚拟磁盘或磁盘映像文件(如 .iso)。

现在让 'APP.jar' 成为我从互联网上下载的未知 java 程序。所以这个“APP.jar”驻留在我电脑的文件系统中。

我的要求是,在运行时,“APP.jar”应该只对这个虚拟磁盘进行所有文件读取或写入,并且不应该能够读取或写入我电脑上的文件系统。

如果这是可能的,有人可以解释如何或我可以得到一些资源的链接吗?

0 投票
0 回答
314 浏览

soap - 用于“esxcli 存储核心设备分离列表”的 SOAP?

我安装了 ESXi 5.5。一段时间后,我注意到有多个分离的磁盘。运行命令esxcli storage core device detached list返回:

我想知道触发此事件的相应 SOAP 调用是什么?或者有没有其他方法可以从 Vsphere Web 客户端获取这些磁盘?通过分析hostd.log,我得到以下信息消息:

此外,ArrayOfVimEsxCLIstoragecoredevicedetachedlistScsiDetachedDeviceListMap它不是 WSDL 的一部分。

任何帮助,将不胜感激!

0 投票
1 回答
428 浏览

matlab - 在 Windows 10 中的 Matlab 中创建虚拟驱动器(位于 RAM 中)

是否可以将在 Matlab 代码中创建的文件保存到一个位置,在文件名中指定,我提供创建函数*,该文件不在硬盘驱动器或闪存驱动器中,也不在此 PC 中找到的任何其他驱动器中(我的电脑),但在内存中找到其余正在运行的程序?

*如save(filename,variable)

我希望参考这些文件,然后在程序完成后立即删除它们,而不会侵犯用户的硬盘驱动器。

经过一些网络搜索,我找到了这个页面,它解决了与六年前在未指定操作系统中非常相似的问题,但我

  • 想确保它在 Windows 10 中工作
  • 没有 Map.cmd
  • 怀疑这是将虚拟驱动器放在他的 E:/ 驱动器中,而不是 RAM

我希望可以从我的程序中创建一个 .exe,该程序当前保存文件。虽然我确信我可以在创建它们之后删除它们,但我不想让最终产品在运行时做任何会警告任何人安全风险的事情。

0 投票
0 回答
93 浏览

java - 使用带有 iocipher 的 glide

我正在使用 glide 来在我的 GridView 中设置图像,并且我正在使用一个名为 IOcipher 的库,它提供了一个虚拟加密磁盘,所以我使用info.guardianproject.iocipher.File而不是java.io.file. 但是 glide 无法加载图像,并且它有一个错误说:

E/Glide:com.bumptech.glide.load.engine.GlideException 类:加载资源失败

有什么办法可以加载图像吗?我尝试了很多不同的方法:( file.getPath()返回/data/user/0/com.example.zeinab.amndoorbin/app_vfs/myfiles.db/1502685968291.jpg

0 投票
2 回答
2203 浏览

onedrive - About Storing VHD/VHDX (Virtual Disk) Files into OneDrive

Sorry my bad english.

I'm wondering. If I store VHDX file into onedrive, when uptaded the disk, Onedrive will update the file partial or re-uploading entire file.

I know dropbox update file partial but I don't know about OneDrive.

Thanks for advice.

0 投票
1 回答
721 浏览

c# - 使用 OpenVirtualDisk() 返回错误代码 2“找不到文件”Windows 10

大家晚上好。我希望社区能够帮助解决我的小 C# 编程问题。我在这里要说的是,我对 C# 编程非常陌生,而且从 Borland Pascal 那里学习它是一个非常陡峭的学习曲线!

我目前正在尝试使用虚拟磁盘 API(如 MSDN 网站上的此处所述),转换为 c#(希望保持在托管上下文中)。

我已经设法让 OpenVirtualDisk() 接受第一个参数,但它在第二个参数上失败(我想打开并附加的上述 ISO 的文件路径。)从大量研究中,我声明了参数“路径”作为字符串,以允许 CLR 最适合函数签名。

该应用程序当前正在提升权限下运行(通过 Visual Studio 2017)

以下是我的 dllImport:

所有其他常量、枚举和结构都被声明为由 VirtDisk.h 提供,如果需要,可以提供。

这是我用来调用 OpenVirtualDisk 的所有代码(如您所见,我使用 File.Exists() 来确保文件在开始任何工作之前存在):

到目前为止,每次尝试要么有一个 87“无效参数”的 RetVal,GetLastWin32Error 报告 1008“无效令牌”,要么有 2 个“未找到文件”的 RetVal,GetLastWin32Error 报告相同。

谁能发现我哪里出错了?

提前致谢。

里奇

注意,这是我在 c# 中构建的恢复套件的一部分,基于 Windows Imaging API (Wimgapi.h)。如果需要,这是为了允许安装 Windows(任何版本,只要是 64 位)。它将在 WinPE(Windows 10,.Net 版本 5.4.2)上运行我什至尝试使用 FileIOPermssion 来允许该进程完全访问文件。

故障已排序,如下评论。FILE_ACCESS_MASK 需要更改为 FILE_ACCESS_MASK_RO,但 DLLimport 声明也需要修改。DLLImport 现在显示为:

[DllImport("virtdisk.dll" CharSet = CharSet.UNICODE, ThrowOnUnmappableChar = true ,SetLastError = true)] public extern static Int64 OpenVirtualDisk( [In] ref _VIRTUAL_STORAGE_TYPE PVIRTUAL_STORAGE_TYPE, 字符串路径, [In] _VIRTUAL_DISK_ACCESS_MASK LVIRTUAL_DISK_ACCESS_MASK, [In] long OPEN , [输入, 可选​​] ref OPEN_VIRTUAL_DISK_PARMTERS POPEN_VIRTUAL_DISK_PARTERS, [输入] ref IntPtr pHandle);

0 投票
1 回答
505 浏览

c++ - C++ WINAPI 在挂载的 VHD 上创建多个分区

我设法创建了一个 VHD 并附加了它。之后,我创建了一个磁盘(IOCTL CREATE_DISK)并使用 IOCTL_DISK_SET_DRIVE_LAYOUT_EX 设置它的布局。现在,当我通过磁盘管理检查磁盘时。预计我有一个 14MB 和 7 MB 的分区。

现在,如何将此磁盘分区为两个分区?我想从磁盘的未分区部分(基本上是另一半)创建另一个分区。它在文档中说 PartitionEntry 是一个可变大小的数组(不,它不是一个大小为 1 的数组。)我是否为我要创建的每个分区调用 set layout IOCTL ?如果是这样,你会怎么做?是否可以通过 WINAPI 接口进行多分区?

PS:我知道人们通常会为这行工作调用 diskpart。

编辑:添加第二个分区两个布局弄乱了我的堆栈,所以我采取了另一条路线(堆)。

由于它压倒了我device_handle,我根本无法使用 IOCTL。这种改进消除了这一点。不要忘记在此更改后传递 driver_layout_info 而不是 &driver_layout_info。