我运行的是一台 64 位 Windows 10 PC,它有一个硬盘,其中有两个 NTFS 分区,C: 和 D:。短文件名 (8.3) 在 C: 中创建,但在 D: 中没有创建
- 这怎么可能呢?
- 我也可以启用 D: 中的短文件名吗?
答案1
全球背景8.3 名称创建由键控制HKLM\System\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation
。默认值为 2,这意味着允许每个卷有其自己的本地 8.3 名称创建设置。该键的可用设置是:
- 0:为系统上的所有卷启用 8dot3 名称创建。
- 1:禁用系统上所有卷的 8dot3 名称创建。
- 2:根据每个卷设置 8dot3 名称创建。
- 3:禁用除系统卷之外的所有卷的 8dot3 名称创建。
当值为 2 时,可以通过fsutil 8dot3name
命令
C:\WINDOWS\system32>fsutil 8dot3name query
The registry state is: 2 (Per volume setting - the default).
C:\WINDOWS\system32>fsutil 8dot3name query c:
The volume state is: 0 (8dot3 name creation is enabled).
The registry state is: 2 (Per volume setting - the default).
Based on the above settings, 8dot3 name creation is enabled on c:
这怎么可能
那个设定不适用于所有分区如上所述。这意味着有人在 D: 中禁用了 8.3 名称创建.fsutil
您甚至可以使用以下命令添加/删除特定文件的 8.3 名称fsutil file setshortname
/fsutil 8dot3name strip
无论系统/卷设置如何,另一个可能但可能性较小的解决方案是所有 8.3 名称都已被删除,并且新文件尚未添加到卷中
自 Windows 8 和 Windows Server 2012 以来新格式化的卷将具有8.3 默认禁用名称生成。您的 PC 可能存在这种情况
事实上,当您格式化新的数据卷时,Windows Server 的最新版本甚至没有启用 8.3 命名。
我也可以启用 D: 中的短文件名吗?
当然可以。要在 D: 上启用设置,请运行
fsutil 8dot3name set D: 0
并禁用它
fsutil 8dot3name set D: 1
有关的:
答案2
与此同时,我在 Bing 中找到了正确的问题,并找到了解决方案http://omtool.com/documentation/HPCR/v1.2.0/ServerHelp/Enabling_8.3_name_creation.htm:
进入HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
注册表并设置NtfsDisable8dot3NameCreation
为 0。(默认值为 2)。我试过了,成功了。
但第一个问题仍然存在:为什么一个分区有短名称而另一个没有?注册表项适用于所有 NTFS 文件系统!
因此,我不会删除我的问题,另一个原因是:其他人可能有同样的问题,但无法在网上找到解决方案,就像我自己找不到一样。