重新開啟 Windows 8 中 NTFS 短檔名設定

摘要:重新開啟 Windows 8 中 NTFS 短檔名

Windows 8 版本 : Windows 8 Release Preview Build 8400

 

我自己平常在進行檔案管理都習慣使用 Lcc Wizard 寫的 WinCV ,方便好用。

不過今天使用 WinCV 要管理新的硬碟時,卻發現畫面怪怪的。

就像下面一樣,檔名的部分怪怪的。

其他磁碟區的長相則是像下面這個樣子

從畫面中可以看得出來,WinCV 檔案列表的表現方式是前面是 8.3 短檔名,後面是長檔名,但是新的磁碟機這邊,畫面上很明顯是長短檔名出了問題。本來是前面會顯示短檔名,但是畫面中,前面的檔名有顯示出空白,所以很可能新的這個磁碟區沒有紀錄短檔名,而長檔名跑去前面了。

不過其他的磁碟區又很正常,只有新的這個磁碟區顯示怪怪的,因為這個磁碟區是在安裝 Windows 8 之後才裝上去的,其他磁碟區則是之前就一直使用的,所以會不會是經由 Windows 8 所建立的 NTFS 磁碟區,預設就是關閉 8.3 短檔名紀錄 ?

為了驗證,於是先到 Windows 8 的磁碟管理中建立一個小的新的磁碟區,然後格式化為 NTFS。

然後到左下角的開始圖示中按右鍵,執行 「命令提示字元 (系統管理員)」

然後輸入指令 fsutil 8dot3name query i: 來查詢磁碟區短檔名設定的狀態。

狀態是 1 表示停用,狀態是 0 則是表示啟用。

這邊看到磁碟區的短檔名的設定果然是被停用的。

另外這邊有看到一項「登陸狀態是 2 (依磁碟區設定 - 預設值)」

因為對於 8.3 短檔名的設定有分兩個地方,一個是在登錄中的全域設定,另一個則是依照磁碟區的個別設定。

查詢其他磁碟區則是可以看到是啟用的。

如果命令提示字元沒有使用系統管理員權限來執行的話,執行一些對磁碟區的操作,就會顯示存取被拒。

存了一些檔案進去,果然顯示怪怪的。

接下來輸入指令 fsutil 8dot3name set i: 0 將 I: 短檔名設定打開

然後再存一些檔案進去試試看,可以看到新複製進去的資料夾已經可以正常顯示短檔名跟長檔名了

不過原本就沒有短檔名紀錄的那些資料夾跟檔案,仍舊是不會有短檔名。

然後我又重新將這個已經開啟 8.3 短檔名設定的 I: 格式化,然後又重新查詢它的短檔名設定,結果看到它又重新變回了關閉的狀態。

所以可以知道 Windows 8 預設在格式化新的 NTFS 磁碟區的時候,是將 8.3 短檔名設定關閉的,這樣是可以增進磁碟區在列舉目錄時的效能,可是當使用一些舊程式,或是一些會使用到短檔名的程式的時候,很可能就會出現一些錯誤或是異常的情況。

所以如果使用 Windows 8 格式化磁碟區以後,如果有使用短檔名的需求,可以使用下面這個指令來對個別的磁碟區開啟短檔名設定。

fsutil 8dot3name set i: 0

或是

fsutil.exe behavior set disable8dot3 i: 0

另外如果不想依照個別的磁碟區來做設定的話,也可以使用下面這個指令來修改全域設定,啟用所有磁碟區中 8.3 短檔名的建立

fsutil.exe behavior set disable8dot3 0

 

0 - 啟用系統上所有磁碟區的 8.3 名稱建立
1 - 停用系統上所有磁碟區的 8.3 名稱建立
2 - 針對個別磁碟區設定 8.3 名稱建立
3 - 在系統磁碟區以外的所有磁碟區停用 8.3 名稱建立