Oprogramowanie

Skonfiguruj Windows - 7 przydatnych wskazówek dla mniej początkujących

przeczytasz w 4 min.

Redakcja benchmark.pl przygotowała artykuł "Skonfiguruj Windows 7 - 14 przydatnych wskazówek dla początkujących". W odpowiedzi na związany z nim konkurs przygotowałem swoją odpowiedź, czyli poradnik dotyczący partycji NTFS i obsługi dysków w Windows.

Większość moich uwag dotyczy systemów XP/Vista/7, niektóre są związane tylko z tym ostatnim.

Spis treści
1. Linki i sznurki na NTFS
2. Alternatywne strumienie na NTFS
3. Błędy na NTFS
4. Kompresja plików na NTFS
5. Czas ostatniego dostępu na NTFS
6. Pliki z pustą zawartością na NTFS
7. TRIM

Artykuł jest przewidziany raczej dla użytkowników początkujących :)


Linki i sznurki na NTFS

Na partycjach NTFS możemy przechowywać nie tylko pliki i katalogi. Przykładem dodatkowych obiektów są odnośniki do prawdziwych plików czy katalogów:

  • połączenie (junction point) między katalogami na dysku lokalnym dostępne od czasów Windows 2000 - po wykasowaniu "prawdziwego" katalogu połączenie pozostaje na dysku, wykasowanie połączenia nie kasuje "prawdziwego" katalogu. W ten sposób jest obecnie tworzony katalog "Documents and Settings".
     
  • łącze stałe (hard link) między plikami na dysku lokalnym dostępne od czasu Windows 2000 - po jego utworzeniu na dysku zapisany będzie fizycznie jeden plik widoczny jako dwa pliki o tej samej wielkości, fizyczna zawartość pliku zostanie wykasowana po usunięciu obu
     
  • łącze symboliczne (symbolic link) między katalogami dostępne od czasu Windows Vista - po wykasowaniu "prawdziwego" katalogu połączenie pozostaje na dysku, wykasowanie połączenia nie kasuje "prawdziwego" katalogu. W ten sposób jest obecnie tworzony katalog "All Users" w "Documents and Settings".
     
  • łącze symboliczne (symbolic link) między plikami dostępne od czasu Windows Vista - po jego utworzeniu na dysku zapisany będzie fizycznie jeden plik widoczny jako dwa pliki (gdzie łącze będzie mieć wielkość 0 bajtów), po wykasowaniu "prawdziwego" pliku łącze pozostaje na dysku, wykasowanie łącza nie kasuje "prawdziwego" pliku

Poniżej przedstawiłem komendy służące do ich tworzenia (gdzie katalog/plik.txt to źródło, a link/link.txt to stworzone odnośniki)

TypŁączone obiektyKomenda

połączenie

(junction point)

katalogi

mklink link katalog /j

(nie wymaga uprawnień administratora, nie działa w Windows XP)

junction link katalog

(bezpłatne narzędzie Microsoftu należy pobrać stąd, nie wymaga uprawnień administratora)

łącze stałe

(hard link)

pliki

mklink link.txt plik.txt /h

(nie wymaga uprawnień administratora, nie działa w Windows XP)

fsutil hardlink create link.txt plik.txt

łącze symboliczne

(symbolic link)

katalogi

mklink link katalog /d 

(wymaga włączenia łączy na partycji, nie działa w Windows XP)

pliki

mklink link.txt plik.txt

(wymaga włączenia łączy na partycji, nie działa w Windows XP)

Obecność łączy symbolicznych na partycji możemy sprawdzać i kontrolować stosując fsutil, np.

fsutil behavior query SymlinkEvaluation

służy do sprawdzenia, czy opcja jest aktywna.

Aby sprawdzić, czy do danego pliku są dołączane łącza stałe (znów w Vista/7), należy z kolei wykonać

fsutil hardlink list plik.txt

Pewną bardzo specyficzną formą odnośników są nazwy plików w formacie 8 znaków + 3 znaki rozszerzenia (pozostałość zachowana w celu uzyskania zgodności z DOS - oprócz długiej nazwy pliku tworzona jest też krótka). Możemy zmienić wygenerowaną nazwę na inną stosując

fsutil file setshortname plik.txt krotka.txt

Potwierdzenie zmiany możemy uzyskać wykonując np. komendę

dir /x

Tworzenie skróconych nazw plików można kontrolować na poszczególnych partycjach stosując znowu komendę fsutil (wersja dla Vista/7 dla partycji c:):

  • fsutil behavior query Disable8dot3 c:w celu sprawdzenia
  • fsutil behavior set Disable8dot3 c: 1w celu wyłączenia
  • fsutil behavior set Disable8dot3 c: 0 w celu włączenia

Z kolei w Windows XP ustawienie jest globalne (dotyczy wszystkich partycji) i należy użyć odpowiednio:

  • fsutil behavior query Disable8dot3
  • fsutil behavior set Disable8dot3 1
  • fsutil behavior set Disable8dot3 0

Możliwe jest również podłączanie partycji pod określone katalogi. Należy na dysku stworzyć standardowo katalog, a następnie użyć komendy mountvol. Pokaże ona szeregi ciągów znaków

\\?\Volume{numer}\

dla każdej partycji. Wybieramy jeden z nich, wykonujemy komendę

mountvol katalog \\?\Volume{numer}\

i od tej pory partycja jest już podłączona. Aby to odwołać, wystarczy wykonać

mountvol katalog /d


Alternatywne strumienie na NTFS

Większość z nas jest przyzwyczajona, iż plik ma jedną zawartość. W przypadku NTFS tak nie jest - z jednym plikiem mogą być powiązane dane z wielu niezależnych od siebie tzw. alternatywnych strumieni. Żeby uzyskać do nich dostęp, należy podać nazwę pliku połączoną z dwukropkiem i nazwą strumienia. Przykładowo komenda

notepad plik.txt:strumien

będzie edytować strumień o nazwie "strumien" połączony z plikiem plik.txt.

Niestety Eksplorator nie pokaże poprawnie wielkości pliku na dysku (tj. wielkości podstawowej zawartości + wielkości alternatywnych strumieni). Aby je odczytać (również z konta bez podwyższonych uprawnień), należy użyć np. komendy

dir /r

(przełącznik /r dostępny jest w Windows Vista/7) albo darmowego narzędzia Streams Microsoftu (poniższa komenda pokaże informacje o pliku plik.txt):

streams plik.txt


Błędy na NTFS

Załóżmy, że chcemy sprawdzić partycję c: pod względem błędów (np. mieliśmy zanik prądu). Standardowa opcja

chkdsk c: /f

może nie zadziałać (np. w tle działa program antywirusowy, który na to nie pozwala albo chcemy sprawdzić partycję systemową). Aby nakazać systemowi sprawdzenie partycji c: przy starcie, należy ustawić tzw. "bit zanieczyszczenia" przez wykonanie komendy

fsutil dirty set c:

Jeżeli pomimo jej zastosowania partycja nie została sprawdzona, należy wykonać

chkntfs /c c:

albo alternatywnie

chkntfs /d

(wtedy system będzie sprawdzał wszystkie dyski po ustawieniu na nich "bitu zanieczyszczenia").

Możemy skrócić czas oczekiwania na uruchomienie chkdsk przy starcie ze standardowych 10 sekund np. na 2 sekundy stosując

chkntfs /t:2

Począwszy od Visty mamy też opcje "samonaprawiania" - w przypadku wykrycia uszkodzeń jakiegoś pliku dostęp do niego jest blokowany, a system dokonuje poprawek. Funkcjonalność ta powinna być standardowo włączona. Aby to sprawdzić dla partycji c: należy wykonać

fsutil repair query c:

Włączenie uzyskamy przez

fsutil repair set c: 1

W obecnych systemach Microsoftu możemy również wymusić, aby system wygenerował "niebieski ekran", gdy wykryje błąd na danej partycji NTFS. Wykorzystujemy w tym celu przynajmniej dwie komendy:

fsutil behavior set BugCheckOnCorrupt 1

fsutil repair set c: 0x10

(drugą komendę powtarzamy po restarcie systemu dla wszystkich partycji, dla których ma to działać)


Kompresja plików na NTFS

Pliki i katalogi na dyskach NTFS mogą być kompresowane, co wydłuża czas dostępu do nich, ale zmniejsza zajmowane przez nie miejsce (plik jest zapisany w postaci spakowanej na dysku, przed dostarczeniem go aplikacjom jego zawartość jest rozpakowywana przez system operacyjny). I tak komenda

compact /s /a /c *.*

wymusza kompresję wszystkich plików (również z atrybutem ukrytym i systemowym) w katalogu bieżącym i podkatalogach, zaś

compact /s /a /u *.*

to wycofuje. Możliwe jest wyłączenie funkcji kompresji na wszystkich partycjach

fsutil behavior set DisableCompression 1


Czas ostatniego dostępu na NTFS

NTFS oprócz czasu modyfikacji pliku/katalogu przechowuje również informację o czasie ostatniego dostępu do niego. Aby go zobaczyć, można użyć np. komendy

dir /t:a

albo dodać odpowiednią kolumnę w Eksploratorze Windows. Opcja jest globalna i musi być uaktywniona (jej włączenie może nieznacznie spowolnić system):

fsutil behavior set DisableLastAccess 0


Pliki z pustą zawartością na NTFS

Tym razem dwie ciekawostki dotyczące plików z bajtami o kodzie 0x00. Żeby "wyczyścić" w ten sposób dowolny plik, należy użyć komendy

fsutil file setzerodata offset=0 length=100 plik.txt

gdzie zamiast 0 i 100 wstawiamy odpowiednio numer pierwszego czyszczonego bajtu i długość obszaru.

Możemy zaoszczędzić miejsce na dysku w przypadku tzw. plików rozszedzonych (ich pusta część nie jest tam fizycznie zapisywana). Wpierw zaznaczamy plik jako wykorzystujący tę funkcję (działa w Windows Vista/7):

fsutil sparse setflag plik.txt

Następnie informujemy system, że określony obszar (w przykładzie 100 bajtów począwszy od pierwszego bajtu w pliku) może być wyczyszczony (zostanie wypełniony bajtami o kodzie 0x00, miejsce poprzednio zajmowane przez nie na dysku zostaną zwolnione)

fsutil sparse setrange plik.txt 0 100


TRIM

Windows 7 obsługuje komendę TRIM. O ile jest ona zaimplementowana w firmware dysku SSD, pozwala w określonych przypadkach na zwiększenie prędkości jego działania (więcej można przeczytać np. tutaj).

Sprawdzenie, czy jest włączona w systemie, uzyskamy przez wykonanie

fsutil behavior query DisableDeleteNotify

(wartość 0 oznacza, że działa). Możemy ją włączyć komendą

fsutil behavior set DisableDeleteNotify 0

Komentarze

7
Zaloguj się, aby skomentować
avatar
Komentowanie dostępne jest tylko dla zarejestrowanych użytkowników serwisu.
  • avatar
    0
    Chcieliście coś dla zaawansowanych, to macie :P
    • avatar
      koziro
      0
      Początek mi się nie podoba - praktycznie nie ma odstępów między liniami tekstu :/
      A z poradnika nie skorzystam, bo nie mam se7ena ;P, ale dam 5 za włożoną pracę ;)
      • avatar
        Konto usunięte
        0
        Dobry artykuł, na poziomie, gratuluję.
        Ale mam także radę: przy poleceniach/kodzie programu lepiej stosować czcionkę o stałej szerokości, np. Courier New bez pochylenia. Zdecydowanie to polepsza czytelność.
        • avatar
          0
          Jedna uwaga do Czytelników: artykuł pod adresem http://www.benchmark.pl/mini-recenzje/Skonfiguruj_Windows_-_5_przydatnych_wskazowek_dla_mniej_poczatkujacych-2472.html jest oczywiście kontynuacją...
          • avatar
            Konto usunięte
            0
            proszę poprawić: "Możemy zaoszczędzić miejsce na dysku w przypadku tzw. plików rozszedzonych" na pewno chodzi o pliki rozrzedzone... o rozszedzonych nie słyszałem.... do dziś :)