【ハードウェア】POST(Power On Self Test)処理について

こんにちは、キクです。

サーバーの電源ボタンを押した後、OSが起動するまでの間に画面を流れていく「あの処理」。

何が行われているのか、トラブルシューティングの際に見るべきポイントは何か。

今回は『POST処理』について書いていこうと思います。

それでは、よろしくお願いします。

注意事項

本記事は自己学習としてのアウトプットが目的となります。

そのため、本記事には誤った情報が含まれる可能性もありますが、ご了承ください。

1. POSTとは何か?

  • 正式名称
    • Power On Self Test(パワーオン・セルフテスト)
  • 役割
    • OSを読み込む前に、ハードウェアが正常に動作するか自分自身で診断するプロセス
  • 実行者
    • マザーボード上のBIOS、または現代の主流であるUEFI

2. なぜこれが必要か

サーバーは一般的なPCよりも大量のメモリ、複数のCPU、複雑なRAID構成などを持っている

万が一、パーツに致命的な故障がある状態でOSを立ち上げると、データの破損やシステム全体のクラッシュを招く恐れがある

そのため、「まずは健康診断」を行ってから離陸するステップが不可欠

3. POSTでチェックされている主な項目

サーバーのPOSTは、信頼性を担保するために非常に厳格なチェックを行う

  • CPU初期化とBIST (Built-In Self Test)
    • 各コアが正しく応答するか、キャッシュに異常がないかを確認。
  • メモリ(RAM)の詳細スキャン
    • ECC機能の初期化
    • 大容量メモリ(数百GB〜)を積んでいる場合、全領域をチェックするためここで数分〜数十分かかることもある
  • チップセットとバス(PCIe等)
    • マザーボード上の通信経路(PCI Expressバスなど)の導通を確認し、リソースを割り当てる
  • NVRAM(非揮発性メモリ)の確認
    • BIOS/UEFIの設定値(ブート順序や時刻設定など)を読み込む
  • ストレージ・コントローラ(RAID)の初期化
    • 物理ディスクの認識状態、仮想ドライブ(Virtual Disk)のヘルスチェックを行う

4. 異常があった時の通知と切り分け(実践編)

OSが動く前の段階で異常が起きた際、サーバーは以下の手段で「どこが悪いか」を伝えてくる

  • ビープ音(Beep Codes)
    • スピーカーからの「ピー」という音の回数や長さで通知
    • メーカー(Dell, HPE, Lenovo等)ごとに意味が異なる
  • ポストコード(Checkpoint Code)
    • マザーボード上の7セグLEDに表示される16進数(00 〜 FF
    • 止まった数字をマニュアルで引けば、どのプロセスで死んだか特定できる
  • フロントパネルLED / LCD
    • サーバー前面のインジケータがオレンジに点灯
    • 液晶パネル付きモデルなら、直接エラーメッセージ(例:CPU1 VCORE Fault)が表示される
  • 管理プロセッサ(iDRAC, iLO, IPMI)のログ
    • 電源ユニットが片方死んでいる等の情報は、OS起動前でも管理プロセッサの「System Event Log」に記録される
    • 画面が見えないときはブラウザ経由でこれを見るのが一番早い

5. 処理の流れ(詳細フロー)

※生成AIにより作成されたイメージ

電源投入からOSへのバトンタッチまでの順序

  1. 通電とリセット信号
    • 電源供給開始
    • CPUが特定のメモリアドレス(リセットベクタ)を見に行き、最初の命令を実行
  2. 初期診断(Early POST)
    • 最小構成(CPU, ROM)の動作確認
  3. メインメモリの展開
    • UEFIプログラムがメモリ上に展開され、ECC初期化と容量カウントを行う
  4. バス・デバイスの列挙(Enumeration)
    • 接続されているパーツ(NIC, GPU等)をすべてリストアップ
  5. オプションROM(Option ROM)の実行
    • RAIDカードやNICなど、接続してあるデバイス独自の制御プログラムを動かす
    • 本体診断が終わった直後に、各デバイスが「準備OK」を宣言するステップ
    • 設定画面への入り口が出るタイミング
  6. ブートデバイスの検索
    • 設定された順序(SSD → USB → Network等)に従ってブートローダーを探す
  7. OSへの制御移譲
    • 起動用プログラムを呼び出し、POST終了
    • ここからWindowsやLinuxのロゴが出る

6. POSTは誰が、どうやって始めるのか?

電源ボタンを押してから、BIOS/UEFIという「手順書」が実行されるまでの裏側を整理

  • 司令塔はBIOS/UEFI
    • マザーボード上のフラッシュROMというチップに書き込まれたプログラムが、POSTの「手順書」そのもの
    • CPUは起動した瞬間、この手順書に従って動き出す。
  • リセットベクタ(Reset Vector)
    • CPUが目覚めて最初にアクセスする「魔法の住所(メモリアドレス)」
    • CPUにはハードウェアレベルで「電源が入ったらまずここを見ろ」というルールが刻まれており、そこがBIOS/UEFIの開始地点に直結している
    • CPUはこの手順書を1行ずつ読み進め、その指示に従って手足(メモリやディスク)を点検していく
  • 「手順書」の実行プロセス
    1. ジャンプ命令:リセットベクタに到達したCPUは、そこにある命令に従ってBIOS/UEFI本体のプログラムへ飛ぶ
    2. コードの展開:読み取り速度の遅いROMから、高速なキャッシュやメモリへ手順書(プログラム)を展開しながら診断を進める
    3. チェックの連鎖:CPU自身のチェックから始まり、徐々に遠くのデバイス(メモリ → バス → 拡張カード)へと点検の範囲を広げていく

BIOSが飛ぶとは?

BIOSアップデートの失敗などでこの「手順書」が壊れると、CPUがリセットベクタを見に行っても正しい命令が見つからず、画面が真っ暗なまま何も始まらない「文鎮化」状態になる

まとめ

POSTは「サーバーの安全な離陸のための滑走」のようなもの

ここで止まる場合はほぼ100%ハードウェアの問題

特に大容量サーバーではPOST時間が長いことを念頭に置きつつ、異常時はまず管理プロセッサ(iDRAC/iLO)のログを叩くのが鉄則

専門用語辞典

BIOS / UEFI

  • ハードウェア制御の基礎プログラム
  • 今はUEFIが主流

RAIDカード

  • 複数ディスクを管理するパーツ
  • POST中に独自のチェックプロセスを持つ

iDRAC / iLO / IPMI

  • 電源オフでもブラウザ越しにサーバーをいじれる遠隔管理機能

ECC(イーシーシー)

  • メモリのデータ化けを直す機能
  • サーバー用メモリの標準装備

ブートローダー

  • ディスクからOSを呼び出す「先導役」

リセットベクタ

  • CPUが電源ON直後に最初に見に行く場所

オプションROM

  • マザーボード以外のパーツ(拡張カード)に載っているプログラム

-学習記録, ハードウェア
-,