Почему в system32 так много разных имен папок, называемых Drivers / DRIVERS / drivers?

4

При загрузке в безопасном режиме компьютер перечислит кучу системных файлов, которые он запускает, но системные файлы находятся в папках драйверов с разными именами в System32.

Имена этих я видел:

drivers
Drivers
DRIVERS

введите описание изображения здесь

Есть ли причина, почему они такие разные? Есть ли причина, почему в system32 в разных случаях находятся 3 разных папки с драйверами?

yuritsuki
источник
Вы смотрели в system32, чтобы увидеть, какие папки на самом деле там? В моей Windows 7 есть только «драйверы» ...
DavidPostill
@DavidPostill Интересно, что вы правы, но тогда почему загрузка в безопасном режиме показывает разные имена папки DRIVERS?
Юрицуки
То же самое относится к System32 и system32
Рэй

Ответы:

8

Почему в system32 так много разных имен папок, называемых драйверами?

Имена этих я видел:

водители

Драйверы

ВОДИТЕЛИ

Не имеет значения, пытается ли система win32 открыть файл (каталог) с именами «drivers», «Drivers» или «DRIVERS».

  • Программисты (продавцы) драйверов, по-видимому, решили использовать различные варианты имени каталога при написании своих драйверов.

  • Эти имена происходят из .INFфайлов, которые связывают драйверы с их оборудованием. Разные .INFавторы файлов используют разные варианты имен.

  • Подсистемы Win32 используют режим без учета регистра (с учетом регистра, но без учета регистра).

Это означает, что приложения могут выбирать файлы на диске, даже если указанное имя отличается в случае от имени, сохраненного на диске.

Как часть требований к соответствию POSIX, файловая система Windows NT (NTFS) предусматривает соглашение о присвоении имен файлов и каталогов с учетом регистра. Хотя NTFS и подсистема POSIX хорошо справляются с чувствительностью к регистру, 16-разрядные приложения на базе Windows, MS-DOS, OS / 2 и Win32 этого не делают .

В NTFS вы можете создавать уникальные имена файлов, хранящиеся в одном и том же каталоге, которые отличаются только регистром. Например, следующие имена файлов могут сосуществовать в одном каталоге на томе NTFS:

CASE.TXT
case.txt
case.TXT

Тем не менее, если вы попытаетесь открыть один из этих файлов в приложении Win32 , например в «Блокноте», у вас будет доступ только к одному из файлов , независимо от того, какое имя файла вы вводите в диалоговом окне «Открыть файл».

...

NTFS поддерживает два слегка отличающихся режима работы, которые могут быть выбраны подсистемой приложения, взаимодействующей с NTFS. Первый полностью учитывает регистр и требует, чтобы имена файлов, предоставляемые приложением, совпадали с именами, хранящимися на диске, включая случай, если файл на диске должен быть выбран. Второй режим работы - это сохранение регистра, но без учета регистра. Это означает, что приложения могут выбирать файлы на диске, даже если указанное имя отличается в случае от имени, сохраненного на диске. Обратите внимание, что оба режима сохраняют регистр, использованный для создания файлов. Отмеченное здесь различие в поведении применяется только тогда, когда приложению необходимо найти существующий файл. POSIX использует преимущества режима полного регистра, в то время как MS-DOS, WOW иПодсистемы Win32 используют режим без учета регистра .

Имена исходных файлов чувствительны к регистру на томах NTFS

ДэвидПостилл
источник
2
Возникает дополнительный вопрос: почему эти каталоги называются этими разными именами? Ответ: Эти имена взяты из файлов .INF, которые связывают драйверы с их оборудованием. Различные пишущие файлы .INF используют разные вариации имен. Функционально это не проблема, но они, безусловно, могут быть более последовательными в этом. (Просто к сведению: «папки» являются артефактом Проводника; для файловой системы они являются каталогами.)
Джейми Ханрахан,
@JamieHanrahan уже освещал мой ответ ... «Программисты (поставщики) драйверов, по-видимому, решили использовать разные варианты имени каталога при написании своих драйверов».
ДэвидПостилл
Конечно, но теперь ОП знает, где написаны эти разные варианты. :)
Джейми Ханрахан
1

На окнах не имеет значения, как пишется папка. C: \ temp - это то же самое, что и c: \ Temp, и даже c: \ TEMP. Конечно, также будет работать C: \ tEmP и C: \ teMP.

Да, папки нечувствительны к регистру.

Когда драйвер устанавливается самостоятельно, он сам определяет, как он помещается в вашу папку system32 / drivers. Собственные драйверы Windows обычно устанавливаются в драйверы, но остальное зависит от драйвера. Драйвер устанавливается в% SystemRoot% \ system32 \ drivers, где и System32, и Drivers записываются самим драйвером. Вы можете заметить, что system32 также иногда записывается как system32 и System32 и может также записываться как SYSTEM32.

LPChip
источник
Так что, если каталог, в который он входит, остается прежним, почему он отображает другое имя? Скажем, если кто-то написал драйвер с драйвером, записанным как DrIVer / foo.sys, если foo.sys все равно будет записан в драйвер /, то почему он все равно будет отображаться как DrIVer / на экране?
Юрицуки
@cyberwebpoweruser: см. комментарий к предыдущему ответу: superuser.com/questions/877257/…
user13267
2
@cyberwebpoweruser Фактический файл драйвера может быть driver / foo.sys, но есть еще один файл, который сообщает Windows, чтобы загрузить драйвер из DrIVer / foo.sys, и вот где он выглядит (и находит драйвер / foo.sys), но печатает DrIVer /foo.sys в любом случае.
user20574