Ich habe einen Eintrag für eine externe Festplatte in meiner fstab:
UUID="680C0FE30C0FAAE0" /jgdata ntfs noatime,rw
Aber manchmal ist dieses Laufwerk beim Booten nicht angeschlossen. Damit habe ich die Hälfte des Startvorgangs hinter mir und werde aufgefordert, "Weiter zu warten, S oder M zu drücken". In diesem Stadium hat jedoch kein Tastendruck Auswirkungen (einschließlich Ctrl- Alt- Delete, nicht einmal Feststelltaste).
Ohne ein Skript zu schreiben, um die Ausgabe zu überprüfen fdisk -l
, wie kann ich dieses Laufwerk beim Booten nur einbinden, wenn es vorhanden ist? Es wäre praktisch, einen fdisk-Eintrag für dieses Laufwerk zu haben, damit ich einfach tippen kann, mount /jgdata
anstatt einen Gerätenamen zu benötigen.
quelle
Ich hatte das gleiche Problem - ich habe einen zusätzlichen Schritt getan
Wenn Sie die
nofail
Option in verwenden/etc/fstab
, sucht das System beim Booten nach Ihrer Festplatte (und Partition). Wenn das Gerät angeschlossen ist, wird das Dateisystem eingehängt. Andernfalls wird der Startvorgang normal fortgesetzt.Siehe arch wiki: https://wiki.archlinux.org/index.php/Fstab
Beispiel
Ich habe versucht, das System mit und ohne angeschlossenem Gerät zu starten, und es funktioniert einwandfrei.
Was ich nicht erreicht habe, ist das automatische Laden, wenn die Festplatte nach dem Booten eingesteckt wird (wenn sie beim Booten nicht eingesteckt wird). Ich muss
mount -a
als root alles wieder einhängen.quelle
Lässt die Option noauto den Startvorgang fortfahren?
es wird nicht automatisch gemountet, wenn es vorhanden ist, aber es wird bekannt, wenn es vorhanden ist, so dass ein einfaches mount / jgdata funktioniert ... dann würde ein gescriptetes mount / jdata keine Ausgabeprüfung benötigen, fangen Sie einfach den Fehler ab und booten Sie weiter
edit: nach einigem weiterlesen ist bootwait wahrscheinlich eine korrektere option zum übergeben ... (normalerweise für netzwerkfreigaben, die erst später im bootprozess vorhanden sein könnten, aber trotzdem einen hang verursachen könnten, idk)
Das Mount-Skript könnte folgendermaßen hinzugefügt werden: https://stackoverflow.com/questions/2062543/running-a-script-with-the-help-of-grub-and-menu-lst
quelle
arbeitete für mich.
nofail ... Melden Sie keine Fehler für dieses Gerät, wenn es nicht vorhanden ist.
x-systemd.device-timeout = 30 ... Der Startvorgang dauert 30 Sekunden länger, wenn das Gerät nicht vorhanden ist (Standard ist 90 Sekunden).
Quelle: https://wiki.archlinux.org/index.php/fstab#External_devices
quelle
nobootwait
Syntax ersetzenDie empfohlene Methode zum Mounten während des Startvorgangs besteht darin, das System über die Datei fstab anzuweisen . Wenn Sie sich Ihre Frage ansehen, sehe ich, dass Sie fast da sind. Es fehlt nur die Anweisung, mit der das Gerät auf die Verwendung von Automount-Optionen eingestellt wird, sodass Ihr System das Gerät einbinden kann, wenn es verfügbar ist.
Schreiben Sie die Zeile in Ihrer fstab einfach so um, dass sie wie folgt aussieht:
Versuchen Sie nach dem Ändern und Speichern, es von Hand zu montieren:
Es ist wichtig zu beachten, dass:
<options>
müssen in einem ganz bestimmten Format geschrieben werden, getrennt durch Kommas, jedoch ohne Leerzeichen nach jedem Komma. Sei vorsichtig damit ;-)Vielen Dank!
quelle
sudo blkid
Befehl ist ein guter Weg, um UUIDs herauszufinden.Ich habe das gleiche Problem. Ich habe fstab bearbeitet, um den Eintrag zu kommentieren, wenn ich weiß, dass das Laufwerk beim nächsten Start nicht vorhanden sein wird. Wenn das Laufwerk vorhanden ist, bearbeite ich einfach fstab, um den Kommentar zu entfernen und mount -a auszugeben. Dies ist keine perfekte Lösung. Es wäre großartig, wenn ich herausfinden könnte, wie das System das Laufwerk automatisch mounten kann, wenn es vorhanden ist, oder es automatisch überspringen kann, wenn es nicht vorhanden ist. Dasselbe Problem tritt auf, wenn Ihre NFS-Freigaben automatisch bereitgestellt werden und der Server nicht vorhanden ist.
quelle