Mam wpis na zewnętrznym dysku twardym w moim fstab:
UUID="680C0FE30C0FAAE0" /jgdata ntfs noatime,rw
Ale czasami ten dysk nie jest podłączony podczas rozruchu. To pozostawia mnie w połowie rozruchu, z monitem „Kontynuuj czekanie, naciśnij S lub naciśnij M”, ale żadne naciśnięcie klawisza nie ma żadnego wpływu na tym etapie (w tym Ctrl- Alt- Deletenawet nawet Caps Lock).
Krótkie od napisania skryptu, aby sprawdzić dane wyjściowe fdisk -l
, jak mogę zamontować ten dysk w czasie rozruchu, tylko jeśli jest obecny? Przydałoby się mieć wpis fdisk dla tego napędu, więc mogę po prostu pisać mount /jgdata
zamiast nazwy urządzenia.
źródło
Miałem ten sam problem - zrobiłem jeden dodatkowy krok
Jeśli użyjesz tej
nofail
opcji/etc/fstab
, system będzie szukał dysku (i partycji) podczas uruchamiania. Jeśli urządzenie jest podłączone, system plików zostanie zamontowany. Jeśli nie, rozruch będzie kontynuowany normalnie.Zobacz arch wiki: https://wiki.archlinux.org/index.php/Fstab
Przykład
Próbowałem uruchomić system z podłączonym urządzeniem i bez niego, i działa dobrze.
To, czego nie osiągnąłem, to automatyczne zamontowanie, gdy dysk jest podłączony po uruchomieniu (gdy nie jest podłączony podczas rozruchu). Muszę użyć
mount -a
jako root, aby zamontować wszystko ponownie.źródło
czy opcja noauto pozwala kontynuować proces uruchamiania?
nie instaluje się automatycznie, jeśli jest obecny, ale staje się znany, jeśli jest obecny, więc działa proste polecenie mount / jgdata ... wtedy skryptowe polecenie mount / jdata nie wymagałoby sprawdzenia danych wyjściowych, wystarczy złapać błąd i kontynuować uruchamianie
edytuj: po dalszym czytaniu bootwait jest prawdopodobnie bardziej poprawną opcją do przekazania ... (zwykle używany do udziałów sieciowych, które mogą nie być obecne aż do późniejszego uruchomienia, ale nadal mogą powodować zawieszanie się, idk)
a skrypt montowania można dodać w ten sposób: https://stackoverflow.com/questions/2062543/running-a-script-with-the-help-of-grub-and-menu-lst
źródło
pracował dla mnie.
nofail ... Nie zgłaszaj błędów dla tego urządzenia, jeśli nie istnieje.
x-systemd.device-timeout = 30 ... Uruchomienie potrwa o 30 sekund dłużej, jeśli urządzenie nie istnieje (domyślnie 90 sekund).
Źródło: https://wiki.archlinux.org/index.php/fstab#External_devices
źródło
nobootwait
składnięZalecanym sposobem montowania podczas rozruchu jest instruowanie ich systemu za pomocą pliku fstab . Patrząc na Twoje pytanie, zauważyłem, że jesteś prawie na miejscu, brakuje tylko instrukcji, która ustawia urządzenie na korzystanie z opcji automount, umożliwiając systemowi zamontowanie urządzenia, gdy jest dostępne.
Więc po prostu przepisz linię w swoim fstab, tak jak poniżej:
Po zmianie i zapisz go, spróbuj zamontować go ręcznie:
Należy zauważyć, że:
<options>
muszą być napisane według bardzo określonego formatu, oddzielone przecinkami, ale bez spacji po każdym przecinku. Uważaj na to ;-)Dzięki!
źródło
sudo blkid
dyspozycji jest dobry sposób na znalezienie UUID.Mam ten sam problem. Edytowałem fstab, aby skomentować ten wpis, kiedy wiem, że nie będę miał napędu przy następnym uruchomieniu. Następnie, kiedy mam obecny dysk, po prostu edytuję fstab, aby usunąć komentarz i wydać polecenie mount -a. To nie jest idealne rozwiązanie. Byłoby wspaniale, gdybym wymyślił sposób, aby system automatycznie montował dysk, jeśli jest obecny, lub automatycznie pomija go, jeśli nie jest obecny. Ten sam problem występuje, jeśli masz automatycznie instalowane udziały NFS, a serwer nie jest obecny.
źródło