告诉 Windows 7 或 8 不要使用其他驱动器

告诉 Windows 7 或 8 不要使用其他驱动器

在安装任何东西(即 Windows 更新)时,Windows 倾向于使用其他物理驱动器来解压安装程序,并从那里启动它。一段时间后,这会留下大量名称愚蠢的文件夹(主要是 .NET 更新),之后很难删除,因为所有者可能设置为 SYSTEM。

最近我注意到,Windows 8 在安装任何程序(例如不仅仅是 Windows 更新)时都会对我的其他驱动器进行一些操作。我知道这一点,因为这个其他驱动器上有 Win7,它告诉我当我再次从其他驱动器启动 Win7 时需要对其进行 chkdsk。

所以真正的问题是:我可以让 Windows 不要再触碰其他驱动器吗?它们是 SSD,因此速度方面没有什么好处……

答案1

唯一能做到的完全地防止操作系统可能影响磁盘的方法是将其从操作系统中卸载(或物理断开连接,或在 BIOS 中禁用它)。

Chkdsk 的事情是(正如我在链接的重复中的答案所指出的那样)因为 Windows 8(可能)设置为混合启动(如果系统可以支持,则为默认设置),它使用休眠来存储系统状态(因此启动速度更快)。

休眠不会在关机前从文件系统中删除“脏”标志,因为它实际上不是关机(而是休眠)。当您启动 Windows 7 时,它会在文件系统上看到此标志,并提示运行 Chkdsk。

因此,为了防止在操作系统之间切换时出现 Chkdsk 提示,请在 Windows 8 中禁用混合启动(而不是 Chkdsk)。

有关混合启动的更多信息:混合启动有什么作用?为什么我不总是启用它?

所以我在这里等待 MS 实现不同 NTFS 版本的共存......

NTFS司机在不同版本的 Windows 中,版本已经发生了变化,以添加/更改可用功能,但 Windows 8 中的 NTFS 磁盘文件系统版本与 XP - v3.1 以来的版本相同(fsutil fsinfo ntfsinfo c:在提升的命令提示符下运行以进行检查)。

答案2

跳过检查磁盘:

CHKNTFS /X <disk name 1>: <disk name 2>: <disk name 3>:  ...

样本:

CHKNTFS /X C: D: I: N: O: P:

枚举名称逻辑磁盘名称:

powershell [char[]](67..90) ^| ?{(gwmi win32_logicaldisk ^| select -expand DeviceID) -contains \"$($_):\"}

枚举空闲名称逻辑磁盘名称:

powershell [char[]](67..90) ^| ?{(gwmi win32_logicaldisk ^| select -expand DeviceID) -notcontains \"$($_):\"}

第一个可用名称逻辑磁盘名称:

powershell [char[]](67..90)^|?{(gwmi win32_logicaldisk^|select -expand DeviceID) -notcontains \"$($_):\"}^|select -first 1

相关内容