Linux Mint i błędy w trybie live po odłączeniu pamięci USB
W związku ze staczaniem się Windowsa ku rejonom turbokomercyjno-dziadowskim, sporo osób rozważa zmianę systemu.
Jako jeden z wielu rozczarowanych, wychodzę tej potrzebie naprzeciw. Gromadzę na blogu samouczki takie jak ten, które ułatwią chętnym przesiadkę z Windowsa na darmową alternatywę – system Linux Mint.
Istnieje wiele sposobów na zapoznanie się z Mintem, w tym całkiem niezobowiązujące – od oglądania filmików w internecie, przez interaktywne platformy jak Distrosea, po instalację w programie zwanym maszyną wirtualną (wtedy Linux jest zaledwie jednym okienkiem wśród innych).
Kolejnym krokiem – nadal niezobowiązującym, ale już dającym opcję trwałej instalacji – jest uruchomienie w trybie live. Taki odpowiednik wersji demo w grach komputerowych. Opiszę go dokładniej w innym wpisie, tutaj tylko streszczenie.
Tryb polega zwykle na tym, że wkłada się stworzonego wcześniej pendrive’a instalacyjnego do portu USB. Podczas uruchamiania komputera naciska się pewną kombinację klawiszy, wybiera opcję uruchomienia Linuksa… I już. Ładuje się, działa. Można sobie wszystko wypróbować. Przeglądać internet. Podpinać inne urządzenia i patrzeć, czy się lubią z systemem.
…Ale jeśli ma się pecha, może wystąpić błąd. Firefox nagle wyświetli komunikat, że zakładka przestała działać. Próba otwarcia niektórych programów sprawi, że pojawi się wirujące kółko, po czym zniknie. Nie będzie się dało wyłączyć systemu klikaniem w opcje, a naciśnięcie przycisku zasilania – choć zadziała – wyświetli falę błędów. Powtarzać będą się w nich słowa: SQUASHFS error
.
Tu akurat wpisy odczytane z dziennika systemu po nieudanej próbie uruchomienia programu. Po naciśnięciu przycisku zasilania byłyby podobne, ale bez czerwieni.
Takie coś może zrazić do Linuksa. Ale spokojnie – przyczyna problemu to najczęściej zwykłe odłączenie pendrive’a instalacyjnego. Poluzowanie styków.
Rozwiązanie jest proste. Co więcej: można łatwo sobie ustawić pewną opcję, która powinna całkowicie zapobiec takim błędom na czas sesji w trybie live.
O co w tym chodzi? Już wyjaśniam.
Z czego wynika problem
W trybie live, po załadowaniu systemu Linux Mint z pendrive’a, sytuacja wygląda zwykle następująco:
- twardy dysk sobie „śpi” i nic do niego nie zagląda (chyba że sami go wywołamy, np. klikając ikonę w przeglądarce plików),
- podstawowe pliki potrzebne Mintowi do działania są załadowane do pamięci RAM,
- reszta plików nadal tkwi na pendrivie.
Wspomniany w tekście błędu SQUASHFS
dotyczy właśnie punktu trzeciego, reszty plików. To skrót od SQUASH Filesystem
. Skompresowany system plików, z którego można jedynie odczytywać dane. Idealny do przechowywania „kawałków systemu” i wydawania ich na żądanie.
…Tyle że kiedy system wysyła prośbę o dane z pendrive’a, a ten jest odłączony, to siłą rzeczy nie otrzyma niczego. Chwilę poczeka (przez ten czas widzimy wirujące kółko), a potem odpuści po cichu. Jedynie do dziennika systemowego trafi informacja o błędzie. A że na pendrivie było zadziwiająco wiele rzeczy, to skutki rozłączenia będą dotkliwe.
Rozwiązanie
Wspomniana sytuacja wydaje się mieć proste, intuicyjne rozwiązanie – nie wyjmować pendrive’a instalacyjnego podczas przebywania w trybie live. Wtedy system zawsze będzie dostawał pliki, których żąda. Nie wyskoczą błędy.
…Ale łatwo mówić. Choć dla wielu osób tryb live to tylko droga do trwałej instalacji albo niezobowiązujące łażenie, niektórzy chcą na nim coś stworzyć. Przykładem ten skromny ja, testujący i zapisujący w notatkach cechy różnych Linuksów.
Byłoby super, gdyby dało się odpiąć pendrive’a instalacyjnego, a potem normalnie korzystać z programów, bez obawy że wszystko przestanie działać i cała sesja przepadnie. Na szczęście jest parę opcji.
Rozwiązanie nietrwałe – jak najszybsze włączenie programów
Według moich obserwacji wystarczyło uruchomić niektóre programy jeden raz, żeby zgrały się do pamięci i przestały wymagać komunikacji z pendrive’em.
Jeśli mam proste zadanie – np. napisać na Mincie parę skryptów w prostym „Notatniku” i zgrać je na nośnik (np. innego pendrive’a) – to wykonuję następujące rzeczy:
- otwieram edytor tekstowy,
- otwieram przeglądarkę plików,
- podłączam nośnik.
Od teraz nawet gdyby pendrive instalacyjny się wysunął, nie mam problemu z dalszym klepaniem rzeczy w notatniku i przerzucaniem ich na zewnątrz.
Ale zaznaczam, że nie jest to metoda pewna, zwłaszcza przy bardziej złożonych programach. Taki na przykład Firefox, uruchomiony przed wypięciem pendrive’a, potrafił działać z niektórymi stronami, a na kolejnej (być może wymagającej załadowania czegoś więcej) spektakularnie się zawiesić.
Rozwiązanie właściwe – opcja toram
Podczas uruchamiania Minta z pendrive’a powinno się wyświetlić okno programu Grub – czarne tło, jasne ramki. Do wyboru kilka sposobów na uruchomienie systemu.
Na tym etapie należy nacisnąć klawisz E
. Wyświetli się wtedy menu ze szczegółowymi ustawieniami.
Wypatrujemy tam linijki zaczynającej się od słowa linux
(u mnie czwarta od góry, licząc jedną pustą). Pod jej koniec znajduje się fragment:
Należy w którymś miejscu, między spacjami, dopisać tam toram
(dosł. „[ładowanie] do RAM-u”). Przykładowo tu:
Na koniec naciskamy F10
, żeby uruchomić system z ustawioną nową opcją. Uprzedzam lojalnie, że zajmie to więcej czasu niż zwykle, nawet kilka minut.
Chcąc potwierdzić zmianę, można odruchowo nacisnąć zły klawisz Enter
. Nie pytajcie, skąd wiem
Po jego naciśnięciu nie nastąpi oczekiwane uruchomienie. Zamiast tego tekst po kursorze przeskoczy o jedną linijkę w dół. Aby to naprawić, można od razu nacisnąć Backspace
, żeby tekst wrócił do odpowiedniej linijki.
Sprawdzanie, czy zadziałało
Na pierwszy rzut oka nie widać, czy załadowanie systemu do pamięci RAM faktycznie się udało i czy wypięcie pendrive’a nie przyniesie znajomego błędu.
Logika dyktuje natomiast, że kiedy zgrało się do pamięci więcej rzeczy, to będzie bardziej zapełniona niż zwykle. Stopień zapełnienia można zaś łatwo podejrzeć przez Monitor Systemu.
Żeby go uruchomić, należy kliknąć logo Minta w dolnym lewym rogu ekranu, a następnie kafelek System Monitor
– w domyślnym widoku powinien być w prawym dolnym rogu.
Następnie patrzymy na wykres kołowy zużycia pamięci. W przypadku trybu toram
system zajmuje niemal 4 GB, czyli znacznie więcej niż w zwykłym trybie (oczywiście dokładna liczba będzie się pewnie zmieniała między wersjami Minta).
Czyli raczej wszystko się załadowało. Można teraz wziąć głęboki wdech. Wydech. I wyciągnąć pendrive’a. Kliknąć sobie ikonę Firefoksa, otworzyć parę programów. Wszystko powinno działać. Pendrive’a instalacyjnego można gdzieś odłożyć, ciesząc się dodatkowym wolnym portem USB.
Inne przypadki błędu
Parę osób na oficjalnym forum pisze, że doświadczyło błędu SquashFS w innym kontekście niż ten, który tu opisuję. Błąd wyskakuje im po (teoretycznie udanym) zainstalowaniu systemu na stałe.
Nie miałem do czynienia z tym błędem, ale skoro już siedzę pod dobrymi słowami kluczowymi, to mogę tu dorzucić szybkie rozwiązanie.
Ludzie piszą, że można to rozwiązać, włączając tryb live i instalując system jeszcze raz. Wyświetli się okno wyboru: albo ponowne uruchomienie, albo dalsze korzystania z trybu live. Należy wybrać dalsze korzystanie.
Następnie należy wybrać z menu w dolnym rogu opcję wyłączenia systemu. Pendrive’a wyjąć dopiero po tym, jak wyświetli się prośba o wyjęcie nośnika (Please remove the installation medium
). Od teraz przy kolejnym uruchomieniu Linux powininien śmigać.
A jak wygląda sprawa błędów SQUASHFS
na innych Linuksach, których jest multum?
Opisana tu metoda ładowania wszystkiego do RAM-u nie jest niestety uniwersalna. Przykładowo na systemie Fedora KDE występuje ten sam problem w przypadku wypięcia pendrive’a. Tak jak na Mincie, można wejść w menu GRUB-a i dopisać tekst toram
w ustawieniach początkowych.
Ale na tym podobieństwa się kończą, bo wedle moich obserwacji nic to nie zmieniło. Obserwacje innych na forach wydają się potwierdzać brak efektów. Działa podobno inna opcja, ale nie miałem okazji jej sprawdzić.
Widzę tu niszę na kolejne samouczki, dopasowane do innych Linuksów i pozwalające szerszemu gronu cieszyć się trybem live bez obowiązkowego pendrive’a wystającego z boku. Ale to sprawa na bliżej nieokreśloną przyszłość