ブート
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/02/17 10:25 UTC 版)
IBM PC互換機のブート手順
電源投入直後、ないしリセットにより、x86は、まずBIOSの存在する 0xFFFF0 番地のメモリにある命令を実行する(ここはx86を使用するどんなコンピュータでも同じである)。このメモリ位置は(リアルモードでの)システムメモリのほぼ最後尾にあたる。そこにはBIOSの初期プログラムの位置へのジャンプ命令が含まれていて、BIOSに制御が渡る。BIOS初期プログラムは Power On Self Test (POST) を実行して必要な機器が正常に動作するかをチェックする。また、同時にそれら周辺機器の初期化も行う。次にBIOSは事前に設定されたデバイスリストを順にあたって、ブート可能な周辺機器を探す。ブート可能デバイスとは、読み込みが可能で、第1セクタの最後尾に 0xAA55 というワード(ブートシグニチャ)があるデバイスである。
そのようなデバイスが見つからない場合、エラーが発生してブート処理は停止する。BIOSがブート可能デバイスを発見すると、そのブートセクタを 0x7C00 というアドレス(Segment:Offset形式では 0000:7C00 だが、一部のBIOSでは 07C0:0000 を使用)にロードして実行する。ハードディスクドライブの場合、ブートセクタはマスターブートレコード (MBR) と呼ばれ、その内容はオペレーティングシステムには依存しない。MBRのコードはパーティションテーブルを調べてアクティブなパーティションを探す[NB 4]。それが見つかったら、MBRのコードはパーティションのブートセクタをロードして実行する。ブートセクタはオペレーティングシステムに依存することが多いが、その機能はカーネルをロードして実行することである。カーネルはさらに初期化処理を続行する。アクティブなパーティションがなかったり、アクティブなパーティションのブートセクタが不正だった場合、MBRは第二ブートローダをロードして制御を渡す。第二ブートローダは(多くの場合ユーザーに入力してもらって)パーティションを選択して、そのブートセクタをロードする。パーティションのブートセクタは一般にオペレーティングシステムのカーネルをロードする。
一部システム(特に最近のMacintoshや Microsoft Windows)はインテルのEFIを採用している。EFI準拠のファームウェアを持つ比較的新しいシステムでは、MBR か GPT のあるドライブからブートでき、標準のMBRブートローダを使わない。また、corebootもシステムマネジメントモードを使った過剰に複雑なファームウェア/BIOSを使わずにブート可能である。古い16ビットBIOSインタフェースは一部のx86用OS(Windows 3.1/95/98など)で必要とされていただけだが、そういった古いBIOSシステムをサポートするためブートローダーは16ビットサポートを続けていることが多い[20][NB 5][21]。
BIOSとは異なり、UEFI(CSM経由のレガシー ブートではない)はブートセクタに依存せず、UEFIはブートローダー(USBフラッシュドライブまたはEFIシステムパーティション内のEFIファイル)を直接読み込み、OSカーネルはブートローダーによってロードされる。
多くのPCはBIOSチップを搭載していれば、BIOSチップメーカー名、著作権、そのチップのIDなどを起動時に表示する。同時に利用可能なメモリ容量など、そのコンピュータに関する情報も表示する。
注釈
- ^ EDSACの場合はロータリースイッチなどによるハードウェアから成る仕掛けからロードされた。
- ^ ハインラインは軍時代に無線を扱っているので、そちらからこの語を採った可能性がある。なお、邦題「時の門」は、The Time Gate と改題されて収録された作品集があり、そちらから採ったものと思われる。
- ^ 英: Nicolet Instrument Corporation
- ^ MBRに仕様にもよるが、アクティブなパーティションはプライマリパーティションである必要はない。しかし、いずれにしてもブートセクタに適切なコードがあることは必須である。
- ^ インテル版Macintoshでは、古いBIOSとの互換モードをファームウェアでサポートしている。
- ^ 一部制御ユニットには8台のデバイスしか接続しないが、16台以上を接続するものもある。実際、3830 DASD コントローラはオプションで32台のドライブをアドレッシングする。
出典
- ^ pull oneself up by one's bootstraps Wiktionary
- ^ “Phrase Finder”. phrases.org.uk. 2012年4月7日閲覧。
- ^ パラメトロン計算機: Illiacのブートストラップ
- ^ Buchholz, Werner (1953). “The System Design of the IBM Type 701 Computer”. Proceedings of the I.R.E. 41 (10): 1273.
- ^ “Bootstrap”. Dictionary.com. 2012年4月7日閲覧。
- ^ “Bootstrap”. TheFreeDictionary.com. 2012年4月7日閲覧。
- ^ Oxford English Dictionary. Oxford University
- ^ PDP-11 Peripherals Handbook, DEC, 1975, p.4-25
- ^ M792-YB bootstrap diode matrix ROMカードの写真
- ^ From Gutenberg to the Internet, Jeremy M. Norman, 2005, page 436, ISBN 0-930405-87-0
- ^ Van Vleck, Tom. “Glossary of Multics acronyms and terms”. 2010年1月18日閲覧。
- ^ Bensoussan, A. (1967-06-30). “BC.4.01 System Initialization and Bootload”. Multics System Programmer's Manual
- ^ Dunten, S. D.; T. H. Van Vleck (1968-05-03). “BV.1.01 BOS Bootload: boot”. Multics System Programmer's Manual
- ^ Thompson, Ken; Dennis Ritchie (1971-11-03). The Unix Programmer's Manual (1st edition ed.). オリジナルの2015年2月3日時点におけるアーカイブ。 2008年1月7日閲覧。
- ^ Ciaramella, Alberto. "Device for automatically loading the central memory of electronic processors." U.S. Patent No. 4,117,974. 3 Oct. 1978.
- ^ File:Apple_1_Advertisement_Oct_1976.jpg Apple Ad, Interface Age, October 1976
- ^ “Tint”. coreboot. 2010年11月20日閲覧。
- ^ “FAQ - Why do we need coreboot?”. coreboot. 2010年11月20日閲覧。
- ^ “Google tech talks - coreboot (aka LinuxBIOS): The Free/Open-Source x86 Firmware”. YouTube. 2012年4月7日閲覧。
- ^ “Intel Platform Innovation Framework for EFI”. Intel. 2008年1月7日閲覧。
- ^ “OpenBIOS”. 2012年4月7日閲覧。
- ^ a b z/Architecture Principles of Operation. IBM. pp. Chapter 17 2007年4月14日閲覧。
- ^ Brown, Eric (2008年10月2日). “MontaVista Linux drives Dell's quick-boot feature”. linuxdevices.com. 2012年9月7日時点のオリジナルよりアーカイブ。2010年11月20日閲覧。
- ^ Larabel, Michael (2008年6月14日). “SplashTop Linux On HP, Dell Notebooks?”. Phoronix. 2010年11月20日閲覧。
- ^ “Voodoo Envy's Instant-On IOS (powered by Splashtop)”. YouTube. 2010年11月20日閲覧。
- ^ “Voodoo Envy 133 Laptop vs MacBook Air”. gadgets-reviews.com (2008年7月29日). 2010年11月20日閲覧。
- ^ “Voodoopc homepage”. 2010年11月20日閲覧。
- ^ Brown, Eric (2008年10月3日). “5-second Linux boots on low-powered hardware”. 2013年1月28日時点のオリジナルよりアーカイブ。2010年11月20日閲覧。
- ^ “Latitude ON”. YouTube. 2010年11月20日閲覧。
- ^ Brown, Eric (2008年11月7日). “Linux boots in 2.97 seconds”. linuxdevices.com. 2012年9月14日時点のオリジナルよりアーカイブ。2010年11月20日閲覧。
固有名詞の分類
- ブートのページへのリンク