コンピュータ において、再起動とは、実行中のコンピュータシステムを意図的または非意図的に再起動するプロセスです。再起動には、システムの電源を物理的にオフにしてから再びオンにするコールド再起動(ハード再起動とも呼ばれる)と、電源を入れたままシステムを再起動するウォーム再起動(ソフト再起動とも呼ばれる)の2種類があります。システムコマンドとしての「再起動」という用語は、オペレーティングシステムがソフト再起動を開始する前に、すべてのプログラムを閉じ、保留中のすべての入出力操作を完了する再起動を指します。
IBMの一部のシステムでは、再起動を「再IPL」と呼び、 「再起動」という用語は別の意味を持ちます。
初期の電子計算機(IBM 1401など)にはオペレーティングシステムがなく、内部メモリもほとんどありませんでした。入力はパンチカードの束、またはスイッチレジスタを介して行われることが多かったのです。カードを使用するシステムでは、スタートボタンを押して「カードを読み込む」という単一のコマンドを実行することでコンピュータが起動しました。この最初のカードは、マシンにさらにカードを読み込むように指示し、最終的にユーザープログラムがロードされました。このプロセスは、馬乗りがブーツのストラップを引っ張って地面から立ち上がる様子を表す古いことわざ「ブーツストラップで立ち上がる」に例えられました。この起動用のパンチカードのセットは「ブートストラップカード」と呼ばれました。そのため、コールドスタートはコンピュータのブートと呼ばれました。コンピュータがクラッシュした場合は、再起動されました。このブートという表現は、その後のすべてのタイプのコンピュータに引き継がれました。
IBM PC互換コンピュータの場合、コールドブートとは、コンピュータが電源オフ状態から起動し、システムが完全な電源投入時自己診断テスト(POST)を実行するブートプロセスです。[ 1 ] [ 2 ] [ 3 ] [ 4 ]オペレーティングシステムとサードパーティ製ソフトウェアの両方がコールドブートを開始できます。Windows 9xの再起動コマンドは、Shiftキーが押されていない限り、コールドブートを開始します。[ 1 ] : 509
ウォームブートは、Control-Alt-Deleteキーの組み合わせ[ 1 ] [ 2 ] [ 3 ] [ 4 ]または BIOS 割り込みINT 19hを介して直接[ 5 ] BIOSによって開始されます。完全な POST が実行されない場合(たとえば、メモリ テストをスキップする場合)、POST がまったく実行されない場合もあります。[ 1 ] [ 2 ] [ 4 ]マルウェアは、Ctrl + Alt + Delete キーの組み合わせを傍受して BIOS に到達しないようにすることで、ウォームブートを阻止または妨害する可能性があります。 [ 6 ] Windows NTファミリーのオペレーティングシステムも同様で、このキーの組み合わせを独自の用途のために予約しています。[ 7 ] [ 8 ]
Linuxベースのオペレーティングシステムは、ウォームブートの代替手段をサポートしています。Linuxカーネルは、kexecというシステムコールをオプションでサポートしており、これにより実行が新しいカーネルに引き継がれ、ハードウェアまたはファームウェアのリセットがスキップされます。このプロセス全体は、システムファームウェアとは独立して実行されます。実行されるカーネルは、Linuxカーネルである必要はありません。
IBM PC互換コンピュータの領域外では、ブートの種類はそれほど明確ではないかもしれません。Windows CEベースチームのスー・ローによると、Windows CEデバイスはウォームブート、コールドブート、クリーンブートの3種類のブートをサポートしています。[ 9 ]ウォームブートはプログラムメモリを破棄します。コールドブートはさらにストレージメモリ(「オブジェクトストア」とも呼ばれます)を破棄し、クリーンブートはデバイスからすべての形式のメモリストレージを消去します。ただし、これらの領域はすべてのWindows CEデバイスに存在するわけではないため、ユーザーは2種類の再起動のみに関心があります。1つは揮発性メモリをリセットするもので、もう1つはデバイスを完全に消去して工場出荷時の設定に戻すものです。たとえば、Windows Mobile 5.0デバイスの場合、前者はコールドブート、後者はクリーンブートです。[ 9 ]
ハードリブートとは、ファイルシステムの同期や通常のシャットダウン時に行われるその他の処理をスキップして、システムを正常な方法でシャットダウンしないことを意味します。これは、リセットを適用する、電源を再投入する、ほとんどのUnix系システムでコマンドを発行する、またはカーネルパニックを発生させることによって実現できます。halt-q
強制再起動は、コールドブート攻撃で使用されます。
「再起動」という用語は、Microsoft WindowsおよびLinux系のオペレーティングシステムにおいて、オペレーティングシステムが支援する再起動を指すために使用されます。再起動時には、オペレーティングシステムは、再起動を開始する前に、保留中のすべてのI/O操作が正常に終了していることを確認します。

ユーザーは意図的に再起動を開始する場合があります。そのような操作の理由としては、以下のようなものが考えられます。
意図的な再起動を実行する方法も様々で、以下のようなものが含まれる可能性があります。
停電、電源障害、モバイルデバイスのバッテリー切れなど、何らかの理由で予期せず電源が失われると、電源が復旧した際にシステムユーザーはコールドブートを実行する必要があります。一部のBIOSには、電源障害後にシステムを自動的に起動するオプションがあります。[ 15 ] [ 16 ]無停電電源装置(UPS)、バックアップバッテリー、冗長電源を使用すれば、このような事態を防ぐことができます。
「ランダム再起動」とは、システムクラッシュ後に発生する意図しない(そして多くの場合望ましくない)再起動を指す非技術的な用語であり、その根本原因はユーザーにはすぐには明らかにならない場合があります。このようなクラッシュは、トリプルフォールトなど、多数のソフトウェアおよびハードウェアの問題によって発生する可能性があります。これらは一般的に、オペレーティングシステムのエラーハンドラによって捕捉されないリング0のエラー、またはハードウェアによってトリガーされるマスク不可能な割り込みの兆候です。
システムは、停電、致命的なシステムエラー、またはカーネルパニックが発生した後に自動的に再起動するように構成できます。この再起動の方法は、ソフトウェアで処理できるか、ファームウェアまたはハードウェアレベルで処理する必要があるかによって異なります。Windows NTファミリーのオペレーティングシステム ( Windows NT 3.1からWindows 11まで) には、エラー ハンドラーの動作を変更して、ブルー スクリーン(BSOD)エラー メッセージを表示する代わりにコンピュータをすぐに再起動するオプションがあります。このオプションは、一部のエディションではデフォルトで有効になっています。
高度な電源管理機能の導入により、オペレーティングシステムはハードウェアの電源管理機能をより詳細に制御できるようになりました。Advanced Configuration and Power Interface (ACPI) により、最新のオペレーティングシステムはさまざまな電源状態を管理し、スリープや休止状態を実現できます。休止状態もシステムの電源をオフにしてから再びオンにする操作ですが、オペレーティングシステムは最初から起動しないため、再起動とは異なります。
再起動は、オペレーティングシステム上で動作するソフトウェアによってシミュレートされることがあります。たとえば、いたずらに使用されるSysinternals BlueScreenユーティリティや、娯楽目的(一見すると不安になるかもしれませんが)で使用されるBSOD XScreenSaver「ハック」の一部のモードなどです。マルウェアも再起動をシミュレートし、悪意のある目的でコンピュータユーザーを欺くことがあります。[ 6 ]
Microsoft App-Vシーケンスツールは、インストーラーのすべてのファイルシステム操作をキャプチャして、ユーザー向けの仮想化ソフトウェアパッケージを作成します。シーケンス処理の一環として、インストーラーが再起動を必要とする場合を検出し、トリガーされた再起動を中断し、代わりにサービスを再起動したりライブラリをロード/アンロードしたりすることで、必要な再起動をシミュレートします。[ 17 ]
Windows 8からWindows 11では、休止状態に似た「高速スタートアップ」(別名「高速ブート」)が(デフォルトで)有効になっていますが、コンピューターの電源を切って(コールド)リブートすることに慣れているユーザーにとっては、問題(混乱を含む)が発生する可能性があります。[ 18 ] [ 19 ] [ 20 ] [ 21 ]