JustPaste.it

Tłumaczenie Linux-NTFS-FAQ

1.Podstawowe pytania na temat NTFS.

1.1 Co to jest NTFS ?

NTFS to skrót od New Technology File System - czyli system plików nowej technologii. NT ponieważ został użyty po raz pierwszy w Windows NT, a FS to system plików, czyli sposób przetrzymywania [zapisu i odczytu] danych na dysku. Różne systemy operacyjne zapisują pliki w inny sposób. NTFS jest używany przez Windows NT, 2000 oraz XP.

1.2 Czy NTFS jest lepszy od FAT/FAT32 ?

W skrócie - tak. Jest "silny", umożliwia stosowanie znaków Unicode w nazwach plików, dostatecznie dobrą ochronę, kompresję i szyfrowanie. Jego główną wadą jest to, że może być odczytany tylko spod Windows NT, 2k lub XP, nie możesz użyć np. dyskietki startowej DOS [w rozdziale ... jest opisane jak _można_ to zrobić]

1.3 Czy muszę używać NTFS? [albo uaktualnić?]

Nie, nie musisz, pomimo czego, dla większości użytkowników jest to zalecane. Najprawdopodobniej nawet nie zauwarzysz różnicy. Jedyną pułapką jest to, że nie możesz spowrotem wrócić do FAT. Możesz za to zainstalować Windows używając FAT/FAT32 i później, w razie potrzeby uaktualnić system plików - do NTFS.

1.4 Czy każda wersja Windows używa tej samej wersji NTFS ?


Nie, pomimo tego że wygladają podobnie, są to różne wersje. Nowsze wersje mają dodatkowe funkcje itd. Np. Windows 2000 ma quote czyli ograniczenie przestrzeni dyskowej dla użytkowników.

wersja NTFS        Windows
v1.2                NT 3.51; NT 4
v3.0                2000
v3.1                XP

Wersja 1.2 jest czasem nazywana 4.0, a 3.0 i 3.1 jako 5.0 i 5.1.

1.5 Jakie ograniczenia ma NTFS ?

Wielkość. NTFS obsluguje pliki do 2^63 bajta. Partycje NTFS mogą mieć do 2^63 klastrow, a każdy klaster może być maksymalnie wielkości 64Kb. To daje limit partycji do 500 trylionów Gb.

2. Patycje NTFS

2.1 Jak odczytać partycję NTFS z Windows 95/98/ME i DOS ?

Niestety, nie możesz. Te wersje Windows obsługują tylko FAT. NTFS może być odczytany tylko przez WinNT, 2k oraz XP. Jakkolwiek, jeśli trochę popracujesz możesz użyć kilku narzedzi dostępnych na http://www.sysinternals.com "NTFS dla Windows 95" i "NTFSDOS" pozwalają czytać NTFS spod starszych wersji Windows. Jeśli masz pieniądze dostępne sa nawet narzędzia, które pozwalają zapisywać na NTFS [nie są jednak tanie ]

2.2 Jak skonwertować wolumin FAT na NTFS?

W wierszu poleceń [Run->command lub Run->cmd] wpisz:

convert x: /fs:ntfs

gdzie x to literka partycji którą chcesz przekonwertować. Jeśli wolumin jest w użyciu, konwersja nastąpi po następnym uruchomieniu komputera. Komenda nie jest zbyt łatwo odwaracalna. Zobacz następny paragraf.

2.3 Jak zrobić z NTFS na powrót FAT ?

Najprostszą odpowiedzią jest : Nie da się. Jest jednak wyjście, jeśli masz trochę grosza. Partition Magic dostepny na http://www.sysinternals.com potrafi konwertować pomiędzy różnymi systemami plików w tym NTFS i FAT.

2.4 Jak usunąć partycję NTFS?

To zależy od używanego systemu operacyjnego.

DOS, Windows 95/98/ME : fdisk. Użyj dyskietki startowej albo przejdź do DOSa. Wtedy uruchom fdisk. Jeśli masz więcej niż 1 dysk - najpierw wybierz ten dysk. Potem Usuń partycję nie DOS. Uważaj, zmiany są nieodwracalne i natychmiastowe.

Windows NT : Zarządzanie komputerem

Windows 2k, XP : Menadżer Dysków Logicznych, zacznij od Panel Sterowania -> Narzędzia Administracyjne -> Zarządzanie komputerem. [Logical Disk Manager. Start at the Control Panel, select Administrative Tools, then Computer Management.]

2.5 Jak zdefragmentować partycję NTFS ?

Po jakimś czasie używania, wielu zapisach, odczytach i kasowaniu plików ich struktura mogła się trochę zmienić...Pliki zostały pofragmentowane. Oznacza to, że plik jest podzielony na wiele części, które są zapisane w różnych miejscach dysku. Aby go odczytać głowica musi wiele razy zmienić położenie, co powoduje powolny odczyt plików i spowolnienie pracy systemu. Windows XP ma wbudowany program do defragmentacji. Dla użytkowników Windows NT i 2000, jest darmowy program, który robi to samo. "Diskeeper Lite" z http://diskeeper.com

2.6 Jak zmienić rozmiar partycji NTFS ?

Niestety nie ma darmowych programów do zmiany rozmiaru partycji. Jedynym komercyjnym programem do tego jest Partition Magic http://powerquest.com

3. Linux i NTFS

3.1 Dlaczego Linux nie "rozumie" NTFS ?

Jądro systemu ma budowę modularną [składa się z wielu części, które ładujemy w razie potrzeby, w ten sposób jest mniejsze -przyp. tłum.] Każdy sterownik, dla systemu plików albo urzadzenia musi być wkompilowany w jądro albo załadowany jako moduł. Plik "/proc/filesystems" zawiera listę systemów plików obsługiwanych przez twój komputer [a w zasadzie jądro - kernel].

cat /proc/filesystems

Niektóre dystrybucje, jak np. RedHat nie mają wbudowanej obsługi NTFS. Inne np. Mandrake tak.

3.2 Jak mogę zmusić Linuksa do "zauważenia" partycji NTFS ?

Są dwie drogi : łatwiejsza to dodanie [załadowanie] odpowiedniego modułu do jądra.

modprobe ntfs

Jeśli wyskoczą komunikaty o błedach w stylu : "modprobe: Can't locate module ntfs.", oznacza to, że nie masz zainstalowanej obsługi NTFS [nie masz odpowiedniego modułu].

Drugi, trochę trudniejszy sposób to wkompilowanie do jądra obsługi NTFS. Sposób drugi ma przewagę m.in. w tym, że moduł jest wkompilowany na stałe i ładuje się razem z jądrem i jest w zasadzie lepszy na dłuższa metę. Sposób pierwszy chociaż jest łatwiejszy, nie jest tak dobry, na jaki wygląda.

3.3 Które wersje NTFS obsługuje Linux ?

Sterownik NTFS dla Linuksa obsługuje wszystkie wersje NTFS. Każda wersja jest troszkę inna, ale sterownik musi tylko odczytywać pliki i katalogi. Wszystkie indeksy, za które odpowiedzialny jest NTFS pozostają bez zmian.

Kiedy sterownik zostanie przystosowany do zapisu, jego wersja bedzie mogła się różnić w zależności od wersji NTFS.

3.4 Czy sterownik NTFS pozwala także na zapis na partycji NTFS ?

N I E

Aktualnie, są 2 sterowniki. W wersji 2.4 ma możliwość zapisu, ale jest to bardzo niebezpieczne. Prawdopodobieństwo zniszczenia systemu plików jest bardzo duże.

Nowy sterownik - określany mianem 2.5.11 - nie obsługuje zapisu. Może się to wydawać "cofnięciem" jednak było to konieczne, w celu uporządkowania kodu i przyszłego rozwoju sterownika.

Dodanie opcji zapisu zajmie dużo czasu. NTFS jest zbudowany jak relacyjna baza danych. Zmiany, które wprowadzasz w jedym miejscu, wymagają wprowadzania zmian w wielu innych miejscach, dla spójności. Zrobisz bląd, system plików zostanie uszkodzony, zrobisz ich wiele i będziesz mógł skasować partycję - bo z danych nic już nie zostanie. Ponadto, obecni deweloperzy [ludzie którzy zajmują się rozwojem oprogramowania] pracują nad NTFS jako hobby, w ich wolnym czasie. Jeśli chciałbyś pomóc napisz : webmaster@flatcap.org

3.5 Co powinienem zrobić, jeśli coś pójdzie nie tak?

Sterownik jest całkiem prosty - w sensie - pozwala tylko na odczyt plików - niczego nie zapisując, a co za tym idzie - nie powinno być problemów. Jeśli jednak, prosimy o dokładne informacje o problemie na adres linux-ntfs-dev@lists.sf.net - powiedz [napisz =], której wersji sterownika używasz, której wersji i dystrybucji Linuxa [uname -a] oraz której wersji NTFS [Win NT, 2000 lub XP]. Dodatkowo jeśli są jakieś logi [/var/log/messages] możesz je dołączyć, jeśli uznasz je za ważne.Dzięki :-)

3.6 Jak dodać obslugę NTFS dla Linuksa ?

Większość użytkowników nie będzie musiała niczego kompilować, aby włączyć obsługę NTFS. Liczne dystrybucje mają ten moduł standardowo wkompilowany.

Jeśli używasz RedHata 7.3 [Valhalla] lub 8.0 [Psyche - zupełnie jak chip z anime Serial Experiments Lain ;] najprawdopodobniej nie będziasz musiał nic robić. Spojrz na stronę na temat RedHata.

Jeśli masz starszą wersję RH lub inna dystrybucję, która nie obsługuje NTFS, będziesz musiał skompilować "jajko" samemu. Nie taki diabeł straszny, jak go malują. Zobacz sekcję Kompilacja Jądra po więcej szczegółów.

3.7 Czy możecie zbudować je dla mnie?

Niestety nie. Każda dystrybucja kompiluje swoje własne jądro i stara się wprowadzić drobne zmiany. Jądro jest na te zmiany bardzo wrażliwe. Jeśli chcielibyśmy udostępniać gotowe jądra, musielibyśmy sciągać każde jajko, instalować każda dystrybucję i kompilować to wszystko. Jeśli dystrybucja nie posiada obsługi NTFS napisz bezpośrednio do nich.

3.8 Która wersja jest najlepsza ?

Nowa wersja jest lepsza. Jest lepiej napisana, szybsza, ma mniej błędów i jest bezpieczna dla maszyn wieloprocesorowych [SMultiProcessor]. Najnowsza wersja to 2.5.11

3.9 Pominięte.

3.10 Jak został napisany Sterownik NTFS dla Linuksa ?

Microsoft nie udostępnił żadnej specyfikacji na temat zasad działania NTFS, musieliśmy więc zacząc od początku i odkryć wszystko samemu. Metoda była mniej więcej taka :

   1. Spojrzeć na partycję przez edytor heksów.
   2. Wykonać jakieś operacje na plikach, np. stworzyć go.
   3. Użyć edytora heksów, aby poszukać zmian
   4. Sklasyfikować i opisać zmiany
   5. Powtarzać kroki 1-4 w nieskonczoność ;P

Jeśli to wydaje Ci się pracochłonne, mniej więcej rozumiesz jak ciężkim zadaniem to było. Teraz rozumiemy już całkiem dużo i udokumentowaliśmy to na http://linux-ntfs.sourceforge.net/ntfs/index.html. W zasadzie pisanie sterownika było dużo łatwiejsze niż znajdowanie informacji.

3.11 Komu dziękujemy.

Po pierwsze musimy podziękować Martinowi von Lowis. On stworzył pierszy oryginalny sterownik NTFS w 1995 roku. Został on dodany do jądra w grudniu 1997 [2.1.74]. Pomogły mu następujące dobre dusze:
  1. Albert Cahalan,
  2. Anton Altaparmakov,
  3. Damon Casale,
  4. David Dillard,
  5. Domagoj Pensa,
  6. Joseph Malicki,
  7. Matthew Fanto,
  8. Olof Wolgast,
  9. Rani Assaf,
  10. Régis Duchesne,
  11. Richard Russon,
  12. Steve Dodd,
  13. Werner Seiler.


Następnie chcielibyśmy podziękować Anthonemu Altaparmakov. To jego entuzjazm trzymał projekt przy życiu. W momencie kiedy projekt był nieprowadzony [przerwany] zajął się nim, ustabilizował. Przepisał wszystko od początku chcac mieć czysty, prosty kod. Pomogli mu:
  1. Pawel Kot,
  2. Richard Russon.


4. Montowanie partycji NTFS.

4.1 Czy mogę zamonotwać partycję NTFS ?

Tak oczywiście, dlaczego nie. Sterownik odczytuje wszystkie typy partycji.

4.2 Jak bezpieczny jest sterownik?

Kiedy używana jest opcja tylko do odczytu, zarówno nowy jak i stary sterownik są bezpieczne. Nie robią żadnych zmian w systemie plików, faktycznie więc nic nie może się stać. Dodatkowo nowy sterownik jest bezpieczny dla SMP.

4.3 Jakiej partycji powininenem użyć ?

W Linuksie dyski nazywane są "hda", "hdb" <- pierwsze 2 dyski na kontrolerze IDE; "hdc","hdd" <- następne 2 , dla 3 i 4 dysku. Dyski SCSI nazywane są kolejno "sda","sdb","sd[x]". Najprostszym sposobem na znalezienie partycji NTFS jest wydanie komendy :

fdisk -l

Wyjście może wyglądać tak:

Disk /dev/hda: 64 heads, 63 sectors, 4465 cylinders
Units = cylinders of 4032 * 512 bytes

Device Boot    Start       End    Blocks   Id  System
 /dev/hda1             1      2125   4283968+  07  NTFS/HPFS
 /dev/hda2          2126     19851  35735616   0f  Win95 Ext'd (LBA)
 /dev/hda5   *      2126      4209   4201312+  83  Linux
 /dev/hda6          4210      4465    516064+  82  Linux swap

4.4 Jak zamontować wolumin NTFS ?

Dobrym pomysłem byłoby najpierw sprawdzenie czy Twój kernel obsługuje ten system plików. Komenda poniżej pokaże jakie systemy plików _aktualnie_ obsługuje Twój system. Jeśli jest tam NTFS to super, oznacza to że nie musisz niczego robić. Warto także przeczytać manual do mount [man mount]

cat /proc/filesystems

Następnie tworzysz miejsce na wolumin

mkdir /mnt/ntfs
mount /dev/hda1 /mnt/ntfs -t ntfs -r

Domyślnie tylko root może czytać z takiej partycji. Dalej pokażemy jak to zmienić. Kiedy skończysz możesz odmontować partycję używając jednego z tych 2 :

umount /mnt/ntfs
umount /dev/hda1

4.5 Jak zmienić atrybuty [prawa do plików] NTFS ?


Najpotrzebniejszą opcją będzie _umask_. Zmienia ona prawa do plików i katalogów na zamontowanym systemie plików. Innymi ciekawymi opcjami są _uid_ i _gid_. Są one dokładnie wyjśnione w [Najczęstszych opcjach mount].

mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0227,uid=flatcap,gid=winuser

    ls -l /mnt/windows
    ...
    -r-xr-x--- 1 flatcap winuser  9719 Aug 24 1996 ansi.sys
    -r-xr-x--- 1 flatcap winuser 15252 Aug 24 1996 attrib.exe
    -r-xr-x--- 1 flatcap winuser 28096 Aug 24 1996 chkdsk.exe
    -r-xr-x--- 1 flatcap winuser  5175 Aug 24 1996 choice.com
    ...

4.6 Jak automatycznie zamontować wolumin NTFS ?

Używając poniższego przykładu Linux automatycznie zamontuje wolumin przy starcie. Dodaj podobną linię do /etc/fstab [FileSystem TABle]

/dev/hda1 /mnt/windows ntfs ro,umask=0227,uid=flatcap,gid=winuser 0 0

Nie przejmuj się tymi 0 0 na końcu. Zaś jeśli dodasz opcję noauto system plików nie zostanie zamontowany automatycznie i będziesz go musiał zamontować ręcznie.

4.7 Którą wersję sterownika posiadam ?

Jeśli masz wersję jądra 2.4.* lub 2.5.0-2.5.10 prawdopodobnie jest to Oryginalny Sterownik NTFS. Jeśli masz wersję nowszą będzie to Nowy Sterownik NTFS. Najlepiej zaś sprawdzić logi kernela, aby się tego dowiedzieć. [z root'a, obie metody dadzą ten sam wynik]

dmesg | grep -i ntfs
grep -i ntfs /var/log/messages

Stary [Oryginalny] Sterownik to wersja 1.1.* nowy zaś 2.*

4.8 Mount

Polecenia te są jednakowe dla obu sterowników, przedtem jednak należy przeczytać man mount. Podstawową formą mount jest

mount [opcje] urządzenie scieżka_docelowa

Dodatkowe opcje dodajemy poprzez opcję -o. Np.

mount -o uid=flatcamp -o gid=winuser -o umask=0222 /dev/hda1 /dev/ntfs mount -o uid=flatcamp,gid=winuser,umask=0222 /dev/hda1 /mnt/ntfs

-t ntfs
Mówi systemowi jaki rodzaj systemu plików montujemy. Opcja ta nie jest konieczna, ponieważ Linux samodzielnie rozpoznaje większość typowych systemów.

-r
Zamontuj wolumin w trybie tylko do odczytu. Domyślnie Linux stara się zamontować FS jako do odczytu i zapisu. Sterownik, jeśli nie zostanie zmuszony inaczej, domyślnie montuje system na tylko do odczytu.

-o ro
To samo co -r [ro - read only]

-o uid=flatcap
Bez podania nazwy użytkownika każdy plik na zamontowanym FS będzie należał do root'a. Argumentem uid może być albo numer użytkownika albo jego nazwa z pliku /etc/passwd

-o gid=winuser
Gid [group id - identyfikator grupy]. Argumentem będzie albo nazwa grupy z pliku /etc/groups albo numer grupy.

-o umask=0222
Ze względów bezpieczeństwa domyślna opcja [rwx------] nie pozwala nikomu oprócz root'a na żadne operacje na plikach. Umask jest filtrem praw dostępu i działa odwrotnie do chmod. Pełne prawa to 777 (rwxrwxrwx), umask 0222 filtruje tę wartość dając w efekcie 555 [r-xr-xr-x]. Najważniejsze są : 0000 [rwxrwxrwx], 0077 [rwx-------], 0027 [rwxr-x---], 0022 [rwxr-xr-x].

show_sys_files=true
Jeśli wartość jest prawdziwa [true] to widoczne są także pliki systemowe. Jeśli false - nie będą widocznie normalnie, co nie znaczy że wcale. Aby je zobaczyć wystarczy ls -l

Z powodu limitu glibc. "$MFT" może nie pojawić się na listingu ponieważ numer struktury inode to 0.

4.9 Opcje montowania dla Oryginalnego Sterownika

4.10 Opcje montowania dla Nowego Sterownika

5. Odpalanie Systemu Operacyjnego z NTFS.

5.1 Czy mogę wystartować Windows z partycji NTFS?

Tak, zarówno GRUB jak i LILO potrafią uruchomić Windows z partycji NTFS. W zasadzie menadżer systemów [Linux boot loader] znajduje menadżera urządzeń na partycji NTFS i przekazuje mu kontrolę.

5.2 Jak używać LILO ?

Dodaj to do LILO i przeładuj.

   other = /dev/hda1
     table = /dev/hda
     label = Windows

5.3 Jak używać GRUB'a ?

Dodaj to do /boot/grub/grub.conf

 title Windows
     root (hd0,0)
     makeactive
     chainloader +1

GRUB posiada swój specjalny sposób numerowania partycji... /dev/hda to hd0, hdb to hd1 itd. Partycje są numerowane od 0. Dlatego też., hda1 to hda0,0 a hdc4 to hd2,3.

6. Dystrybucje Linuksa.

6.1 Które dystrybucje wspierają NTFS standardowo?

Mandrake, Debian, SuSE, Gentoo, Lindows, Caldera. RH wspierał NTFS jednak wycofał się z tego, tłumacząc się nielegalnością.

6.3 Dlaczego RH zacina się podczas dostępu do NTFS?

Sprawdź wersję kernela. Jeśli będzie to 2.4.9 zmień na wyższą. Możesz także skompilować swój własny...

6.4 Czy któraś z dystrybucji instaluje sie na NTFS?

Nie bardzo. Phat Linux potrafi zainstalować się na partycji FAT wraz z Windows i odpalić się z plików wewnatrz Windows. Wraz z nowym Sterownikiem NTFS będzie możliwe zrobienie takiego tricku.

7. Nowy Sterownik NTFS dla Linuksa.

7.1 Co to jest Nowy Sterownik NTFS ?

To nowy sterownik w całości napisany od nowa. Prace zaczynaliśmy nie wiedząc dużo, teraz wraz z nabytmi doświadczeniami przyszedł czas na napisanie czegoś nowego. Tak powstał nowy sterownik, który jest o wiele szybszy, sprawniejszy itp.

7.2 Czy muszę go używać ?

Nie, w kernelu jest już sterownik więc nie musisz. Domyślny sterownik pomimo że już trochę stary, jest bardzo dobry.

7.3 Jak mam używać nowego sterownika ?


Wypuściliśmy go jako patch na źródło jądra Linuksa.

http://linux-ntfs.sourceforge.net/downloads.html
http://www.kernel.org/pub/linux/kernel/v2.4

7.4 Co to jest patch [łatka] ?

?atka to porcja zmian na jakiś plik tekstowy. Ponieważ zajmujemy się tylko NTFS nieefektywnym byłoby wypuszczanie całego kernela za każdym razem, kiedy pojawi się jakaś zmiana. Kiedy rozpakowaleś już źródło zmień scieżkę na tą, do źródła. i użyj komendy:

patch -p1 < scieżka/do/łatki

Najlepiej zamień sobie dane. To powinno nałożyć łatke, potem zbuduj kernel już normalnie.

7.5 Co jeśli nadal nie rozumiem ?

Przykro nam. Chcielibyśmy pomóc wszystkim, ale to niemożliwe. Mamy bowiem ograniczoną ilość czasu. Jest jednak kilka stron, które mogą Ci pomoc.
  1. http://www.linuxnewbie.org
  2. http://tldp.org
  3. http://tldp.org/HOWTO/Kernel-HOWTO.html
  4. http://www.linux.org/groups/index.html


Skonsultuj się też z najbliższą Grupą Użytkowników Linuksa [w naszym wypadku SLUG].

7.6 Kiedy nowy kod zostanie dołączony do kernela ?

Trudno odpowiedzieć na to pytanie. Ciągle szukamy błędów w nowym sterowniku. Niedługo będziemy mogli zgłosić go do włączenia do jądra. Będzie trzeba przekonać tylko Bogów Kernela, że jest to potrzebne.

Dopóki nie zostanie włączony, będzie dostępny w postaci łatek.

!(understand) ? return(1) : return(0);

----------------------------
Tłumaczył z angielskiego na polski Tomasz 'ana|yzer' Wójcik.
Wersja oryginalna dostępna pod adresem:
http://linux-ntfs.sourceforge.net/info/index.html.
Oficjalna strona projektu [w jez. angielskim]:
http://linux-ntfs.sourceforge.net
 
Źródło: HackingPlanet.org. Treść udostępniona na zasadach licencji Creative Commons Attribution

 

Autor: Dominium

Licencja: Creative Commons