Articles of ntfs

如何以编程方式扩展卷

我的要求是通过程序来扩大驱动器的音量。 当我在DeviceIO中使用IOCTL_DISK_GROW_PARTITION扩展它时,磁盘pipe理将显示新修改的大小,而此PC(我的电脑)中的驱动器大小保持不变。 BOOL DeviceIoControl( (HANDLE) hDevice, // handle to device IOCTL_DISK_GROW_PARTITION, // dwIoControlCode (LPVOID) lpInBuffer, // input buffer (DWORD) nInBufferSize, // size of the input buffer NULL, // lpOutBuffer 0, // nOutBufferSize (LPDWORD) lpBytesReturned, // number of bytes returned (LPOVERLAPPED) lpOverlapped // OVERLAPPED structure ); 通过一些分析,我发现在使用这个API时,磁盘的MBR被修改,但是驱动器的簇位图没有改变。 我想知道使用此DeviceIO扩展卷或其他一些API来执行相同过程的正确方法。

使用Ruby从Windows文件中提取选定的元数据

我有一个用户与一个JPEG文件的集合,rest在Windows 7 NTFS文件系统。 用户使用Windows 7的“详细信息”对话框注释了这些图像。 对于每个文件,他们都添加了标题,评论(可能与标题不同)和标签字段。 看起来标题作为EXIF数据的一部分存储在每个JPEG文件内。 然而,评论和标签字段不是。 我已经在替代数据stream中寻找它们; 没有礼物。 我不能看到他们是否是NTFS扩展属性,因为我找不到一个具体列出的工具。 我的问题是:这个元数据存储在哪里,我如何从Ruby中访问它?

模拟一个大的文件系统来testing在Windows中testing大内存映射(> 5tb)

有没有办法模拟一个超过5tb的大文件系统,当我只有一个1tb磁盘可用时? 试图压力testing一个应用程序(特别需要内存映射5tb的文件) 我知道,Xen可以在Linux中超额订购磁盘,但我试图在Windows中模拟这个。

Git:删除完全不存在的文件从…呃…我不知道在哪里

我在Windows上使用git。 我曾经添加过一个文件,然后用大写字母改了一个字母,再加上一个新的名字。 从那以后,我总是有两个文件(一个是大写的,一个不是)。 myFile.ext myfile.ext Git总是将它解释为两个不同的文件(因为它configuration区分大小写),但它实际上是同一个文件,所以它跟踪这个文件两次,每个名称下一次。 我现在已经从回购中删除了大写的文件 git rm –cached myFile.ext 所以我现在只有一个跟踪我的文件,这很好。 myfile.ext 问题是,如果我想结账一个较旧的提交,git说: 错误:以下未跟踪的工作树文件将被checkout覆盖:myFile.ext请在移动或删除它们,然后才能切换分支。 中止 但是,我不能对这个文件做任何事情,因为它不在工作树中,也不在索引中。 我试图移动文件,删除myfile.ext文件,并再次添加,藏匿,但没有任何工作。 myFile.ext不显示在git status ,不在gitignore中。 我该如何解决这个问题?

自己的程序写入300个小文件。 在那个时候explorer.exe吸取了将近100%的CPU时间

我开发的AC#应用程序将300个小(1k)文件写入本地文件系统(NTFS)。 在那段时间,explorer.exe使用高达100%的CPU时间。 我已经整理的东西: 确保没有资源pipe理器窗口打开显示目标文件夹 排除目标文件夹的索引 为完整的驱动器提供索引 停止并禁用“Windowssearch”(SearchIndexer.exe) 所有这些都没有影响。 当我使用Systinternals ProcessExplorer时,我发现explorer.exe中有一个繁忙的线程,大部分时间都是这样的: ntdll.dll!RtIFreeUnicodeString+0x1370 它的堆栈如下所示: 0 msvcrt.dll!memcpy+0x8a 1 SHELL32.dll!Ordinal755+0x75c 2 SHELL32.dll!PathYetAnotherMakeUniqueName+0x35316 3 SHELL32.dll!ExtractIconExW+0xed8 4 SHELL32.dll!ExtractIconW+0x98e5 5 SHELL32.dll!SHChangeNotification_Lock+0x4179 6 SHELL32.dll!DAD_SetDragImage+0x1018 7 SHELL32.dll!DAD_SetDragImage+0x11ef 8 SHCORE.dll!GetProcessReference+0x3f 9 ntdll.dll!RtlDestroyHeap+0x317 10 ntdll.dll!RtlFreeUnicodeString+0x17d5 11 KERNEL32.DLL!BaseThreadInitThunk+0xd 12 ntdll.dll!RtlUserThreadStart+0x34 Explorer.exe在这里做什么? 文件系统和资源pipe理器之间是否有直接的依赖关系? 我怎样才能防止这种行为?

FindFirstFile在根path上失败

我正在使用下面的代码来获取有关文件系统目录的信息: LPCTSTR pStrPath = L"D:\\1"; WIN32_FIND_DATA wfd; HANDLE hDummy = ::FindFirstFile(pStrPath, &wfd); if(hDummy != INVALID_HANDLE_VALUE) { //Use 'wfd' info //… ::FindClose(hDummy); } else { int error = ::GetLastError(); } 代码工作得很好,除非我指定一个根path: D:\ – 错误代码ERROR_FILE_NOT_FOUND D: – 错误代码ERROR_FILE_NOT_FOUND \\SRVR-1\share – 错误码ERROR_BAD_NET_NAME \\SRVR-1\share\ – 错误码ERROR_BAD_NET_NAME \\SRVR-1\HiddenShare$ – 错误代码ERROR_BAD_NET_NAME 但是它在以下情况下工作: D:\1 – 没有错误 \\SRVR-1\share\1 – 没有错误 \\SRVR-1\HiddenShare$\1 – 没有错误 […]

NTFS CRC窗口在什么地方和哪里抱怨?

我试图想出一个关于我的问题的回答,涉及到Windows的API抱怨“CRC错误”时恢复文件。 我知道这是因为一个坏块。 但我的理论是: 如果我禁用SMART,并因此ECC,我应该能够读取“原始数据”,没有应用ECC,因此在文件的stream(而不是应用ECC的空白块)有一个“不确定的数据”块。 这个数据不应该和NTFS的CRC相匹配,而其他文件的数据应该和它们匹配。 我应该能够通过用“不确定的数据”逐块地逐个比特地篡改整个文件的“正确的数据”(我怀疑腐败会影响坏块中的一两个比特,而不是一个整块,因此它会下降在32位校验和和蛮力的可恢复阈值内)。 现在问题是,我不知道这个CRC是什么,或者它在哪里。 我GOOGLE了很多,但我找不到。 我想这是一个NTFSfunction,据我所知,NTFS没有一个完整的官方文档,我真的不喜欢在NTFS-3G的C ++源代码中寻找这个想法。 所以:我想制作一个小实用程序或脚本来恢复这种情况下的文件。 一个答案告诉我在哪里得到这个CRC和它使用什么algorithm将被接受。 另外:我怀疑CRC是分配单位,而不是整个文件。 也许是在MFT?

如何在C#中监视Fileaccess

我想检测在一个特殊的目录的文件系统的变化,我听说有可能监视文件访问。 任何人都可以告诉我如何监视目录例如在C#.NET中? THX Rene

如何强制robocopy覆盖文件

一般来说,robocopy会忽略lastwrittend和filesize相同的文件。 我们如何逃避这个devise? 我想用robocopy强制覆盖。 我期望dst \ sample.txt应该写成test001。 但是这些文件被robocopy识别为相同的文件,不会被覆盖。 “/ IS”选项在这种情况下无效。 New-Item src -itemType Directory New-Item dst -itemType Directory New-Item src\sample.txt -itemType File -Value "test001" New-Item dst\sample.txt -itemType File -Value "test002" Set-ItemProperty src\sample.txt -Name LastWriteTime -Value "2016/1/1 15:00:00" Set-ItemProperty dst\sample.txt -Name LastWriteTime -Value "2016/1/1 15:00:00" ROBOCOPY.exe src dst /COPYALL /MIR Get-Content src\sample.txt, dst\sample.txt > test001 > test002 […]

NTFS元数据中包含哪些信息?

我想知道NTFS元数据中包含的信息。 但是我找不到纸张。 我猜元数据有一个文件名,大小和属性等 NTFS元数据是否也有一个Shortpath名称? NTFS元数据中包含哪些信息? 你知道一个好的网站或关于这个网页吗? 如果你这样做,请让我知道。 谢谢。