気の向くままに辿るIT/ICT/IoT
システム開発

ブータブルメディアの作成方法

ホーム前へ次へ
ブータブルメディアの作り方

ブータブルメディアの作成方法

ブータブルメディアの作成方法

 ハードディスクドライブ(HDD/Hard Disk Drive)からだけでなく、FD/BD(Blu-ray Disk)/CD/DVDなど各種メディア(媒体)からOSブート(起動)可能にするブータブルメディアを作成したり、USBメモリ・USB接続外付けHDDをブートデバイスとしてOSを起動することも可能です。

 ブータブルメディアを作成するに当たり、必要、または、あると便利なツールは、下記の通りです。

ディスクイメージ

 フロッピーディスクイメージなら仮想FDDで、CD/DVDディスクイメージなら仮想CD/DVDドライブで使え(マウントでき)、ファイルエクスプローラー上からも利用可能、また、何れもライティングソフトや仮想マシンで利用することができ、仮想マシンは、ディスクに焼く前のテスト環境としても便利です。

MS-DOS起動ディスクの作成方法

 MS-DOSなら、まず、カラのフロッピーディスクを物理FDDに、または、フロッピーディスクイメージを仮想FDDにセットし、下記の方法でフォーマットしますが、OSのインストールCD用の起動ディスクである場合には、98/98SE/MEで作成します。

  • Windows 95/98/98SE/MEインストールマシンでフロッピーディスクを挿入したAドライブ(FDD)を右クリックして表示されるメニューから[フォーマット(M)]を選択、ポップアップメニューの[起動専用(O)]をチェックし、[スタート(S)]または[開始(S)]ボタンをクリック
  • Windows 95/98/98SE/MEインストールマシンでAドライブ(FDD)にフロッピーディスクを挿入して[スタート]>[設定(S)][コントロールパネル(C)]>[アプリケーションの追加と削除]>[起動ディスク]タブ>[起動ディスクの作成(C)]ボタンをクリック
  • Windows XP/Vistaインストールマシンでフロッピーディスクを挿入したAドライブ(FDD)を右クリック、または、[Shift]+[F10]で表示されるメニューから[フォーマット(A)]を選択、ポップアップメニューの[MS-DOSの起動ディスクを作成する(M)]オプションをチェックして[開始(S)]ボタンをクリック
  • ...etc.

 フォーマットしたらMS-DOSファイル構成サンプルを参考に必要に応じてファイルを構成して保存すれば完成です。

Windows PE/WinPEのブータブルメディア作成方法

 PEのブータブルメディアを作成する場合は、Windows AIK/WAIKからWindows PEを作成し、そこでできたディスクイメージ(.iso)を標準または、フリーソフトやシェアウェア、市販品などの書き込みソフト(ライティングソフト)でBD/CD/DVD/USBメモリなどのメディアに焼き(書き込み)ます。

 尚、WAIKそのものやWAIKで作成されたWindows PEは、CUI操作しかできませんが、GUIベースのフリーソフトウェアのBart's PE BuilderやWinBuilderで作成するPEなら、見慣れた[Windows]/[スタート]ボタン付きデスクトップ画面でGUI操作が可能です。

BSD/PC-UNIX/Linuxのブータブルメディア作成方法

 *BSD/PC-UNIX/Linuxのブータブルメディアを作成する場合は、オープンソースのディストリビューションであれば、たいてい無償でディスクイメージ(.iso)のダウンロードができます。

 それをライティングソフトでBD/CD/DVD/USBメモリなどのメディアに焼き(書き込み)ます。

 デスクトップ版のLinuxや*BSDならほとんどの場合、GUIメニューからK3bやBrasero、Xfburnなど使ってCD/DVDに焼き込むこともでき、これは、物理マシンに限らず、仮想マシンのゲストOSにおけるLinux、*BSDでも同様です。

 OSを問わず、USBメモリへ書き込むソフトウェアもあるものの、USBメモリに書き込む3通りの方法のように手作業ですが、比較的簡単に、もし、必要なら1つのUSBメモリに複数のOS/ディストリビューションを共存させたマルチブートUSBメモリを作成することもできます。

 この他、Windowsマシンで作成する場合、ブートCD/DVDとしてISOやIMGなどのイメージを焼くならImgBurn(音楽、データメディアにも対応)、ISOやIMGなどのイメージからブートUSBメモリを作成するならUnetbootinやRMPrepUSB、Universal USB Installer、マルチセッションブートCD/DVD/USBならXBoot、YUMI、SARDUといったソフトウェアがあります。

 BSD/UNIX/LinuxやCygwin環境のCLI(shellコマンドラインベース)で作成する場合、isoファイル作成は、mkisofsやその派生のgenisoimageコマンド、CDへの焼き込みは、cdrecord コマンド、DVDへの焼き込みは、cdrecord-wrapper コマンド、または、growisofs コマンド等で作成可能、ddコマンドを使えば、ディスクのコピー、ブートイメージ、MBRの抽出、書き込みなどもできます。

 ブートイメージの抽出含め、ブータブルISOなどの作成は、ImgBurnでも可能ですが、少なくとも利用した時点では、ロングネームを利用可能とするJolietには対応しているものの、大文字小文字を区別するRock Ridgeに対応していない為、ISO 9660やFATフォーマットしたメディア上では、ISO内のディレクトリ名やファイル名が大文字となってしまい、その点を考慮しておかないとファイルはあるのに大文字小文字の違いでブートローダが認識せず、ブートできないという状況になるので仮想CD/DVDドライブなどで確認して注意して対応するか、ISOの作成は、Cygwinや各種仮想化ソフトウェアで作成したBSD/UNIX/Linux環境などでRock Ridgeにも対応できるmkisofsやgenisoimageコマンドを使うとよいでしょう。

 ちなみにJolietに対応させていない場合、長い名前のディレクトリ名やファイル名があると自動的に書き換えられて適当に短縮された名称となってしまう為、期せずして認識できず、ブートできないということもあるのでディスクイメージを作成する際には、Rock Ridgeと併せてJolietも対応させておくのが賢明と言えるでしょう。

Windows OSのブータブルメディア作成方法

 Windowsの場合は、試用版のディスクイメージをダウンロード、またはディスクイメージのダウンロード販売で購入した場合、HDDからディスクイメージを作成した場合などには、ライティングソフトでBD/CD/DVD/USBメモリなどのメディアに焼く(書き込む)ことになります。

 パッケージ版を購入した場合は、一部のWindows 98SE、ME、2000、XP以降はCDブート可能なのでそのまま、ブータブルでない95/98や一部の98SEやME、なんらかの事情でCD/DVDブート出来ない場合の2000/XPなどでは、(ブータブルCDとして焼きなおすという方法もありますが、通常は、)DOS起動ディスク、または、(Windows AIKで作成した)Windows PEや(Bart's PE Builderで作成した)BartPE、(WinBuilderで作成した)VistaPEや7PEと併用します。

 尚、逆にWindows 2000/XPにおいてもなんらかの事情でブートCD/DVDによるインストールができない場合には、フロッピーディスク(2000は4枚、XPは6枚)を起動ディスクとしてインストールすることも可能です。

 Windows 2000ではフォーマット済みフロッピーを4枚用意し、コマンドプロンプトでMAKEBOOT.EXEコマンドにより作成、Windows XPでは、やはりフォーマット済みフロッピーディスクを6枚用意し、Microsoftのウェブサイトから入手したディスクイメージ用EXEファイルを実行して起動するコマンドプロンプトから作成します。

BD/CD/DVD/USBメモリ

 BD/CD/DVD/USBメモリといったメディアに単にハードディスクのフォルダやファイルをBD/CD/DVDなどのメディアにコピーしただけではブータブルメディアにはなりません。

 BD/CD/DVD/USBメモリの場合は、『ブートイメージ』を設定し、ブートに値する内容のディスクイメージを書き込むことでブータブルメディアとして利用可能となります。

 『ブートイメージ』は、ディスク(ブートHDD/ブータブルCD/DVD/USB...etc.)の先頭512バイトの領域にあり、UNIX/BSD/Linux、Cygwinなどでddコマンドを使うと抽出や書き込みをすることができます。

 尚、USBメモリにOSをインストールする場合は、方法によっては、自動で行ってくれますが、HDDの場合と同様にパーティション及びドライブを作成、フォーマットしてインストールします。(一般にUSBメモリ全体に1つのパーティションを割り当てOSを越えて汎用的に安定して読み書き可能なFAT32でフォーマットされていることが多くなっています。)

IBM PC/AT互換機/Phoenix BIOSとCDブート

 いわゆるPC/AT互換機とPhoenix製BIOSにおいては、基本的にIBM社とPhoenix社が共同開発、1995年公開したBIOS経由でCDブートする為のCD-ROM用ファイルシステムISO 9660の拡張仕様"El Torito"に基づいてCDブートを可能としており、別のBIOSベンダであってもCD-ROM(やDVD/BDなどの一部)に関しては、機能の一部としてこれを踏襲しているケースが一般的です。

 仕様概要としては、BIOSでFDD/CDD/HDD。。。といったデバイスの起動順の設定を可能とし、PC/AT互換機に搭載されるCPUが、ブート可能デバイスの内、CD-ROMの優先順が最も高い場合、そのCD-ROMのブートイメージを読み込むことで、あたかもCD-ROMから起動したように振る舞うことができるようにしようというものです。

ライティングソフト

 ImgBurnなどのディスクイメージを作成する為のライティングソフトは、たいていの場合、フロッピーやBD/CD/DVDドライブ等にセットされたブータブルメディアから『ブートイメージ』を抽出でき、ディスクイメージやディスク作成時に「ブータブルにする」といったオプションがあり、抽出した、または、別途用意したブートイメージを設定できるようになっているのが一般的です。

 前述の通り『ブートイメージ』がないとディスクやディスクイメージを起動可能にすることができず、一から作成するよりは、流用できるものはした方が、手っ取り早いのでそういった機能が標準化されていたり、『ブートイメージ』を抽出することに特化した専用のソフトウェアさえあったりします。

 尚、特にブータブルメディア用としてISOディスクイメージを作成する際には、前述の通り、(RockRigde未対応のImgBurnで焼くにしても)JolietとRock Ridgeに対応させておく必要があります。

Windowsでライティングソフトを使うならsubstコマンドが便利

【設定】
[prompt] > subst ドライブレター: フォルダパス 
【解除】
[prompt] > subst /d ドライブレター: 

 尚、もし、Windows上でライティングソフトを使って作業するなら、仮想ドライブレターを設定可能なsubstコマンド(設定はコマンドプロンプトからのみ、設定後はエクスプローラにも反映される)を利用すると便利です。

【例】
[prompt] > dir c:\far\distant\deep\very_deep\ultra_deep\heavy_deep\deep_deeper_deepest 
  ドライブ C のボリュームラベルは XX です 
  ボリュームシリアル番号は xxxx-xxxx です 
  c:\far\distant\deep\very_deep\ultra_deep\heavy_deep\deep_deeper_deepest のディレクトリ
20xx/xx/xx hh:mm <DIR> . 
20xx/xx/xx hh:mm <DIR> .. 
20xx/xx/xx hh:mm                1 sample.txt 
         1個のファイル 1 バイト 
         2個のディレクトリ xxx,xxx,xxx,xxx バイトの空き領域 
[prompt] > subst z: c:\far\distant\deep\very_deep\ultra_deep\heavy_deep\deep_deeper_deepest 
[prompt] > dir z: 
  ドライブ Z のボリュームラベルは XX です 
  ボリュームシリアル番号は xxxx-xxxx です 
  Z:\ のディレクトリ
20xx/xx/xx hh:mm <DIR> . 
20xx/xx/xx hh:mm <DIR> .. 
20xx/xx/xx hh:mm                1 sample.txt 
         1個のファイル 1 バイト 
         2個のディレクトリ xxx,xxx,xxx,xxx バイトの空き領域 
[prompt] > 

 多くの場合、Cドライブ直下など浅い階層に作業フォルダを作るのが賢明とされますが、それは、ライティングソフトで元になるファイル群を構成する際、ドライブ以外のフォルダ階層が全て作成後のディスクイメージに反映されてしまうケースがある為です。(Rock RidgeやJolietといった拡張機能もありますが、ISO 9660の標準仕様ではディレクトリの深さは、8階層までとされています。)

 そこでsubstコマンドを利用すれば、仮に深い階層でもz:までのアルファベットで他と干渉しないものなら仮想ドライブ(レター)に任意のフォルダをマウントすることができ、ライティングソフトからは、ドライブ直下に見える為、まさに階層を浅くすることができますから、別途パーティションを切ってドライブを用意しなくてもよく、何かとCドライブ直下にフォルダを作成する必要もなくなります。

 尚、substコマンドの設定は、ログイン中のみ有効なので常時有効にしたい場合、Windows 起動時に自動的に読み込まれるように対処する必要があります。

ホーム前へ次へ