DerSo schnell, dass die meisten Ausgänge zu schnell nach dem Lesen des an die Konsole gesendeten Textes (angezeigte Dienste angezeigt werden). Daher wird die Beobachtung von Stiefelproblemen/-fehlern für uns eine kleine Herausforderung.
In diesem Artikel werden wir kurz die verschiedenen Phasen eines Linux -Systemstartprozesses erläutern und dann erfahren, wie Sie Probleme festlegen und am Ende der Startprobleme steigen: In Begriffen, um die Dateien zu prüfen oder zu befehlen, um Systemstartnachrichten anzuzeigen.
Zusammenfassung des Linux -Startvorgangs
Zusammenfassend, sobald wir die drückenMacht aufKnopf, dieBIOS(Basis -Eingangsausgangssystem) Ein in ein Motherboard integriertes Programm führt aPOST(Selbstversuche) - Wo Hardware wie Datenträger, RAM (Zufallszugriffsspeicher), Tastatur usw. gescannt werden. Bei einem Fehler (fehlende/fehlerhafte Hardware) wird auf dem Bildschirm angegeben.
WährendPOST, DieBIOSSucht auch nach dem Boot -Gerät, der Festplatte, von der er stat (normalerweise die erste Festplatte, wir können es jedoch als DVD-, USB-, Netzwerkkarte usw. konfigurieren).
Dann wird das System eine Verbindung zur Festplatte herstellen und nach dem suchenMaster -Boot -Datensatz(512 Bytes in Größe), der den Bootloader (446 Bytes in Größe) und den Rest des Raumsspeichers über Festplattenpartitionen (vier Maximum) und den MBR selbst speichert.
Vorgeschlagene Lesen:
Der Bootloader identifiziert sich und zeigt sowie auf das Laden des StartladersKernelund die Initrd -Datei (Initialisierungs -RAM -Festplatte - bietet den Kernel -Zugriff auf das montierte Root -Dateisystem und Module/Treiber, die in gespeicherten Treiber gespeichert sind/libVerzeichnis), die im Allgemeinen in der gespeichert sind/StiefelVerzeichnis des Dateisystems.
Nachdem der Kernel geladen wurde, führt der erste Prozess mit init (oder systemd auf neueren Linux -Distribos) ausPID 1, was wiederum alle anderen Prozesse auf dem System startet. Es ist auch der letzte Prozess, der beim System zum System ausgeführt wird.
So finden Sie Linux -Startprobleme oder Fehlermeldungen
Wie bereits erwähnt, erfolgen die Linux -Boot -Prozesse schnell, dass wir den größten Teil der an die Konsole gesendeten Ausgabe nicht einmal eindeutig lesen können.
Wenn Sie also Startprobleme/Fehler beachten, müssen ein Systemadministrator bestimmte wichtige Dateien in Verbindung mit bestimmten Befehlen untersucht. Und dazu beinhalten:
/var/log/boot.log - protokolliert Systemstartnachrichten
Dies ist wahrscheinlich die erste Datei, in die Sie sich befassen möchten, um alles zu sehen, was sich während des Systemstarts entfaltet.
Anstatt sich so sehr zu bemühen, die Ausgabe auf dem Bildschirm während des BOOT zu befolgen, können wir diese Datei nach Abschluss des Startvorgangs anzeigen, um uns bei der Ermittlung und Lösung von Startproblemen/-fehlern zu unterstützen.
Wir benutzen dieZu diesem Zweck wie folgt (unten ist ein Beispiel dieser Datei):
# cat /var/log/boot.log
Linux -Startprotokolle anzeigen
[ OK ] Started Load/Save RF Kill Switch Status. [ TIME ] Timed out waiting for device dev-disk-by\x2duuid-53e41ce9\x2ddc18\x2d458c\x2dbc08\x2d584c208ed615.device. [DEPEND] Dependency failed for /dev/disk/by-uuid/53e41ce9-dc18-458c-bc08-584c208ed615. [DEPEND] Dependency failed for Swap. [ OK ] Reached target System Initialization. [ OK ] Listening on UUID daemon activation socket. [ OK ] Started Daily Cleanup of Temporary Directories. [ OK ] Listening on CUPS Scheduler. [ OK ] Started Daily apt activities. [ OK ] Reached target Timers. [ OK ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket. [ OK ] Started ACPI Events Check. [ OK ] Started Trigger resolvconf update for networkd DNS. [ OK ] Started CUPS Scheduler. [ OK ] Reached target Paths. [ OK ] Listening on D-Bus System Message Bus Socket. [ OK ] Listening on ACPID Listen Socket. Starting Console System Startup Logging... [ OK ] Listening on Cockpit Web Service Socket. [ OK ] Reached target Sockets. [ OK ] Reached target Basic System. Starting LSB: Set the CPU Frequency Scaling governor to "ondemand"... [ OK ] Started ACPI event daemon. [ OK ] Started mintsystem.service. Starting Detect the available GPUs and deal with any system changes... Starting LSB: daemon to balance interrupts for SMP systems... Starting Bluetooth service... [ OK ] Started ClamAV virus database updater. Starting LSB: Starts syslogd... [ OK ] Started Regular background program processing daemon. Starting Modem Manager... Starting Accounts Service... ......
Aus der obigen Ausgabe können wir feststellen, dass durch die folgenden Zeilen ein Startprobleme angezeigt werden.
[DEPEND] Dependency failed for /dev/disk/by-uuid/53e41ce9-dc18-458c-bc08-584c208ed615. [DEPEND] Dependency failed for Swap.
Ausgabe: Problem mit der Tauschpartition; Das System hat entweder die Swap -Datei/das Gerät/die Partition nicht vorhanden oder nicht vorhanden.
Überprüfen Sie, ob das System den Swap -Speicherplatz mit verwendet.
# free total used free shared buff/cache available Mem: 3742792 2421060 433696 287376 888036 967000 Swap: 0 0 0
Alternativ können wir das ausführenSwapon -BefehlUm die Zusammenfassung des Systems auszutauschen (wir erhalten keine Ausgabe).
# swapon -s
Wir können dieses Problem lösen, von.
Notiz: Der Inhalt dieser Datei wird bei Systemstillständen gelöscht: Neue Daten werden in einem neuen Start darin gespeichert.
/var/log/messages - Allgemeine Systemprotokolle
Diese Datei speichert allgemeine Systemnachrichten, einschließlich der Nachrichten, die während des Systemstarts protokolliert werden.
Um es anzusehen, tippen Sie:
# cat /var/log/messages
Systemprotokollnachrichten anzeigen
Jun 4 13:04:44 tecmint syslogd (GNU inetutils 1.9.4): restart Jun 4 13:19:55 tecmint -- MARK -- Jun 4 13:39:55 tecmint -- MARK -- Jun 4 13:59:55 tecmint -- MARK -- Jun 4 14:19:55 tecmint -- MARK -- Jun 4 14:20:17 tecmint vmunix: [ 4945.388740] i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment Jun 4 14:20:17 tecmint vmunix: [ 4945.388837] i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment Jun 4 14:20:17 tecmint vmunix: [ 4945.388903] i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment Jun 4 14:20:17 tecmint vmunix: [ 4945.388930] i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment Jun 4 14:20:17 tecmint vmunix: [ 4945.389334] i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment Jun 4 14:20:17 tecmint vmunix: [ 4945.389402] pcieport 0000:00:1c.0: BAR 15: assigned [mem 0xdfa00000-0xdfbfffff 64bit pref] .....
Da diese Datei möglicherweise relativ lang ist, können wir sie auf Seiten verwenden, die die verwendenmehr Befehl(was sogar einen Prozentsatz zeigt) so.
# more /var/log/messages
Der Inhalt von/Var/log/messusIm Gegensatz zur vorherigen Datei wird nicht das Herunterfahren gelöscht, da sie nicht nur Startnachrichten, sondern auch Nachrichten über andere Systemaktivitäten enthalten. Daher werden ältere Dateien komprimiert und für eine spätere Inspektion wie unten gezeigt auf dem System aufbewahrt.
# ls -l message* -rw-r--r-- 1 root root 1206127 Jun 10 14:20 messages -rw-r--r-- 1 root root 1419494 Jun 4 13:00 messages.1 -rw-r--r-- 1 root root 153011 May 28 09:30 messages.2.gz
DMESG - Zeigt Kernel -Nachrichten an
Derkann Operationen nach Abschluss des Startvorgangs anzeigen, z. B. die an den Kernel übergebenen Befehlszeilenoptionen. Hardwarekomponenten erkannt, Ereignisse, wenn ein neues USB -Gerät hinzugefügt wird, oder Fehler wie NIC (Network Interface Card) und die Treiber melden keine im Netzwerk erkannten Verbindungsaktivität und vieles mehr.
# dmesg
Kernel Nachrichten anzeigen
[ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Initializing cgroup subsys cpuacct [ 0.000000] Linux version 4.4.0-21-generic (buildd@lgw01-21) (gcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2) ) #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 (Ubuntu 4.4.0-21.37-generic 4.4.6) [ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.4.0-21-generic root=UUID=57b36d48-1938-43c2-bf85-e97bc9f423ea ro quiet splash [ 0.000000] KERNEL supported cpus: [ 0.000000] Intel GenuineIntel [ 0.000000] AMD AuthenticAMD [ 0.000000] Centaur CentaurHauls [ 0.000000] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256 [ 0.000000] x86/fpu: Supporting XSAVE feature 0x01: 'x87 floating point registers' [ 0.000000] x86/fpu: Supporting XSAVE feature 0x02: 'SSE registers' [ 0.000000] x86/fpu: Supporting XSAVE feature 0x04: 'AVX registers' [ 0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format. [ 0.000000] x86/fpu: Using 'eager' FPU context switches. [ 0.000000] e820: BIOS-provided physical RAM map: [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000008ffff] usable [ 0.000000] BIOS-e820: [mem 0x0000000000090000-0x00000000000bffff] reserved [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000001fffffff] usable [ 0.000000] BIOS-e820: [mem 0x0000000020000000-0x00000000201fffff] reserved [ 0.000000] BIOS-e820: [mem 0x0000000020200000-0x0000000040003fff] usable [ 0.000000] BIOS-e820: [mem 0x0000000040004000-0x0000000040004fff] reserved [ 0.000000] BIOS-e820: [mem 0x0000000040005000-0x0000000080b2ffff] usable [ 0.000000] BIOS-e820: [mem 0x0000000080b30000-0x0000000080d31fff] reserved [ 0.000000] BIOS-e820: [mem 0x0000000080d32010-0x00000000ce3eefff] usable [ 0.000000] BIOS-e820: [mem 0x00000000ce3ef000-0x00000000ce5eefff] type 20 [ 0.000000] BIOS-e820: [mem 0x00000000ce5ef000-0x00000000daeeefff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000daeef000-0x00000000daf9efff] ACPI NVS ....
Journalctl - Abfrageninhalte des Systemd Journal
Dies ist in den meisten aktuellen Linux -Distributionen nützlich. Darunter erfolgt die Systemprotokollierung über die Journalkomponente - ein zentraler Ort für alle Nachrichten, die von verschiedenen Komponenten protokolliert werden.
Diese Nachrichten enthalten Kernel- und Startnachrichten. Nachrichten aus Syslog oder verschiedenen Diensten. Wir können es verwenden, um Startnachrichten zu überprüfen und Startprobleme durch das Lesen der Ausgabe und die Identifizierung von interessierenden Zeilen zu ermitteln (Fehler, auf die rote Linien abhängig von den Einstellungen des terminalen Textfarbens hingewiesen wurden).
# journalctl
Inhalt von Systemd zeigen
Jun 13 16:35:32 tecmint mtp-probe[963]: checking bus 2, device 5: "/sys/devices/pci0000:00/0000:00:1d.0/u Jun 13 16:35:32 tecmint mtp-probe[963]: bus: 2, device: 5 was not an MTP device Jun 13 16:35:54 tecmint systemd[1]: dev-disk-by\x2duuid-53e41ce9\x2ddc18\x2d458c\x2dbc08\x2d584c208ed615. Jun 13 16:35:54 tecmint systemd[1]: Timed out waiting for device dev-disk-by\x2duuid-53e41ce9\x2ddc18\x2d Jun 13 16:35:54 tecmint systemd[1]: Dependency failed for /dev/disk/by-uuid/53e41ce9-dc18-458c-bc08-584c2 Jun 13 16:35:54 tecmint systemd[1]: Dependency failed for Swap. Jun 13 16:35:54 tecmint systemd[1]: swap.target: Job swap.target/start failed with result 'dependency'. Jun 13 16:35:54 tecmint systemd[1]: dev-disk-by\x2duuid-53e41ce9\x2ddc18\x2d458c\x2dbc08\x2d584c208ed615. Jun 13 16:35:54 tecmint systemd[1]: dev-disk-by\x2duuid-53e41ce9\x2ddc18\x2d458c\x2dbc08\x2d584c208ed615. Jun 13 16:35:54 tecmint systemd[1]: Reached target System Initialization. Jun 13 16:35:54 tecmint systemd[1]: Started ACPI Events Check. Jun 13 16:35:54 tecmint systemd[1]: Listening on CUPS Scheduler. Jun 13 16:35:54 tecmint systemd[1]: Starting Console System Startup Logging... Jun 13 16:35:54 tecmint systemd[1]: Started Daily Cleanup of Temporary Directories.
Das obige ist eine Stichprobe der Befehlsausgabe, die einen Fehler zeigt, den wir bereits durch Anzeigen identifiziert haben/var/log/boot.log: Der Swap -Partitionsfehler. Um mehr Ausgabestellen anzuzeigen, drücken Sie einfach[Eingeben]Taste.
Schauen Sie sich auch diese nützlichen Leitfäden zu Linux -Systemstart- und Serviceverwaltung in Bezug auf gemeinsame System- und Service -Manager an:
In diesem Artikel haben wir die verschiedenen Stufen im Linux -System -Boot -Prozess kurz erläutert und gelernt, wie man Startprobleme festlegt und möglicherweise behebt. Verwenden Sie das folgende Kommentarformular, um diesen Anleitung zu diesem Handbuch hinzuzufügen.