Langsamer Start - "Ein Startjob für dev-disk-by wird ausgeführt ..."


108

Ich kann mich nicht erinnern, wann das Problem aufgetreten ist, aber es ist wahrscheinlich, dass ich mein VMWare Ubuntu-Image auf eine externe SSD verschoben habe, damit ich das Betriebssystem auf jedem meiner PCs verwenden kann. Bei Google gibt es nicht viele Links zu diesem Thema, aber diejenigen, über die anscheinend gesprochen wird fstab. Beispiel: Langsamer Start - Was ist "Ein Startjob für dev-disk-by wird ausgeführt ..."? - OpenSUSE-Forum .

Bildschirmfoto

Erwähnt, dass die Swap-Partition gelöscht und erneut erstellt werden muss.

Ich kann versuchen, dies mit Gparted zu tun, aber mein Hauptanliegen ist es, mein aktuelles Setup in Ubuntu zu verlieren, da ich nicht ganz sicher bin, was passieren wird, wenn ich mit Swap herumspiele, wie im Thread vorgeschlagen. Kann jemand helfen?


Vielleicht möchten Sie Ihre SSD klonen und dann können Sie sich selbst ausschalten :) (Versuchen Sie CloneZilla dafür)
Grammargeek

Hah ja, ich schätze ich kann das machen. Ich warte, bis ich von den Ferien nach Hause komme, damit ich es auf etwas verschieben kann, auf dem ich mehr Platz habe
cpd1

1
Am Ende habe ich das behoben. Ich glaube nicht, dass es jemals einen Tausch gegeben hat, wenn ich an Gparted vorbeigegangen bin. Am Ende habe ich eine erstellt und den Eintrag in fstab geändert. Das hat funktioniert und keine 90 Sekunden mehr
cpd1 30.12.15

1
Wenn Sie Ihr eigenes Problem gelöst haben, machen Sie Ihre eigene Antwort und klicken Sie auf das Häkchen, um es als gelöst zu markieren :)
Grammargeek

1
Macht Sinn ... Ich habe es hinzugefügt
cpd1

Antworten:


115

Führen Sie die folgenden Schritte aus, wenn Sie "einen Startjob gestartet von dev-disk-by .." gefolgt von einer Verzögerung von 90 Sekunden bei jedem Start erhalten:

  1. Installieren Sie gparted über das Software Center
  2. Öffnen Sie gparted und sehen Sie, welche Partitionen Ubuntu aktuell verwendet
  3. Bearbeiten Sie die fstab-Datei in der folgenden Zeile.

    sudo -H gedit /etc/fstab
    
  4. Suchen Sie das Gerät, das Sie gerade nicht verwenden

  5. Fügen Sie #am Anfang dieser Zeile ein und ein Leerzeichen ein, und kommentieren Sie es aus.

  6. Zurücksetzen, hoffe, es funktioniert für Sie!


3
Schritt für Schritt Anleitungen helfen allen! Vielen Dank!
John Hall

Ich habe deine als Antwort markiert, seit du die Schritte angegeben
hast

9
+1 ... für diejenigen, die es nicht finden können /etc/fstab, können Sie es auch auschecken /etc/crypttab- das war mein Fall.
Grzegorz

7
Wenn es sich um eine geänderte Block-ID handelt, korrigiere ich lieber die Geräte-ID, anstatt sie zu kommentieren. Verwenden Sie lsblk -f, um festzustellen, welches Gerät mit welcher ID verknüpft ist, und ersetzen Sie die ID.
user1708042

3
Was für mich funktioniert hat, ist, Schritt 4 zu ändern: "Kopieren Sie die UUID, die in gparted für das Gerät gefunden wurde, das die Verzögerung beim Booten verursacht", und Schritt 5 zu: "Ersetzen Sie es, wo sich das Gerät in der fstab-Datei befindet". Wenn Sie Partitionen verschieben, ändern sich manchmal die UUIDs. Dies ist die Ursache des Problems. Sie müssen nur die neue UUID für die geänderte Partition reparieren.
m4l490n

35

Anscheinend lag das Problem daran, dass fstab zwar einen Eintrag für einen Tausch hatte, aber eigentlich keinen. Ich habe GParted verwendet, um die Größe der Partition zu ändern, und einen neuen Swap erstellt. Ich habe dann die UUID in die fstab-Datei kopiert ...

  1. Ich habe jetzt Swap
  2. Und der Bootvorgang dauert nur wenige Sekunden - 90+ Sekunden

5
Ich habe die Größe meiner Hauptpartition geändert (Swap löschen / neu erstellen) und bin auf dieses Problem gestoßen. Ich habe 'sudo blkid' verwendet, um Geräte nach UUID aufzulisten, und habe dann die neue UUID in / etc / fstab verwendet.
Brad Goss

32

Ich hatte das gleiche Problem, nachdem ich die Größe meiner primären Partition auf meiner VM geändert hatte, da gparted live mich dazu gezwungen hat, meinen Swap zu löschen und neu zu initialisieren, um dies zu tun. Dadurch wurde eine neue UUID festgelegt, die nicht mit der fstab-Datei übereinstimmt.

Um das Problem zu vermeiden, /etc/fstabkönnen Sie entweder in

  • Ersetzen Sie die Swap-UUID durch die neue (führen Sie sie aus sudo blkid, um sie zu finden), nachdem Sie die Größe der primären Partition geändert haben.

  • Oder kommentieren Sie die Auslagerungspartition vor (oder nach) der Größenänderung der primären Partition aus.

Ich würde das erstere empfehlen, da es die Art und Weise ist, wie das Betriebssystem eingerichtet werden soll.


Hat mir auch geholfen, nachdem ich meine Swap-Partition
verschoben habe

17

In meinem Fall hatte ich zuvor verschlüsselten Swap verwendet und den Startjob erwähnt /dev/mapper/cryptswap1. Um das Problem zu lösen, musste ich /etc/crypttabzusätzlich zu den in der Antwort von William MacDonald beschriebenen Schritten auch die Datei entfernen .


6

Wenn Sie mit gparted die Größe von Partitionen ändern oder Partitionen löschen, müssen Sie häufig eine neue Swap-Partition erstellen.

Es ist dann notwendig, den Swap über gparted nach dessen Erstellung zu aktivieren (es gibt den Befehl "Swap aktivieren").

Darüber hinaus müssen Sie die neue UUID in / etc / fstab kopieren, um sie zu mounten. Andernfalls versucht das Betriebssystem, sie beim Booten zu finden, aber vergebens, da die fstab-Datei die UUID enthält, die sich auf den alten Swap bezieht. Gparted liefert die Informationen für die UUID, Sie können sie jedoch problemlos im Terminal ausführen:

sudo blkid

es zu finden.


4

Ich hatte das gleiche Problem beim Booten.

In meiner /etc/fstabDatei, meine Partitionen wo definiert /dev/sda1, /dev/sda2usw., aber beim Booten erschien mehrmals die Meldung „ Ein Start Auftrag läuft für dev-SDX “ ( „x“ definiert , welche Einheit oder Partition betroffen war).

Um /dev/sdxdas Problem zu lösen, habe ich den Wert von durch die UUID der Partition geändert . Um die UUID zu sehen, starten Sie das Terminal lsblk -f. Kopieren Sie dann die UUID der betroffenen Partition und schreiben Sie sie in eine /etc/fstabDatei. Ersetzen Sie sie /dev/sdaxwie folgt: /dev/sda1ändert sich zu UUID=xxxxxxxxxxxxxxxxxx.

Es hat bei mir geklappt, ich hoffe diese Info ist hilfreich.


Ja. Genau dieses Problem löst die UUID. Das System hängt jede Partition mit dieser ID ein, unabhängig davon, auf welchem ​​Gerät sie sich befindet oder wo sich die Partition befindet. Mit dem Nachteil, dass Sie die UUID jedes Mal ändern müssen, wenn Sie die Partition zerstören / erstellen oder ein neues Laufwerk installieren. Durch Duplizieren einer Partition (gparted copy / paste) wird eine Kopie mit derselben UUID erstellt, was zu Problemen führen kann, wenn das Original und die Kopie gleichzeitig online sind. Für die meisten Menschen ist dies in Ordnung, aber Sie müssen dies berücksichtigen, wenn Sie Laufwerke klonen / ersetzen.
David C.

3

Mein Startvorgang wurde verlangsamt, weil ich mein Laufwerk ausgetauscht habe und die UUID nicht übereinstimmte. Dies führte dazu, dass Ubuntu beim Booten einen Scan durchführte.

Ich tausche häufig die Laufwerke. Wenn sich Ihre Reittiere immer an derselben Stelle befinden (wie meine), können Sie einfach die UUID entfernen und den direkten Pfad angeben, um zu verhindern, dass ein Scanfehler auftritt ...

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/sda1 /               ext4    errors=remount-ro 0       1
/dev/sda2 none            swap    sw              0       0

Wie würde dieser Vorschlag das Booten beschleunigen? Irgendeine Referenz?
Mostafa Ahangarha

Ich beantwortete seine Fehlerfrage, die den langsamen Start verursachte. Ich machte meine Antwort klarer.
Dan

1
Ja, das Mounten nach Gerätenamen vermeidet das Problem, schafft aber auch das Problem, das UUIDs (und Datenträgerbezeichnungen) lösen sollten - das Anschließen eines Laufwerks an verschiedene Stellen (z. B. von einer SATA-Schnittstelle zu einer anderen) ändert den Gerätenamen. Brich deine Reittiere. Sie müssen entscheiden, mit welchem ​​Problem Sie leichter leben können, aber denken Sie daran, dass Sie sich an Ihre Entscheidung erinnern, da es sehr frustrierend sein kann, wenn ein Problem auftritt, weil Sie es vergessen haben.
David C.

3

Hauptsituation:

Bereits im Detail beantwortet ... (Sie müssen die UUID unter diesen Dateien überprüfen)

/etc/crypttab 
/etc/fstab
/etc/grub.d/40_custom 
/boot/grub2/grub.cfg

Alternative Situation I - Udev:

Dies könnte verursacht werden durch udev , wenn Sie eine haben Regel Skript unter , /etc/udev/rules.d/dass nicht beim Booten soll laufen, wenn das Skript fehlschlagen wird , dass fstab Schritt für immer weitergehen machen, einfach bearbeiten Ihr Skript an Ihre Bedürfnisse anzupassen oder zu löschen.

Alternative Situation II - Crypted Dev:

Verschlüsselte Partitionen kann verwirrend sein , weil die Hauptpartition eine UUID haben und das zugeordnete Decrypted eine haben eine andere UUID unterscheidet sich von der Haupt eine für eine einzelne Partition haben sie in anderen Ort definiert werden etc/crypttabund/etc/fstab

# lsblk -o name,uuid,mountpoint
├─sda2                         727fa348-8804-4773-ae3d-f3e176d12dac
│ └─sda2_crypt (dm-0)          P1kvJI-5iqv-s9gJ-8V2H-2EEO-q4aK-sx4aDi

Echte UUID muss in angegeben werden etc/crypttab

# cat /etc/crypttab
sda2_crypt  UUID=727fa348-8804-4773-ae3d-f3e176d12dac  none  luks

Virtuelle UUID muss bei sein /etc/fstab

# cat /etc/fstab
UUID=P1kvJI-5iqv-s9gJ-8V2H-2EEO-q4aK-sx4aDi / ext4 defaults,errors=remount-ro 0 1

Alternative Situation III - Ghost Dev:

Ein Gerät, das so eingerichtet ist, dass es beim Start bereitgestellt wird, jedoch nicht im System vorhanden ist oder wie ein USB-Laufwerk getrennt wird.

Testen Sie echte verbundene Geräte mit lsblk -o name,uuid,mountpointund bearbeiten Sie sie /etc/fstab, um nur das verbundene Gerät zu behalten, ODER lassen Sie das nicht verbundene Gerät dort, aber richten Sie sie so ein, dass sie beim Booten mit der Option ignoriert werden, noautound stellen Sie die Zeile so ein

UUID=BLA-BLA-BLA /mount ext4 option,noauto,option 0 0

Überprüfen der Systemprotokolle

journalctl -ab 

systemd-analyze blame

systemd-analyze critical-chain

systemctl status dev-mapper-crypt_sda2.device

systemctl status systemd-udev-settle.service

1
Danke, das ist eine sehr gute Antwort und sollte akzeptiert werden. Die meisten anderen Antworten hier sind gefährlich falsch und führen, selbst wenn sie das Problem umgehen , zu anderen Problemen, die möglicherweise weniger offensichtlich sind, z. B. zum Entfernen der Verschlüsselung eines Swap-Geräts.
Waqar Lim

2

Überprüfen Sie nicht nur, /etc/fstaboder /etc/crypttabwie in den anderen Antworten erwähnt, auch, ob UUIDs von den Kernelparametern in stammen /etc/default/grub. Eine Zeit lang war ich sehr verwirrt von einem System, das /etc/fstabnur einen resume=…Kernel-Parameter in der GRUB-Konfiguration entdeckte.


1
Dies hat mir geholfen, das Problem zu lösen. Meine / etc / fstab war in Ordnung. Dann musste /etc/default/grubich zusätzlich auch noch Änderungen vornehmen /boot/efi/EFI/fedora/grub.cfg. Der Linux-Parameter "resume = UUID = ..." ist veraltet, nachdem ich die Swap-Partition manuell geändert habe.
Stphane

1

Sie können das Warten überspringen und mit ' Ctrl+ c' direkt zu Ihrem Anmeldebildschirm gehen und dann an der Lösung arbeiten. Manchmal wird das ewig so weitergehen, wenn nicht.


Ist das buchstäblich Ctrl, die Plus-Taste und c?
muru

Ja, das war's :)
Ramon Suarez

0

Ich weiß, das ist alt, aber ich bin auf dieses Problem gestoßen, die gleiche Fehlermeldung beim Klonen einer Installation mit rsync. Da fstab keine Fehler enthält, wurde das Problem nach dem manuellen Aktualisieren der initrdfs behoben. um das zu erreichen,

  1. Booten Sie die Maschine in eine funktionierende Installation (Multiboot-Maschine, sonst Live-CD)

  2. Hängen Sie die Root-Partition des Systems mit dem Problem ein

  3. mount dev, sys und proc wie bei einem funktionierenden chroot

  4. chroot in die Wurzel des Dateisystems

  5. Führen Sie mkinitrd aus

  6. chroot beenden und neu starten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.