タグ

BIOSとbootに関するrin51のブックマーク (5)

  • 第441回 QEMU/KVMでUEFIファームウェアを使う | gihyo.jp

    UEFI(Unified Extensible Firmware Interface)はOSとファームウェアの間の橋渡しを行うインターフェースの仕様です。今回はQEMU/KVMで、このUEFIをサポートしたファームウェアを使用する方法を紹介します。 UEFIとQEMU/KVMとOVMF いわゆる「PC/AT互換機」とも呼ばれるIntel系CPUを搭載したPCでは、電源投入後からハードウェアの初期化、ブートローダーの起動などを「BIOS」と呼ばれるファームウェアが担っていました[1]⁠。UEFIはこのBIOSを置き換えるための仕様で、機能の強化や起動の高速化、業界団体による標準化などが行われています。ここ数年のx86マシンであればほぼすべてUEFIファームウェアに置き換わっていますし、ARMプラットフォームでもよく使われるU-Bootが最近UEFIをサポートするようになりました。連載の読者

    第441回 QEMU/KVMでUEFIファームウェアを使う | gihyo.jp
  • JF: Linux Kernel 2.6 Documentation: ramfs-rootfs-initramfs.txt

    Linux Kernel 2.6 Documentation: /usr/src/linux/Documentation/filesystems/ramfs-rootfs-initramfs.txt filesystems/ramfs-rootfs-initramfs.txt ramfs, rootfs, initramfs の説明 [プレインテキスト版] 原著作者: Rob Landley <rob at landley dot net> 翻訳者: Akira YOSHIYAMA <yosshy at debian dot or dot jp> バージョン: 2.6.18 翻訳日時: 2007/01/28 ramfs, rootfs and initramfs October 17, 2005 2005年10月17日 Rob Landley <rob@landley.net> =====

  • Linuxがブートするまで

    普段Linuxを使っていながら、vmlinuzやinitrd.imgというファイルは何なのか、 あやふやにしか理解していなかったので、一通りLinuxマシンのブートの仕組みを 勉強してみた結果を書き留めておく。なお、BIOSとGRUB Legacyの環境を前提としている。 EFIやGRUB2を使った環境については、今後いずれ勉強していきたい。 基的にOSの起動は、単純・低機能なプログラムが、より複雑・高機能なプログラムを 読み込み起動するという処理を連鎖的に行う仕組みになっている。 Linuxでは、下記のプログラムが順に起動していく: BIOSブートローダ (GRUB)Stage 1Stage 1.5Stage 2LinuxカーネルInit以下では、それぞれのプログラムについて順に要約して述べていく。 1. BIOS現在一般的なx86/x86-64 CPUは、電源が投入されると、0xff

  • U-EFI bootで起動するNetBSD USBメモリを作ってみる

    最近のPCは従来BIOSと呼ばれていたOSを起動する仕組みに、U-EFIという新しい方式に変わりつつあります。 U-EFIになることで機能的にもできることが色々増えたりするのですが、ユーザー側から見てもっともわかりやすい変更は以下の点でしょう。 GPTに対応し2TBを越えるストレージデバイス(HDやSSD等)を認識し、そこからOSを起動できる。 従来のBIOSではmbrというディスク管理の仕組みで記録された情報で起動していましたが、これはパーティション情報として格納できる最大値が2TBであったため、これ以上大きなディスクを正しく扱えませんでした。 既に一部のノートパソコン、特にタブレットPC等はレガシーBIOS互換機能が無く従来のMBR形式では起動できないマシンが存在します(MicrosoftのSurface系がそうらしい)。 また、Intelは2020年にレガシーBIOS互換機能のサポー

  • Assembler/なぜx86ではMBRが"0x7C00"にロードされるのか?(完全版) - Glamenv-Septzen(ぐらめぬ・ぜぷつぇん)(archive)

    どの世代でも、当時のマシンに搭載されていた標準的な物理メモリを越えた場所を指している。 これは割り込みベクタの影響でアドレス0を使えない為と、最初の命令フェッチから始まる初期化プログラムをなるべくアドレスの高位に配置することで、一般的なプログラムの使えるアドレス空間を邪魔しないようにとの意図らしい。 BIOSが格納されたROMは、電子回路のレベルでこれら高位アドレスにマッピングされるよう調整されている。 IBM PC 5150 ではROM BIOSがFE000以降にロードされるようになっており、丁度 FFFF0H に、BIOSコードの先頭へJMPする機械語コードが配置されている。(後述) ※1 : 80286は24bitのアドレスバスを持つが、リアルモードでは20bitしか使われない。A20-A23はリセット後は1になっている。そのため、CSこそ"F000H"になっているが、もう4bit

  • 1