起動メッセージが表示されるまで、起動プロセスが遅くなります。

起動メッセージが表示されるまで、起動プロセスが遅くなります。

両方のPCで最新のMINT Linux Vanessa(Ubuntu 22.04 LTS)を実行していますが、ブート時間も同じくらい長くなりました。すべてのヒントとコツに従いましたが、まだ解決策が見つかりませんでした。どちらのインストールもBIOSベースで、EFIブートローダはありません。

  • すべてのブートメッセージを表示できるように、grub設定からnosplashとQuietを削除しました。
  • 起動メニューでオプションを選択してから約1時間かかります。20秒最初の開始メッセージが画面に表示されます。これが私の問題です。この段階では何​​が起こるか。
  • 各起動フェーズにかかる時間を理解するのに役立つすべてのツールは実際には役に立ちません。 systemd-analyzeによると、起動に約18秒かかりますが、最初の20秒は含まれていないようです。
  • 20秒の遅延は、コールドスタートまたは休止状態解除には関係ありません。
  • 起動オプションにpci = noaer、nomsiを追加するなど、いくつかのヒントに従いましたが、成功しませんでした。

私の質問は:どのように起動プロセスをスピードアップできますか?現在は約45秒かかりますが(あまり目立たない)、起動中に実際に何が起こっているのか正確に理解すれば18秒しかかからないかもしれません。

以下はいくつかの情報です。

Output of systemd-analyze 
Startup finished in 9.311s (kernel) + 8.854s (userspace) = 18.166s 
graphical.target reached after 8.846s in userspace



Output of systemd-analyze blame
4.211s NetworkManager-wait-online.service
3.463s grub-initrd-fallback.service
2.312s systemd-udev-settle.service
1.103s dev-sda4.device
1.013s [email protected]
 844ms blueman-mechanism.service
 634ms influxdb.service
 570ms cups.service
 501ms networkd-dispatcher.service
 421ms systemd-resolved.service
 374ms udisks2.service
 311ms accounts-daemon.service
 294ms avahi-daemon.service
 288ms ModemManager.service
 277ms bluetooth.service
 251ms ubuntu-system-adjustments.service
 238ms NetworkManager.service
 226ms apparmor.service
 213ms alsa-restore.service
 200ms systemd-timesyncd.service
 199ms systemd-logind.service
 195ms mono-xsp4.service
 188ms zfs-load-module.service

多くの情報がありますが、以下にdmesg出力の最初の部分を追加しました。良いアイデアをいただきありがとうございます!

[    0.000000] microcode: microcode updated early to revision 0x2f, date = 2019-11-12
[    0.000000] Linux version 5.15.0-56-generic (buildd@lcy02-amd64-004) (gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC 2022 (Ubuntu 5.15.0-56.62-generic 5.15.64)
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.15.0-56-generic root=UUID=06c00ee6-9db7-4bac-8bbf-efff4eb6ef97 ro resume=UUID=a542e607-0a04-410f-b47e-47fe4c4ae9bc
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Hygon HygonGenuine
[    0.000000]   Centaur CentaurHauls
[    0.000000]   zhaoxin   Shanghai  
[    0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
[    0.000000] x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
[    0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format.
[    0.000000] signal: max sigframe size: 1776
[    0.000000] BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009c7ff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009c800-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000009cf4afff] usable
[    0.000000] BIOS-e820: [mem 0x000000009cf4b000-0x000000009d41dfff] reserved
[    0.000000] BIOS-e820: [mem 0x000000009d41e000-0x00000000a2284fff] usable
[    0.000000] BIOS-e820: [mem 0x00000000a2285000-0x00000000a2342fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000a2343000-0x00000000a2368fff] ACPI data
[    0.000000] BIOS-e820: [mem 0x00000000a2369000-0x00000000a2c98fff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x00000000a2c99000-0x00000000a2ffefff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000a2fff000-0x00000000a2ffffff] usable
[    0.000000] BIOS-e820: [mem 0x00000000a3800000-0x00000000a7ffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000f8000000-0x00000000fbffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed00000-0x00000000fed03fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000ff000000-0x00000000ffffffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x0000000456ffffff] usable
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] SMBIOS 2.8 present.
[    0.000000] DMI:  /NUC5i5RYB, BIOS RYBDWi35.86A.0385.2020.0519.1558 05/19/2020
[    0.000000] tsc: Fast TSC calibration using PIT
[    0.000000] tsc: Detected 1596.228 MHz processor
[    0.000858] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.000862] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.000872] last_pfn = 0x457000 max_arch_pfn = 0x400000000
[    0.001011] x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WP  UC- WT  
[    0.001996] total RAM covered: 16288M
[    0.002149]  gran_size: 64K  chunk_size: 64K     num_reg: 10     lose cover RAM: 16M
[    0.002153]  gran_size: 64K  chunk_size: 128K    num_reg: 10     lose cover RAM: 16M
[    0.002155]  gran_size: 64K  chunk_size: 256K    num_reg: 10     lose cover RAM: 16M
[    0.002157]  gran_size: 64K  chunk_size: 512K    num_reg: 10     lose cover RAM: 16M
[    0.002159]  gran_size: 64K  chunk_size: 1M  num_reg: 10     lose cover RAM: 16M
[    0.002161]  gran_size: 64K  chunk_size: 2M  num_reg: 10     lose cover RAM: 16M
[    0.002163]  gran_size: 64K  chunk_size: 4M  num_reg: 10     lose cover RAM: 16M
[    0.002165]  gran_size: 64K  chunk_size: 8M  num_reg: 10     lose cover RAM: 16M
[    0.002167]  gran_size: 64K  chunk_size: 16M     num_reg: 10     lose cover RAM: 16M
[    0.002169]  gran_size: 64K  chunk_size: 32M     num_reg: 10     lose cover RAM: 0G
[    0.002171]  gran_size: 64K  chunk_size: 64M     num_reg: 10     lose cover RAM: 0G

ベストアンサー1

最初のカーネルメッセージの前に20秒の遅延が発生するため、これはGRUBに関連しているか、カーネルとシステムファームウェアの初期相互作用(カーネルがメッセージを受信したとき)に関連している可能性があることを示します。e820メモリマップ、ACPIテーブル、DMI情報、ファームウェアの他のコンテンツ)。

カスタムカーネルを構築したい場合は、カーネルの起動の初期段階でより多くの洞察を提供できる「early printk」というカーネル機能があります。

一方、20秒の遅延はGRUBで問題になる可能性が高いです。 GRUB構成を印刷してからGRUBコマンドプロンプトに進み、通常のLinux起動メニュー項目のコマンドを試すことができます。これにより、特定のコマンドが異常に長い時間がかかることを確認できます。

GRUBのsearchコマンドは、コマンドが検索するように指示されるまで、ファームウェアが提供する順序に関係なく、すべてのディスクにアクセスしようとします。すべての関連searchコマンドをテストして、そのうちの1つが犯人であることを確認することをお勧めします。その後、コマンドを使用してカーネルファイルとinitramfsファイル(該当する場合)をロードできます。

GRUBのTABを完成させることもできます。と入力してキーをダブルls (hdクリックし、TABGRUBで表示できるディスクの数を確認します。それからそれらを識別してみてください。たとえば、既存のスローディスクが実際のシステムディスクより前に表示される場合は、最速のディスクが最初に表示されるようにSATAケーブルを交換する必要があります。

最悪の場合、ディスクの回転速度が遅くなることがわかります。

おすすめ記事