Я лично думал, что NTFS нечувствительна к регистру, так как вы можете ввести cmd, CMD, cMd или даже CmD и все равно получить командную строку. Однако почему во время CHKDSK x: /f /r
иногда он исправляет заглавные буквы в некоторых файлах? Если это не заботит дело, это не должно иметь значения, и CHKDSK не должен проверять, действительно ли это CMD или cmd. Я прав? Где это на самом деле имеет значение в файловой системе?
3 ответа
Чувствительность к регистру файловой системы - это отдельная проблема операционной системы. Последние выпуски Windows основаны на ядре NT, которое наследует множество свойств не-NT Windows 95 и даже MS-DOS. Наряду с ядром NT файловая система NTFS была разработана с учетом регистра символов - для обеспечения совместимости с POSIX.
Хотя подсистема Win32 не поддерживает имена файлов, которые отличаются только чувствительностью к регистру, можно создавать эти файлы с помощью системных вызовов более низкого уровня.
Это на самом деле не NTFS, о которой вы спрашиваете.
NTFS - это файловая система. Ваш вопрос действительно о чувствительности к регистру командной оболочки Windows. Они совершенно разные. Windows Explorer - это графическая командная оболочка. Вводя cmd
(например, в Start | Run), вы указываете командной оболочке Windows выполнить команду cmd
(которая сама по себе является другой командной оболочкой, но основанной на командной строке, а не графической).
Точно так же CHKDSK не проверяет, используете ли вы CMD или cmd. Все, что CHKDSK знает, это параметры, которые вы передаете ему, в данном случае это x:, /f и /r.
Что касается CHKDSK "фиксация капитализации", я не совсем уверен, что вы там имеете в виду.
Я подозреваю, что утверждение автора вопроса о том, что chkdsk.exe "исправляет использование заглавных букв в некоторых файлах", фактически вызвано сообщением от CHKDSK, которое появляется при некоторых обстоятельствах:
исправление ошибок в верхнем регистре
В основном это происходит из-за версии chkdsk.exe для Windows XP, работающей на томе NTFS, отформатированном в более поздней версии Windows, как описано в сообщении об ошибке при запуске Chkdsk.exe на основе Windows XP или Windows Компьютер под управлением Server 2003: «Исправление ошибок в файле верхнего регистра». В результате, это действительно не ошибка и не имеет ничего общего с чувствительностью к регистру.