Linux の起動時間が長すぎる場合のトラブルシューティング

Linux の起動時間が長すぎる場合のトラブルシューティング

ここがこのような技術サポート関連の質問をするのに適切な場所かどうかはわかりませんが、これは明らかに Linux の問題、または少なくとも Linux が私のハードウェアと対話する方法に関する問題のようです。

私はHP Z800ワークステーションで構築されたデスクトップPCを持っていますが、システムがないUEFI 対応なので、すべてのオペレーティング システムで従来の BIOS と MBR パーティション スキームが使用されます。

私は通常、Windows 10とLinuxディストリビューション(現在はLinux Mint 20.2ですが、この問題は全て私が試したディストリビューションには、Debian 11、Ubuntu 20.04-21.10、Fedora 33-35、OpenSUSE Tumbleweed、Arch Linux などがあります。

私はほとんど技術に詳しくないユーザーなので、適切な用語が何であるかはわかりませんが、問題を正しく説明するには、ブート プロセスを 3 つの段階に分ける必要があります (これらは私自身の用語であり、私が知らない既存の用語と矛盾しています)。

  • ステージ 1: 電源ボタンを押すことから始まり、ブートローダー (GRUB2) に到達するまでの部分。
  • ステージ 2: ブートローダーに到達するところから始まり、実際の OS の起動が開始されるところ、つまりコンソール/systemd メッセージや plymouth 画面などが表示されるところまでの部分です。
  • ステージ 3: ステージ 2 の終わりから始まる部分は、OS が完全に起動し、ディスプレイ マネージャーが起動したときに終了します。

問題は、ステージ 2 に非常に長い時間がかかることです。ブートローダに到達して Linux エントリを選択 (または自動選択) すると、画面が完全に空白になります (ディストリビューションによっては、ここで点滅するプロンプトが表示される場合があります。Mint では完全に空白ですが、たとえば Fedora では通常点滅するプロンプトが表示されます)。システムはここで非常に長い時間アイドル状態になります (前回は約1分44秒を計測しました)、そしてステージ3が始まります。

ステージ 3 は問題なく終了するため、これをトラブルシューティングする方法がわかりません。たとえば、systemd-analyze は を返しますがStartup finished in 16.129s (kernel) + 2.863s (userspace) = 18.993s graphical.target reached after 2.120s in userspace、これは正常なように思われ、ブートローダーと OS の起動開始の間に 1 分以上かかる空白時間を考慮していないことは確かです。

さらに詳しい情報:

  • ウィンドウズではないこのように動作します。ブートローダーで Windows 10 エントリを選択すると、ブート プロセスが即座に開始されます (高速スタートアップがオフになっている場合でも)。
  • いつもこのように動作するわけではありません。いつからこの動作が始まったのかはわかりませんが (おそらく 1 年ほど前)、PC の両方のオペレーティング システムを完全に再インストールしたと思います。つまり、すべてのハード ディスクを消去し、W10 と Linux ディストリビューションの両方を最初からインストールしたのです。しかし、この問題の根本的な原因を思い起こさせるような特別なことは何も起こりませんでした。
  • 小さな違い (前に述べた点滅するプロンプトなど) を除けば、それ以降に試した Linux ディストリビューションはすべて同じように動作します。ただし、差異を調べるために異なるディストリビューションの起動時間を計測したわけではありません。ただし、いずれの場合も、待機時間は適切であるはずの時間よりはるかに長く、ステージ 2 とステージ 3 の間では常に同じです。
  • 私の PC には、3 つのハード ディスク (SSD 2 つと回転式 HDD 1 つ) があります。通常、1 つの SSD を Windows C: に、もう 1 つの SSD を Linux / パーティションに、回転式 HDD を Linux /home および Windows D: パーティションに使用します。Linux のインストール中に、これらの各ディスクに MBR ブート コードを書き込む実験を行いましたが、すべてのケースで同じ問題が発生します。したがって、どのブート ディスクが重要ではないようです。

必ずしも魔法のような修正を期待しているわけではありませんが、前述したように、待機時間中にフィードバックが得られず、この問題を検索するのが非常に難しいため、トラブルシューティングを開始する方法さえまったくわかりません (たとえば、起動時間が遅い場合の検索では、通常、ステージ 3 の問題が想定されます)。

編集:

  • ブートパラメータから削除しquietsplash追加しましたsystemd.show_status=yes。問題は残っています。つまり、どれでもメッセージが表示されます。
  • の出力はdmesg | grep commandです[ 0.064784] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.11.0-38-generic root=UUID=78354078-8fcd-4223-8fb0-9137207cb415 ro systemd.show_status=yes
  • LED ライトについて: 「待機時間」中、電源ボタンの横にある緑色のライトが点滅することなく常に点灯していました。これは、シャーシ上で確認できる唯一の LED ライトです。
  • fdisk -lおよびの出力lsblkを以下に貼り付けます。
Disk /dev/sda: 447,13 GiB, 480103981056 bytes, 937703088 sectors
Disk model: CT480BX500SSD1  
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00a879e5

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048    104447    102400    50M  7 HPFS/NTFS/exFAT
/dev/sda2          104448 936654957 936550510 446,6G  7 HPFS/NTFS/exFAT
/dev/sda3       936656896 937697279   1040384   508M 27 Hidden NTFS WinRE


Disk /dev/sdb: 1,84 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: WDC WD20EZRX-00D
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xfc1366de

Device     Boot      Start        End    Sectors  Size Id Type
/dev/sdb1  *          2048 2833283071 2833281024  1,3T  7 HPFS/NTFS/exFAT
/dev/sdb2       2833283072 3907028991 1073745920  512G 83 Linux


Disk /dev/sdc: 223,58 GiB, 240057409536 bytes, 468862128 sectors
Disk model: KINGSTON SA400S3
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x143a208b

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sdc1       452857856 468860927  16003072  7,6G 82 Linux swap / Solaris
/dev/sdc2  *         2048 452857855 452855808  216G 83 Linux

Partition table entries are not in disk order.

そして

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 447,1G  0 disk 
├─sda1   8:1    0    50M  0 part 
├─sda2   8:2    0 446,6G  0 part 
└─sda3   8:3    0   508M  0 part 
sdb      8:16   0   1,8T  0 disk 
├─sdb1   8:17   0   1,3T  0 part 
└─sdb2   8:18   0   512G  0 part /Storage
sdc      8:32   0 223,6G  0 disk 
├─sdc1   8:33   0   7,6G  0 part [SWAP]
└─sdc2   8:34   0   216G  0 part /

関連情報