Jak defragmentować dysk twardy w systemie Linux

Wiele osób ma błędne przekonania na temat systemów plików oraz systemów operacyjnych. Jednym z najczęściej powtarzanych mitów jest to, że tylko dyski twarde używające systemu Windows i formatu NTFS mogą ulegać fragmentacji. To nieprawda. Fragmentacja plików jest zjawiskiem, które może wystąpić w większości systemów plików, chyba że zostały one specjalnie zaprojektowane tak, aby unikać fragmentacji, co jest zjawiskiem dość rzadkim. Użytkownicy systemów Linux również mogą napotkać potrzebę defragmentacji. Niestety, wiele popularnych źródeł internetowych wzmacnia przekonanie, że „Linux jest odporny” na ten problem. Częściowo jest to prawda – systemy plików w Linuxie fragmentują się wolniej niż NTFS, ale nie są całkowicie odporne. W niniejszym artykule przedstawimy, co zrobić, gdy komputer z systemem Linux osiągnie wysoki poziom fragmentacji oraz jak przeprowadzić defragmentację dysku twardego w tym systemie.

Tworzenie dysku na żywo z systemem Linux

W odróżnieniu od Windows, systemy plików w Linuxie nie powinny być defragmentowane podczas ich używania. Oznacza to, że jeśli planujesz zdefragmentować dysk twardy w systemie Linux, szczególnie ten, na którym zainstalowany jest system operacyjny, najlepszym rozwiązaniem jest stworzenie dysku na żywo. Możesz użyć niemal dowolnej dystrybucji Linuxa, pod warunkiem, że masz dostęp do terminala. W naszym przewodniku zalecamy użycie Arch Linux jako dysku na żywo.

Arch Linux jest szczególnie odpowiedni, ponieważ uruchamia się bezpośrednio w powłoce roota, co czyni go idealnym do prac konserwacyjnych. Aby utworzyć dysk na żywo, pobierz najnowszy obraz ISO z oficjalnej strony Arch Linux oraz pobierz narzędzie Etcher do nagrywania obrazów ISO na USB. Proces tworzenia takiego dysku jest prosty, a Etcher poprowadzi cię przez wszystkie kroki.

Przygotowanie systemu

Teoretycznie można przeprowadzić defragmentację bez wcześniejszego czyszczenia dysku, jednak nie jest to rekomendowane. Działania te mogą skończyć się niepowodzeniem, zwłaszcza jeśli na partycjach znajdują się uszkodzone bloki.

Po uruchomieniu Arch Linux, użyj polecenia lsblk. To komenda, która wyświetli listę wszystkich urządzeń blokowych (dysków i innych nośników) podłączonych do komputera. Na podstawie tej listy określ, które dyski i partycje chcesz poddać defragmentacji, i zapamiętaj ich etykiety.

Następnie w terminalu Arch Shell wpisz:

fsck /dev/sdXY -y

Uwaga: zamień X i Y na odpowiednie oznaczenia dysku twardego, jakie uzyskałeś z lsblk.

Narzędzie fsck przeskanuje każdą partycję w poszukiwaniu uszkodzonych bloków i zduplikowanych danych. Dzięki temu defragmentacja będzie mogła przebiec bez zakłóceń.

W zależności od ilości uszkodzonych danych na danej partycji, proces czyszczenia może zająć trochę czasu. Nie ma się czym martwić; proces ten jest całkowicie zautomatyzowany. Użycie przełącznika -y pozwala na automatyczne potwierdzenie wszystkich zapytań pojawiających się w trakcie działania programu.

Jak zidentyfikować fragmentację

Aby sprawdzić poziom fragmentacji, ponownie użyj polecenia fsck, tym razem z przełącznikiem -fn:

fsck -fn /dev/sdXY

Flaga -fn nakazuje narzędziu fsck przeprowadzenie szybkiej analizy systemu plików, określając, czy jest on „ciągły” (czyli niepodzielony). Im niższy wynik, tym lepiej. Zaleca się przeprowadzenie defragmentacji, gdy poziom fragmentacji wynosi co najmniej 15%.

Defragmentacja

Arch Linux ma wbudowane potężne narzędzie do defragmentacji, które nie wymaga dodatkowej instalacji. Nazywa się ono e4defrag. Jest ono lekkie, lecz bardzo skuteczne. Możesz je uruchomić na dowolnej partycji Linuksa, aby łatwo zanalizować i zdefragmentować dysk twardy. Aby to zrobić, znajdź nazwę partycji, którą chcesz zdefragmentować, używając polecenia lsblk.

mount /dev/sdXY /mnt

Następnie rozpocznij proces defragmentacji:

e4defrag /dev/sdXY

Uwaga: Choć w tym przewodniku sugerujemy, by użytkownicy nie uruchamiali e4defrag bez używania aktywnego dysku, nie jest to niemożliwe w działającym systemie. Jednak nie zalecamy tego, ponieważ nie możesz naprawić i oczyścić uszkodzonych bloków, gdy dysk jest używany przez Linuxa, co może utrudnić proces defragmentacji.

Jeśli zdecydujesz się pominąć czyszczenie dysku przed użyciem e4defrag, możesz przeprowadzić tę operację w dowolnej dystrybucji Linuksa. Większość z nich domyślnie zawiera to narzędzie.

Jeżeli z jakiegoś powodu e4defrag nie jest zainstalowane na twoim systemie Linux, łatwo je znaleźć. Wystarczy, że wyszukasz „e4defrag” w menedżerze pakietów, z którego korzystasz do instalacji programów, i zainstalujesz je stamtąd.

Podsumowanie

Fragmentacja jest nieodłącznym elementem informatyki. Z biegiem czasu systemy plików mogą gromadzić coraz więcej niepotrzebnych danych. Choć problem ten w systemie Linux występuje głównie, gdy dysk jest niemal pełny, nadal jest to kwestia, którą warto mieć na uwadze. Dlatego przekonanie, że „Linux nie wymaga defragmentacji”, jest mylące. Mamy nadzieję, że dzięki temu przewodnikowi zrozumiesz, jak ważne jest dbanie o kondycję swojego dysku twardego w systemie Linux!