Ubuntu 18.04: startet sehr langsam

2019-06-05 von Mario

Nach der Installation eines frischen Ubuntu 18.04 benötigt der Bootvorgang plötzlich sehr viel Zeit und ist sehr langsam. Für eine Analyse kann das Tool “systemd-analyze” eingesetzt werden. Dieser wird bei “systemd” mitgeliefert. Systemd ist ein Daemon, der das System startet und managt.

systemd-analyze plot > analyze_boot_time.svg

Der Tool “systemd-analyse” erstellt eine SVG-Grafik, in der angegeben ist, welche Systemdienste zu welcher Zeit gestartet wurden. Die SVG Datei kann mit einem Browser geöffnet werden.

Analyse

Nach kurzer Suche, weiter unten in dem Bild, ist das verantwortliche Programm für das langsame Booten identifiziert (apt-daily.service).

Der Service “apt-daily.service” ist für das Laden von Updates verantwortlich. Dies ist an sich kein Problem, doch der Service sollte erst nach dem vollständigen Bootvorgang laufen. Weiterhin wäre es wünschenswert, wenn der Service nicht gleich nach dem Login Systemressourcen verbraucht, weil Updates installiert werden…

Abhilfe

Mit dem folgenden Befehl kann die Konfiguration des Service geändert werden:

sudo systemctl edit apt-daily.timer

Die nachfolgenden Zeilen in die Datei einfügen und speichern.

# override apt-daily timer configuration
[Timer]
OnBootSec=15min
OnUnitActiveSec=1d
AccuracySec=1h
RandomizedDelaySec=30min

Durch die Konfiguration wird der Timer geändert und die Ausführung erfolgt anhand der gesetzten Parameter.

Parameter Beschreibung
OnBootSec=15min Ausführung nach 15 min. nach dem Bootvorgang
OnUnitActiveSec=1d Ausführung einmal täglich
AccuracySec=1h Startet den Prozess innerhalb einer Stunde
RandomizedDelaySec=30min Fügt eine zufällige Verzögerung von bis zu 30 Minuten hinzu

 

Quellen

https://askubuntu.com/questions/800479/ubuntu-16-04-slow-boot-apt-daily-service
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1615482

Kategorie: IT Schlagwörter: , ,

MBR (Master Boot Record)

2017-10-15 von Mario

Der Master Boot Record (MBR) ist ein Startprogramm und befindet sich im ersten Sektor eines bootfähigen Speichermediums (Festplatte, CD, USB, …). Unter Linux ist der MBR meist unter “/dev/hda” oder “/dev/sda” zu finden. Die Größe beträgt 512 Byte und unterteilt sich in die Bereiche:

Bereiche Größe
Bootloader 440 Byte
Datenträgersignatur 4 Byte
Null 2 Byte
Partitionstabelle  64 Byte
Bootsektor-Signatur  2 Byte

 

Mit dem Befehl “dd” kann der MBR in eine separate Datei extrahiert werden.

dd if=/dev/sda of=/tmp/mbr.dmp bs=512 count=1

Um die erstellte Datei anzuschauen, kann ein beliebiger Hex-Editor oder der Befehl “od” verwendet werden.

od -t x1 /tmp/mbr.dmp
0000000 eb 63 90 10 8e d0 bc 00 b0 b8 00 00 8e d8 8e c0
0000020 fb be 00 7c bf 00 06 b9 00 02 f3 a4 ea 21 06 00
0000040 00 be be 07 38 04 75 0b 83 c6 10 81 fe fe 07 75
0000060 f3 eb 16 b4 02 b0 01 bb 00 7c b2 80 8a 74 01 8b
0000100 4c 02 cd 13 ea 00 7c 00 00 eb fe 00 00 00 00 00
0000120 00 00 00 00 00 00 00 00 00 00 00 80 01 00 00 00
0000140 00 00 00 00 ff fa 90 90 f6 c2 80 74 05 f6 c2 70
0000160 74 02 b2 80 4b 79 7c 5c 00 31 c0 8e d8 8e d0 bc
0000200 00 20 fb a0 64 7c 3c ff 74 02 88 c2 52 bb 17 04
0000220 f6 07 03 74 06 be 88 7d e8 17 01 be 05 7c b4 41
0000240 bb aa 55 cd 13 5a 52 72 3d 81 fb 55 aa 75 37 83
0000260 e1 01 74 32 31 c0 89 44 04 40 88 44 ff 89 44 02
0000300 c7 04 10 00 66 8b 1e 5c 7c 66 89 5c 08 66 8b 1e
0000320 60 7c 66 89 5c 0c c7 44 06 00 70 b4 42 cd 13 72
0000340 05 bb 00 70 eb 76 b4 08 cd 13 73 0d 5a 84 d2 0f
0000360 83 d0 00 be 93 7d e9 82 00 66 0f b6 c6 e8 64 ff
0000400 40 66 89 44 04 0f b6 d1 c1 e2 02 88 e8 88 f4 40
0000420 89 44 08 0f b6 c2 c0 e8 02 66 89 04 66 a1 60 7c
0000440 66 09 c0 75 4e 66 a1 ea 7c 66 31 d2 66 f7 34 88
0000460 d1 31 d2 66 f7 74 04 3b 44 08 7d 37 fe c1 88 c5
0000500 30 c0 c1 e8 02 08 c1 88 d0 5a 88 c6 bb 00 70 8e
0000520 c3 31 0c b8 01 02 cd 13 72 1e 8c c3 60 1e b9 00
0000540 01 8e db 31 f6 bf 00 80 8e c6 fc f3 a5 1f 61 ff
0000560 26 5a 7c be 8e 7d eb 03 be 9d 7d e8 34 00 be a2
0000600 7d c3 2e 00 cd 18 eb fe 47 52 55 42 20 00 47 65
0000620 6f 6d 00 48 61 72 64 20 44 69 73 6b 00 52 65 61
0000640 64 00 20 45 72 72 6f 72 0d 0a 00 bb 01 00 b4 0e
0000660 cd 10 ac 3c 00 75 f4 c3 0c fe b9 00 00 00 80 20
0000700 21 00 83 fe ff ff 00 08 00 00 00 08 e9 02 00 fe
0000720 ff ff 05 fe ff ff fe 17 e9 02 02 a0 fe 0b 00 00
0000740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
0001000

 

Bootloader (440 Byte)

Die ersten 440 Byte gehören zum Bootloader und nach der Ausführung sucht dieser in der Partitionstabelle nach einer aktiven Partition. Je nach System kann es sein, dass der Bootloader größer als 440 Byte ist und sich somit auf dem Dateisystem einer Festplatte befindet oder das ein Bootmanager verwendet wird.

Wenn die aktive Partition gefunden wurde, wird das eigentliche Betriebssystem gestartet.

Datenträgersignatur (4 Byte)

Die Datenträgersignatur (Disk Signature oder Disk identifier) wird von Windows 2000 und XP verwendet, um Datenträger (Partitionen) eindeutig zu identifizieren, bspw. für die Zuordnung von Laufwerksbuchstaben zu einer Partition. Die Datenträgersignatur besteht aus einem zufällig generierten Wert.

Null (2 Byte)

Nach der Datenträgersignatur folgen zwei leere Bytes.

Partitionstabelle (64 Byte)

Die Partitionstabelle teilt sich in vier Sektionen zu 16 Byte auf. Die vier verfügbaren Partitionen sind in Orange, Grün, Magenta und Hellblau hervorgehoben. Die Bedeutung der einzelnen Bytes werden anhand der ersten Partition erläutert.

Byte Größe  Partition 1 Beschreibung
1 80 Gibt an, ob eine Partition gestartet werden kann.

0x80 = bootfähig

0x00 = nicht bootfähig

3 20 21 00 CHS-Eintrag des ersten Sektors
1 83 Kennzeichnung des Partitionstyps.

0x00 = leer/unbenutzt
0x01 = FAT12 ≤ 16MB (hauptsächlich Floppy Disks aber auch Speicherkarten)
0x04 = FAT16 ≤ 32 MiB
0x05 = erweiterte Partition
0x06 = FAT16 > 32 MiB
0x07 = NTFS (Windows NT/2000/XP/Vista/7/8), HPFS (OS/2) oder exFAT
0x0B = FAT32
0x0C = FAT32 mit BIOS-Extensions (LBA)
0x0E = FAT16 > 32 MiB mit BIOS-Extensions (LBA)
0x0F = erweiterte Partition mit BIOS-Extensions (LBA)
0x12 = OEM-Partition für Konfiguration, Diagnose, BIOS-Erweiterung
0x27 = Windows RE versteckte Partition
0x42 = Dynamischer Datenträger
0x82 = Linux Swap/Solaris 2.6 X86 bis Solaris 9 X86
0x83 = Linux Native
0x8E = Linux LVM
0xA5 = FreeBSD
0xA6 = OpenBSD
0xA9 = NetBSD
0xEE = Legacy MBR mit folgendem EFI-Header
0xEF = EFI-Dateisystem

mehr

3 fe ff ff CHS-Eintrag des letzten Sektors
4 00 08 00 00 Startsektor, relativ zum Anfang der Festplatte oder zur erweiterten Partition
4 00 08 e9 02 Anzahl der Sektoren in der Partition per LBA-Methode

 

Bootsektor-Signatur (2 Byte)

Die Bootsektor-Signatur wird auch “Magic Number” genannt und schließt den MBR ab. Wird die Signatur von einem BIOS gefunden, wird der MBR als gültiger Bootsektor gehandhabt. Fehlt hingegen die Signatur, wird der Bootvorgang abgebrochen.

 

Weiter führende Links

Linux – Boot Prozess

Master Boot Record

Kategorie: IT Schlagwörter: , ,