Dlaczego system32 ma tak wiele różnych nazw folderów o nazwie Drivers / DRIVERS / drivers?

4

Podczas uruchamiania w trybie awaryjnym komputer wyświetli listę uruchomionych plików systemowych, ale pliki systemowe znajdują się w folderach Driver o różnych nazwach w System32.

Więc imiona, które widziałem to:

drivers
Drivers
DRIVERS

wprowadź opis zdjęcia tutaj

Czy istnieje powód, dla którego są tak różni? Czy istnieje powód, dla którego w systemie 32 są 3 różne foldery sterowników w różnych przypadkach?

yuritsuki
źródło
Czy sprawdziłeś w systemie32, jakie foldery faktycznie tam są? Mój Windows 7 ma tylko „sterowniki” ...
DavidPostill
@DavidPostill Co ciekawe, masz rację, ale dlaczego uruchamianie w trybie awaryjnym pokazuje różne nazwy folderu DRIVERS?
yuritsuki
To samo dotyczy System32 i system32
Ray

Odpowiedzi:

8

Dlaczego system32 ma tak wiele różnych nazw folderów zwanych Sterownikami?

Więc imiona, które widziałem to:

Kierowcy

Kierowcy

KIEROWCY

Nie ma znaczenia, czy system win32 próbuje otworzyć plik (katalog) o nazwie „drivers”, „Drivers” lub „DRIVERS”.

  • Programiści sterowników (dostawcy) prawdopodobnie wybrali różne warianty nazwy katalogu podczas pisania swoich sterowników.

  • Te nazwy pochodzą od .INFplików, które kojarzą sterowniki ze sprzętem. Różni .INFtwórcy plików używają różnych odmian nazw.

  • Podsystemy Win32 używają trybu bez rozróżniania wielkości liter (zachowanie wielkości liter, ale bez rozróżniania wielkości liter).

Oznacza to, że aplikacje mogą wybierać pliki na dysku, nawet jeśli podana nazwa różni się w przypadku od nazwy zapisanej na dysku.

W ramach wymagań zgodności z POSIX, system plików Windows NT (NTFS) zapewnia rozróżnianie wielkości liter i konwencji nazewnictwa plików i katalogów. Mimo że NTFS i podsystem POSIX dobrze radzą sobie z rozróżnianiem wielkości liter, 16-bitowe aplikacje Windows, MS-DOS, OS / 2 i Win32 nie .

W systemie plików NTFS można tworzyć unikalne nazwy plików przechowywane w tym samym katalogu, które różnią się tylko wielkością liter. Na przykład następujące nazwy plików mogą współistnieć w jednym katalogu na woluminie NTFS:

CASE.TXT
case.txt
case.TXT

Jednakże, jeśli spróbujesz otworzyć jeden z tych plików w aplikacji Win32 , takich jak Notatnik, można mieć dostęp tylko do jednego z plików , niezależnie od przypadku pliku wpisanego w oknie dialogowym Otwieranie pliku.

...

NTFS obsługuje dwa nieznacznie różne tryby działania, które mogą być wybrane przez podsystem aplikacji współpracujący z NTFS. Pierwszy z nich uwzględnia wielkość liter i wymaga, aby nazwy plików dostarczone przez aplikację były zgodne z nazwami przechowywanymi na dysku, w tym wielkość liter, jeśli plik na dysku ma zostać wybrany. Drugim trybem działania jest zachowanie wielkości liter, ale bez rozróżniania wielkości liter. Oznacza to, że aplikacje mogą wybierać pliki na dysku, nawet jeśli podana nazwa różni się w przypadku od nazwy zapisanej na dysku. Pamiętaj, że oba tryby zachowują wielkość liter używanych do tworzenia plików. Podana tutaj różnica w zachowaniu dotyczy tylko sytuacji, gdy aplikacja musi zlokalizować istniejący plik. POSIX korzysta z trybu pełnego rozróżniania wielkości liter, podczas gdy MS-DOS, WOW iPodsystemy Win32 używają trybu bez rozróżniania wielkości liter .

W nazwach plików źródłowych rozróżniana jest wielkość liter w woluminach NTFS

DavidPostill
źródło
2
Następuje pytanie: dlaczego do tych katalogów odnoszą się te różne nazwy? Odpowiedź: Te nazwy pochodzą z plików .INF, które kojarzą sterowniki ze sprzętem. Różni twórcy plików .INF używają różnych odmian nazw. Funkcjonalnie nie jest to problem, ale z pewnością mogą być bardziej konsekwentni. (Tylko fyi: „foldery” są artefaktem Eksploratora; dla systemu plików są to katalogi.)
Jamie Hanrahan
@JamieHanrahan już ujął moją odpowiedź ... „Programiści sterowników (dostawcy) prawdopodobnie wybrali różne warianty nazwy katalogu podczas pisania sterowników”.
DavidPostill
Jasne, ale teraz OP wie, gdzie są zapisane te różne warianty. :)
Jamie Hanrahan,
1

W systemie Windows nie ma znaczenia, jak przeliterujesz folder. C: \ temp jest taki sam jak c: \ Temp, a nawet c: \ TEMP. Oczywiście działa również C: \ tEmP i C: \ teMP.

Tak, w folderach nie jest rozróżniana wielkość liter.

Kiedy sterownik instaluje się sam, to od niego zależy, w jaki sposób umieści się w folderze system32 / drivers. Natywne sterowniki Windows zwykle instalują się w STEROWNIKACH, ale reszta zależy od sterownika. Sterownik instaluje się w% SystemRoot% \ system32 \ drivers, gdzie zarówno System32, jak i Sterowniki są zapisywane przez sam sterownik. Można zauważyć, że system32 jest czasami zapisywany jako system32 i System32 i może być również zapisany jako SYSTEM32.

LPChip
źródło
Jeśli więc katalog, w którym się znajduje, pozostaje taki sam, dlaczego wyświetla inną nazwę? Powiedzmy, że jeśli ktoś napisał sterownik, który miał sterownik napisany jako DrIVer / foo.sys, jeśli plik foo.sys jest mimo to zapisany w sterowniku /, to dlaczego nadal wyświetla się jako DrIVer / na ekranie?
yuritsuki
@cyberwebpoweruser: patrz komentarz do poprzedniej odpowiedzi: superuser.com/questions/877257/…
user13267
2
@cyberwebpoweruser Rzeczywistym plikiem sterownika może być sterownik / foo.sys, ale jest też inny plik, który mówi Windowsowi, aby załadował sterownik z DrIVer / foo.sys, i tak to wygląda (i znajduje sterownik / foo.sys), ale drukuje DrIVer /foo.sys w każdym razie.
user20574,