为什么在一个分区中创建短文件名(8.3),而在同一个磁盘的另一个分区中却没有创建?

为什么在一个分区中创建短文件名(8.3),而在同一个磁盘的另一个分区中却没有创建?

我运行的是一台 64 位 Windows 10 PC,它有一个硬盘,其中有两个 NTFS 分区,C: 和 D:。短文件名 (8.3) 在 C: 中创建,但在 D: 中没有创建

  1. 这怎么可能呢?
  2. 我也可以启用 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 命名。

https://docs.microsoft.com/en-us/archive/blogs/josebda/windows-server-2012-file-server-tip-disable-8-3-naming-and-strip-those-short-names-too


我也可以启用 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 文件系统!

因此,我不会删除我的问题,另一个原因是:其他人可能有同样的问题,但无法在网上找到解决方案,就像我自己找不到一样。

相关内容