BIOS時間と起動時間の違いは何ですか?

BIOS時間と起動時間の違いは何ですか?

私のシステムはハード ドライブ上で実行されており、OS の起動に 1 分以上かかります。タスク マネージャーを起動してスタートアップに移動すると、BIOS 時間は 10 秒と表示されますが、OS の起動時間と BIOS 時間が異なっていない限り、これは正しくありません。Windows は、電源オン ボタンを押してからシステムが使用可能になるまでの時間をどこかに書き込んでいるのでしょうか。これをテストするには、YouTube で、ハード ドライブ上で実行されているシステムと SSD 上で実行されているシステムを同時に起動し、ストップウォッチを開始して、ハード ドライブでは OS の起動に 1 分 30 秒以上かかりましたが、SSD では 29 秒かかったというビデオを視聴する必要がありました。

答え1

BIOS時間は10秒と書かれていますが、OSの起動時間とBIOS時間が異なっていない限り、これは正しくありません。

これらは全く異なります。BIOSはOSの起動時に終了するため、計測した「壁時計」の時間はBIOS 時間と OS 時間。


WindowsはCPUのクロックサイクルカウンタBIOS 時間を検出するには、次のようにしますRDTSC(少なくとも Linux では systemd がこれを使用します)。

  • 電源投入時に、TSC は常にゼロにリセットされます (T 1にします)。
  • OS ブート マネージャーが起動するとすぐに、現在の TSC 値 (T 2 ) が記録されます。T 2 −T 1 は
    、BIOS の初期化にかかった CPU サイクル数になります。
  • その後、OS は 1 秒あたりの CPU サイクル数 (CPU のデフォルト周波数) を測定し、サイクル数を秒数に変換して、それを「BIOS 時間」として表示します。

(Linux の「systemd-boot」ブート マネージャーも、OS に制御を渡す直前に TSC 値を記録して、ブート メニューの表示に費やされた時間を測定します。ただし、Windows ではおそらくこれが行われません。)

一部の新しい UEFI ベースのシステムには専用の ACPIFPDTテーブルがあり、ファームウェア自体が OS が取得するための「BIOS 時間」を保存しますが、これはまだ広くサポートされていません。

関連情報