问题标签 [disk-partitioning]

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 投票
2 回答
5302 浏览

c# - 如何访问隐藏的分区/卷

我必须编写代码来使用 c# 或 c++ 访问隐藏的磁盘分区/卷。但找不到关于此事的任何帮助参考。

作为隐藏卷,它不包含“磁盘号”,因此您不能只键入“C:\”并访问它。Windows 附带的“恢复分区”就是一个例子。你不能在资源管理器上看到它,但它就在那里。

我的应用程序将从这些分区写入和读取数据,我必须找到一种方法来为这些分区执行“c:\”之类的操作。

卷 5,6 是隐藏分区

在上图中,卷 5 和 6 是隐藏分区。我在stackoverflow上找到了这个链接,但它只“列出”了分区: https ://msdn.microsoft.com/en-us/library/cc542456(v=VS.85).aspx

编辑

问题是:即使按照建议使用 WMI,我也找不到在查找文件时如何过滤卷。例如,select * from win32_DataFile将列出机器中的所有文件。

我认为应该是一种使用它们的 ID(或名称)过滤卷的方法。就像是:

或者更漂亮的方式,例如:

此外,我在关于分区和卷(它们不是一回事)中发现了一个优秀的 awenser https://social.technet.microsoft.com/Forums/en-US/e7b2ddd6-f245-49ed-8fec-3b6e08e75369/how- do-i-find-the-partition-guid?forum=winservergen

编辑2

正如 Harry 所了解的,使用“\.\Volume....”是恢复文件的好方法。但我找不到使用 c# 编写(创建)新文件的方法。迄今为止最好的方法是使用 pinvoke 到 c++ CreateFile 方法/句柄。


有什么建议吗?

0 投票
1 回答
1805 浏览

c - 如何阅读 GUID 分区表 (GPT) 及其条目?

要读取 MBR 分区表,我们使用 的偏移量0x1be,类似地,读取 GP(artition)T(able) 条目的偏移量是多少(即,分区数及其大小)。

我正在使用“gdisk”编写一个 C 程序来创建分区,我需要将文件系统写入这些分区。因此,为此我需要读取 GPT 标头以获取分区数及其分配的大小。

0 投票
1 回答
3895 浏览

windows - 使用 DISKPART 自动对磁盘进行分区并提示用户输入磁盘或退出

我需要创建一个对 USB 驱动器进行分区和格式化的批处理文件。这是创建一个 Windows 7 USB 启动盘。

DISKPART 是使用的工具,您可以将指令传递给它,如下所示:

DISKPART /s 指令.txt

就我而言,我希望我的指令看起来像这样:

然后我会有一个像这样的批处理文件:

prepdisk.bat:

但我被困在如何提示用户输入磁盘 ID 上。如果不确定,我也希望能够退出,因为显然格式化错误的驱动器可能很危险。

0 投票
0 回答
30 浏览

list - Visual Studio 列表/搜索分区

我已经对我的 USB 驱动器进行了分区,使其看起来像一个 cd(分区 A)和一个普通的拇指驱动器(分区 B)。我希望 cd(A) 自动运行一个 Visual Studio 程序,该程序将在我的拇指驱动器 (B) 上查找另一个分区并启动我制作的另一个 Visual Studio 程序。

所以它去

cd >autorun >visual studio app >搜索其他分区>启动其他visual studio应用。

如果我将驱动器号分配给驱动器,这将很容易,但由于我要在许多不同的计算机上使用它,所以我不能每次都这样做。

所以它归结为这一点。有没有办法我可以从 Visual Studio 中搜索第二个分区,然后在该分区上启动另一个程序?

0 投票
1 回答
182 浏览

winapi - IOCTL_DISK_VERIFY 做什么?

IOCTL_DISK_VERIFY的文档说:

验证固定磁盘上的指定范围。

但是,这是什么意思?我何时以及为什么需要这样做?

0 投票
2 回答
40 浏览

powershell-3.0 - 系统驱动器列表

我有一个具有多个引导分区(C 和 D)的系统。在这个系统上,我还有一些其他的数据卷。无论如何我可以使用电源外壳检索所有系统分区吗?我已经用谷歌搜索了解决方案,但找不到太多帮助。任何想法或起点都可能有很大帮助

0 投票
1 回答
1604 浏览

c# - 使用 c# 查看磁盘管理信息 - 包括。隐藏卷

我喜欢查看所有物理磁盘上的每个分区/卷(也是隐藏的系统卷)。卷的信息应包含

  • 分区索引(例如“1”)
  • 名称(例如“c:”),
  • 标签(例如“Windows”)
  • 容量(例如 200GB)

在我看来,“WMI”可能是解决此任务的正确选择。

示例输出可能与此类似:

我在网上找到了几种解决方案来获取驱动器号 (c:) 与磁盘 ID (disk0) 的组合。 可以在此处找到其中一种解决方案

此解决方案的问题在于它忽略了隐藏分区。输出字典将仅包含 4 个条目 (m,4 - c,1 - d,1 - f,2)。

这是因为使用“Win32_LogicalDiskToPartition”将“win32_logicalDisk”与“win32_diskpartion”组合在一起。但“win32_logicalDisk”不包含未分配的卷。

我只能在“win32_volume”中找到未分配的卷,但我无法将“win32_volume”与“win32_diskpartition”结合起来。


简化我的数据类应该是这样的:


也许任何人都可以提供帮助:-)

0 投票
4 回答
24469 浏览

powershell - 使用 PowerShell 将装载点文件夹路径分配给驱动器

我有一台配置有多个磁盘的服务器。一个用于操作系统,一个用于程序等,其余的将安装到空的 NTFS 文件夹。

这通过 GUI 相当简单:https ://technet.microsoft.com/en-us/library/cc753321.aspx

但是,我需要自动化,所以我需要弄清楚如何使用 PowerShell 来做到这一点。我遇到了几个死胡同:

我以为我在Get-DiskInitialize-DiskNew-Partition方面取得了一些进展

从这里开始,我希望做类似的事情:

但这不会产生任何输出,而且我注意到之前创建分区时,它也创建了一个卷。

我认为New-Volume可能是错误的命令,因为帮助表明输入对象应该是 MSFT_StoragePool 对象。

我尝试使用以下命令走这条路:Get-PhysicalDiskNew-StoragePoolGet-StoragePool

但是此时我只收到一条无效参数的错误消息,我认为这很奇怪,因为我能够使用 Get-Member 来确认 $Pool 是一个 MSFT_StoragePool。

我还注意到,在创建该存储池后,我的磁盘从磁盘管理中消失了,并且不再显示 Get-Disk

我认为这表明存储池与我实际想要做的完全不同。

如何使用 Powershell 将驱动器分配给 NTFS 文件夹?

0 投票
2 回答
5919 浏览

batch-file - 在 .bat 中查找当前的 diskpart 卷号

在 USB 驱动器上使用 .bat 脚本我想在不使用 3rd 方软件的情况下更改它的驱动器号,并且对插入 USB 的系统有任何要求,但它是 Windows XP 或更高版本。

要获取我使用的当前驱动器号

设置驱动器=%~dp0

这是E:例如

在我真正改变 E: 的驱动器号之前,如何自动找出 diskpart 卷列表中的卷号?

选择卷 E:

显然不行,你只能用n作为盘号。

编辑:

感谢@wOxxOm 的解决方案。这是我现在用来将脚本所在驱动器的驱动器号自动更改为 U:\

如果不应该将两个 U 挂载到 U:\,则可以将两个 U 替换为所需的任何其他驱动器号

只需确保 U:\ 上没有任何内容已安装

0 投票
0 回答
29 浏览

ruby - 从不同的分区加载文件

我在 工作C:\(...)\Desktop,我需要requireG:\scripts. 我试图改变$LOAD_PATH

以及 的论点require

但我总是得到

C:\如果目录在分区上,它会很好地工作。这里发生了什么事?