Dell XPS 9560 の boot time が efivars 内のゴミが原因で遅くなっていた話

どう言う状態だったか

私の今のメイン PC である Dell XPS 9560 は NixOS (Linux)がインストールされていて、普段は、

  1. 電源を入れる
  2. Dell のロゴが出る
  3. Bootloader (grub2)の起動画面が出る

という流れで boot していたのですが、これがここ最近になって、

  1. 電源を入れる
  2. ……が Dell のロゴが 1分以上待たないと出ない
  3. さらに Dell のロゴから 1分以上待たないと bootloader も出てこない
  4. しかし、起動してしまえば問題もない。さらに ハードウェアエラーもない

と言う 奇妙な感じに boot time だけが悪化していました

それでその辺りを改善するために、Dell の公式ヘルプなどに掲載されていた、

  • BIOS Recovery
  • BIOS 設定の初期化
  • RTC の初期化

を行ってはみたものの、これらの作業をした結果 boot time は更に悪化してしまい、 BIOS 設定を開いたり BIOS 設定をするだけでもフリーズみたいになっていた ため、

あー、これ BIOS 周りが壊れたかなぁ……もしかして修理?

という状態になっていたのがつい先程までの話……と言うか話の前提で、 今回の話は これをなんとかして直した という話です。

上記の問題は何が原因でどう解決したか

これ、

Re: 9570 XPS 15 BIOS Time Slow

I had the same problem for a while as well and finally was pointed to ...

https://www.dell.com/community/XPS/9570-XPS-15-BIOS-Time-Slow/m-p/6222570/highlight/true#M21114

という Dell Community の記事が引っ掛って初めて判った事なんですが、私の Dell XPS 9560 の様に、

Dell の LaptopBootloader へ辿り着く以前の boot time が悪化 している

という場合、boot time が悪化している原因は、

efivars 領域にゴミデータ(謎の dump-type で始まるエントリ)が 何故か大量にある

と言うのが根本的な要因っぽいです。

で、自分の Dell XPS 9560 の場合、

  • /sys/firmware/efi/efivars/

を調べたところ、 本当に dump-type で始まるエントリが大量に存在 しており、下記の様に、

$ cd /sys/firmware/efi/efivars/
$ sudo rm dump-type0-*

して再起動したところ、無事に boot time が改善 し、問題は解決に至りました。

で、何故 efivars 領域にジャンクデータが存在するとboot time は悪化するのか

これは多分というか単なる予想ですが、efivars 領域に大量のゴミデータが存在した結果、 efivars の読み書きに時間が掛かり過ぎる様になり、それが結果として、

boot はする けど bootloader に辿り付く前の boot time が悪化している

という状態に繋がっていたのではないかなぁ、と思います。はい。

以上

とりあえず今回は boot time が改善できたんで良かったんですけど、 これで原因が分からないままだったら修理とかサポートへ連絡して対応してもらう、 とかになっていたと思います。はい。

nyarlaが大体

Scrapbox でコメントや意見を書く