合并 ntfs 分区,缺少“Program Files”目录

合并 ntfs 分区,缺少“Program Files”目录

我似乎无处可寻能够找到如何就地解决这种情况。

发生了什么:

前,

C:~= 90GB,新安装的 Win 8.1 Enterprise,64 位

D: ~= 880GB,也是 ntfs。主要用于数据文件。仍然包含非工作 Win8.0 的文件夹,当时它以前是 C: 驱动器。

chkdsk在高级工具、命令提示符启动选项中,C 和 D 的手册运行良好。没有错误。

接下来,使用 Minitool Partition Magic 将相邻的 D: 合并到 C:,作为子目录光盘

确保顺序正确,即 C:\Windows 前后相同,并且原本直接位于 C:\ 下的其他文件仍在那里,而不是在光盘现在。

后:

Win8.1 可以加载,但已安装程序(到 C:)的大多数图标都是空白的。explorer.exe
的视图中完全没有“C:\Program Files”和“C:\Program Files (x86)”以及其他文件夹,并且 cmd.exe 以管理员身份运行。但是,可用磁盘空间与已用磁盘空间加起来大约等于合并前 C: 和 D: 的容量。

这使我相信分配的文件和文件夹仍然写在磁盘上。

我的假设是,不知何故,ntfs 权限/所有权/ACL 被搞乱了,可能将不再存在的旧 D:MFT 映射强加到那些消失的文件夹上。

也许当前的 SYSTEM/Administrator/TrustedInstaller/User/...? 帐户突然无法看到以某种方式链接到丢失文件夹的任何 ID?如果是这样,如何恢复?如何获得 C: 驱动器的类似 root 的视图,而不考虑所有权或 ACL?

所有研究似乎都指向使用工具来取消删除文件或抓取未分配的空间;但似乎没有什么可以解决混乱的安全描述符问题。

chkdsk /f c:事后手动运行,未检测到任何错误。sfc /scannow

笔记

  • 旧的 C:分区位于 EFI 分区之后,比旧的 D 分区更早。
  • 安装了 R-Studio 等恢复/取证工具,现在都无法访问,因为它们位于旧的“C:\Program Files”或“C:\Program Files (x86)”下
  • 在合并后的 Windows 8.1 中,针对 C: 运行用户级程序(如 WinDirStat)没有显示文件占用的足够空间,无法与从dir命令 shell 运行列出的“可用空间”保持一致。更有理由让我怀疑,从 ntfs 的角度来看,fs 结构很好,文件夹并没有真正消失。只是 Windows 8.1 中的“SYSTEM”帐户也看不到它们。但是,我可能错了。还有其他想法吗?

答案1

对于遇到这些可能罕见情况的人:

我的怀疑是正确的,丢失的文件夹仍然在磁盘上,尽管看不见。

在隐藏的c:\found.000
(我怀疑这是由于分区软件的批处理作业运行后,自动chkdsk重新启动 Windows 造成的。)

我应该知道要检查...希望在我让 Windows 进行不完美的自我修复之前就知道sfc,这会创建上述所有三个文件的准系统副本,并让我后来进行大量仔细的文件合并和手动链接解析。

许多其他文件(来自较旧的 D: 分区,现已合并到 C:)列出的所有者类似于

帐户未知(S-1-5-21-580982140-4090956935-1935414389-1001)

这并不奇怪。

类似命令

icacls * /grant:r everyone:f /t

takeown /F .

帮助重新获得这些访问权限。

相关内容