Uruchamianie Linuksa i błąd invalid magic number
Eksperymentowałem sobie ostatnio z różnymi systemami na bazie Linuksa. Kiedy ładowałem jeden z nich (przez Ventoya), to zamiast znajomego czarno-białego ekranu z opcjami pokazał się taki błąd:
error: invalid magic number.
error: you need to load the kernel first.
W tłumaczeniu na polski: „niewłaściwa liczba magiczna. Musisz najpierw załadować jądro [systemu]”.
Tak się składa, że błąd udało się łatwo rozwiązać, bo wiązał się z wadliwym plikiem ISO, z którego ładowałem Linuksa. Wystarczyło usunąć tego Linuksa z pendrive’a i wgrać go na nowo.
W sumie na tej krótkiej notce typu „problem-rozwiązanie” mógłbym poprzestać. Ale wspomnę jeszcze o tym, w jaki sposób doszło do błędu, żeby może oszczędzić go innym osobom.
Historia z życia
Przyczyna błędu
Jak wspomniałem na początku, korzystałem z Ventoya. Polega to na tym, że mam pendrive’a, na którego mogę wrzucać pliki ISO z Linuksami – w najprostszy sposób, tak jakby były przykładowo dokumentami albo zdjęciami.
Później wpinam takiego pendrive’a do komputera, włączam menu uruchamiania i wybieram jednego z tych Linuksów. Ładuje się do pamięci, podczas gdy system, który już mam zainstalowany na kompie, odpoczywa sobie na dysku. Nieużywany. To tzw. tryb live.
Swego czasu siedziałem przy laptopie, na którym z Ventoya właśnie załadował się Linux A. Na telefonie miałem plik ISO z Linuksem B.
Chciałbym go zrzucić na pendrive’a z Ventoyem… Który właśnie tkwił w napędzie jako filar uruchomionego Linuksa A.
Żeby Ventoy pokazał się jako zwykły pendrive, musiałbym go wypiąć i wpiąć ponownie.
Wiedziałem, że ogólnie odłączanie pendrive’a w trybie live może prowadzić do błędów. To dlatego, że system czasem sobie z niego doładowuje różne rzeczy, zaś w przypadku jego odłączenia traci do nich dostęp.
Ale te błędy – co ma tu spore znaczenie – nie dotyczą wszystkiego. Zdarzało mi się już, że przykładowy notatnik (xed
) działał całkiem sprawnie nawet po odpięciu pendrive’a. Warunkiem było tylko to, żebym go uruchomił przed odłączeniem.
Świadomość, że błędy nie są nieuchronne, skłoniła mnie do ryzyka. Wyjąłem pendrive’a z Ventoyem, wpiąłem go ponownie (pokazał się jako zwykły), zgrałem na niego plik.
Trochę jak wyjęcie komuś drabiny spod nóg z nadzieją, że złapie się gałęzi. Szybkie pomajstrowanie przy niej i odstawienie z powrotem
Wszystko wydawało się działać. Plik skopiował się na Ventoya, nie wyświetliło komunikatu o błędzie.
…Ale najwidoczniej jednak nie wszystko było w porządku, a podczas kopiowania wystąpił jakiś błąd. Dlatego, gdy później próbowałem ładować z Ventoya najnowszego Linuksa B, to się nie włączał. Inne działały.
Rozwiązanie
Ostatecznie rozwiązaniem okazało się:
-
usunięcie wadliwego pliku ISO z Ventoya;
(nie działało przez menu graficzne programu Caja, bo plik po kombinacji
Shift+Delete
wracał na miejsce; dlatego ostatecznie włączyłem konsolę w folderze z plikami ISO i usunąłem ten popsuty komendąrm PLIK
); -
załadowanie Linuksa A z opcją
toram
(trafia wtedy w całości do pamięci, a pendrive’a z Ventoyem można swobodnie odłączyć; nie każdy Linux wspiera taki tryb, ale mój Mint na szczęście wspierał);
- zgranie pliku ISO z Linuksem B z telefonu;
- wrzucenie tego pliku na pendrive’a z Ventoyem.
W ten sposób dostałem nauczkę: nie wyciągać Linuksowi przysłowiowej drabiny spod nóg.
Mam nadzieję, że opowiastka pokaże innym, że czasem błędy nie wynikają z winy alternatywnych systemów, lecz z naszej własnej brawurowej żonglerki.