Windows 上的 HDD 恢复

Windows 上的 HDD 恢复

我最近尝试通过恢复硬盘(即从计算机上移除它并插入扩展坞以备份内容)来帮助某人解决计算机崩溃的问题(目前原因并不重要),但是我遇到了 Windows 权限和所有权方面的问题。

人们总是认为,因为我是一名狂热的计算机程序员并且正在学习数学,所以我应该以某种方式神奇地知道所有日常计算机问题的答案,而且很难让他们相信这些事情并不是真正相关的(事实上,它们是相关的,但是编程和系统管理是完全不同的事情)。

无论如何,当我将 HDD 插入扩展坞并将其连接到另一台计算机(两台计算机都运行 Windows Vista,但这不是我的选择)时,分区照常显示,但当我尝试查看内容时,所有分区都无法访问(权限被拒绝)。我以前做过这种事,没有任何问题,唯一的区别是 HDD 来自 Windows 7 机器。我发现分区及其内容仍然具有为不同用户帐户设置的旧安全属性,并且 Windows 仍然尊重它们。因此,我尝试使用以下命令为我的本地管理员帐户添加适当的权限:属性 -> 安全 -> 编辑 -> 添加。我认为这将以递归方式设置所有底层文件夹和对象的权限,但是它没有起作用,但我现在至少可以看到分区根目录的内容(子目录和对象仍然无法访问)。

当我试图决定下一步要做什么时,我注意到没有对象和文件夹所有者。我不知道拥有一个对象和拥有一个对象的安全权限之间到底有什么区别,但我也尝试将所有权添加到我的本地用户帐户,如下所示:属性 -> 安全 -> 高级 -> 所有者 -> 编辑 -> 应用。现在的问题是:在向我的本地用户授予所有权的过程中,出现了一个对话框,提示我没有更改所有权的权限。在调查这次出了什么问题时,我注意到了两件事:

  • 我可以读/写/执行每个被授予所有权的文件夹和对象(因此,直到出现对话框为止,所有文件夹和对象都会被处理)。
  • 分区上原本有 1 GB 的可用空间,现在却只有几 KB。看来授予所有权占用了超过 1 GB 的空间,对于一些元数据来说,这似乎太多了。

我尝试了完全相同的方法,但使用不同的分区时发生了同样的情况,除了一个分区有 20 GB 的可用空间(该分区上没有消耗任何额外的空间)。

你知道发生了什么事吗?

答案1

一般来说,您无法将基于权限的文件系统从一个独立的操作系统移动到另一个独立的操作系统,因为系统之间的帐户 ID 不匹配。如果硬盘被视为“外部”或“可移动”媒体,则权限执行会放宽。如果硬盘已连接并显示为“固定硬盘”,Windows 将完全强制执行权限,并且由于新系统上不存在帐户,因此大多数文件都无法访问。

如果您想验证磁盘如何连接,可以运行此 PowerShell 命令:

Get-WmiObject -Class Win32_DiskDrive | Format-Table Name,Model, MediaType

无论类型如何,如果你不要计划将此磁盘放回原来的系统,如果您有管理权限,则可以执行强制接管权限的操作。(如果您想要在其他系统中使用此磁盘,您需要诱导它显示为可移动或外部驱动器。)从提升的(管理员)命令提示符下,执行以下命令:

暴力破解权限重置

首先,取得驱动器上所有内容的所有权(这只会设置所有者,而不会创建占用磁盘空间的大型 ACL)NT 中对象的所有者具有固有的、不可撤销的更改对象权限的权利。这将确保您有权执行下一个命令。

TAKEOWN /F X:\ /R /D Y

接下来,重置(删除)所有文件系统对象上的所有 ACL。这将删除可能被继承的不必要的 ACL 副本:

ICACLS X:\ /RESET /T /C

接下来,设置所有 ACL 以从其父级继承权限:

ICACLS X:\ /INHERITANCE:E /T /C

最后,您可以在驱动器“X:”安全选项卡上明确设置安全性,并且权限将在整个文件系统中继承。

相关内容