コンピュータの電源を入れたときに何が起きますか?
コンピュータの電源を入れると、「ブートアップ」プロセスが実行されます。これは「ブートストラップ」という言葉から来ています。これは、Windows PC、Mac、またはLinuxシステムを使用しているかどうかの背景です。.
ハードウェアがパワーオン
電源ボタンを押すと、コンピュータはそのコンポーネント(マザーボード、CPU、ハードディスク、ソリッドステートドライブ、グラフィックプロセッサ、およびその他のすべて)に電力を供給します。.
電源を供給するハードウェアは「電源」と呼ばれます。典型的なデスクトップPCの中では、ケースの角にある箱のように見え(上の写真の黄色い部分)、ACを接続します。電源コード.
CPUがUEFIまたはBIOSをロードする
それは電気を持っているので、CPUは自分自身を初期化し、通常マザーボードのチップに格納されている小さなプログラムを探します.
過去には、PCはBIOS(Basic Input / Output System)と呼ばれるものをロードしていました。最近のPCでは、CPUは代わりにUEFI(Unified Extensible Firmware Interface)ファームウェアをロードします。これは古いスタイルのBIOSに代わる近代的なものです。しかし、それをさらに混乱させるために、とにかくPCメーカーの中にはUEFIソフトウェアを「BIOS」と呼ぶ人もいます.
UEFIまたはBIOSによるハードウェアのテストと初期化
BIOSまたはUEFIファームウェアは、マザーボード上の特別な場所から構成設定をロードします - 伝統的には、これはCMOSバッテリーでバックアップされたメモリ内にありました。 BIOSまたはUEFI設定画面で低レベルの設定を変更した場合は、ここにカスタム設定が保存されます。.
CPUはUEFIまたはBIOSを実行し、CPU自体を含むシステムのハードウェアをテストして初期化します。たとえば、コンピュータにRAMがない場合、ビープ音が鳴ってエラーが表示され、起動プロセスが停止します。これはPOST(電源投入時自己診断)プロセスとして知られています。.
このプロセス中にPC製造元のロゴが画面に表示されることがあります。ここからボタンを押すと、BIOSまたはUEFIの設定画面にアクセスできます。しかし、最近のPCの多くはこのプロセスをあまりにも速く実行しているため、ロゴを表示する必要はなく、Windowsの[ブートオプション]メニューからUEFI設定画面にアクセスする必要があります。.
UEFIは単にハードウェアを初期化するだけではありません。それは本当に小さなオペレーティングシステムです。たとえば、Intel CPUにはIntel Management Engineがあります。これは、ビジネスPCのリモート管理を可能にするIntelのActive Management Technologyを強化するなど、さまざまな機能を提供します。.
UEFIまたはBIOSが起動デバイスにハンドオフする
ハードウェアのテストと初期化が完了したら、UEFIまたはBIOSがPCの起動責任をオペレーティングシステムのブートローダに引き渡します。.
UEFIまたはBIOSは、オペレーティングシステムを起動するための「起動デバイス」を探します。これは通常、コンピュータのハードディスクまたはソリッドステートドライブですが、CD、DVD、USBドライブ、またはネットワーク上の場所である可能性もあります。起動デバイスは、UEFIまたはBIOSセットアップ画面内から設定できます。複数の起動デバイスがある場合、UEFIまたはBIOSは、リストされている順序で起動プロセスをそれらに渡します。したがって、たとえば、光学式ドライブに起動可能なDVDがある場合、システムはハードドライブから起動する前に、そこから起動しようとします。.
伝統的に、BIOSはディスクの先頭にある特別なブートセクタであるMBR(マスタブートレコード)を調べました。 MBRには、「ブートローダ」と呼ばれる、オペレーティングシステムの残りの部分をロードするコードが含まれています。BIOSはブートローダを実行し、そこからブートローダを取り出して、実際のオペレーティングシステム(WindowsまたはLinuxなど)の起動を開始します。.
UEFIを搭載したコンピュータは、依然としてこの古いスタイルのMBR起動方法を使用してオペレーティングシステムを起動できますが、通常は代わりにEFI実行可能ファイルと呼ばれるものを使用します。これらはディスクの先頭に保存する必要はありません。代わりに、それらは「EFIシステムパーティション」と呼ばれるものに格納されています。
どちらの方法でも、原理は同じです。BIOSまたはUEFIは、システム上のストレージデバイスを調べて、MBR内またはEFIシステムパーティション内のいずれかで小さなプログラムを探し、それを実行します。起動可能な起動デバイスがない場合、起動プロセスは失敗し、ディスプレイにその旨のエラーメッセージが表示されます。.
最近のPCでは、UEFIファームウェアは一般に「セキュアブート」に設定されています。これにより、起動するオペレーティングシステムが改ざんされていないこと、および低レベルのマルウェアが読み込まれることがなくなります。セキュアブートが有効になっている場合、UEFIは起動する前にブートローダが正しく署名されているかどうかを確認します。.
ブートローダーは完全なOSをロードします
ブートローダは、残りのオペレーティングシステムを起動するという大きなタスクを持つ小さなプログラムです。 WindowsはWindowsブートマネージャ(Bootmgr.exe)というブートローダを使用し、ほとんどのLinuxシステムはGRUBを使用し、Macはboot.efiという名前のものを使用します。.
ブートローダに問題がある場合、例えば、そのファイルがディスク上で破損している場合、ブートローダエラーメッセージが表示され、ブートプロセスは停止します。.
ブートローダは、ほんの1つの小さなプログラムです。ブートプロセスを単独で処理することはありません。 Windowsでは、WindowsブートマネージャがWindows OSローダーを見つけて起動します。 OSローダーは、カーネル(Windowsオペレーティングシステムの中核部分)を実行するために必要な重要なハードウェアドライバをロードしてから、カーネルを起動します。次にカーネルはシステムレジストリをメモリにロードし、さらに「BOOT_START」とマークされている追加のハードウェアドライバもロードします。つまり、起動時にロードする必要があります。その後、Windowsカーネルはセッションマネージャプロセス(Smss.exe)を起動します。これにより、システムセッションが開始され、追加のドライバがロードされます。このプロセスは続行され、Windowsはバックグラウンドサービスとようこそ画面をロードします。.
Linuxでは、GRUBブートローダはLinuxカーネルをロードします。カーネルはinitシステムも起動します - これは最近のほとんどのLinuxディストリビューションでsystemdです。 initシステムは、開始プロンプトや、ログインプロンプトに至るまでのあらゆるプロセスを処理します。.
この複雑なプロセスは、正しい順序で処理を行うことによって、すべてを正しくロードするための単なる方法です。.
ちなみに、いわゆる「スタートアッププログラム」は、システムの起動時ではなく、ユーザーアカウントへのサインイン時に実際にロードされます。しかし、いくつかのバックグラウンドサービス(Windowsの場合)またはデーモン(LinuxおよびmacOSの場合)は、システムの起動時にバックグラウンドで開始されます。.
シャットダウンプロセスもかなり複雑です。 Windows PCをシャットダウンまたはサインアウトすると、まさにこれが起こります。.
イメージクレジット:Suwan Waenlor / Shutterstock.com、DR-images / Shutterstock.com,