[Install & Setup] | |||||||||||||
フロッピー・ディスクからWindows OSを起動する
|
|||||||||||||
|
解説 |
すでに稼働しているシステムに何らかの変更を加えた結果、そのシステムが正常に起動しなくなることがある。特に、マルチブートで複数のバージョンのWindows OSを起動できるように構成するコンピュータの場合、新たにWindows OSをインストールしている最中にインストールが中断されると、いままで正常に起動していたシステムまで起動できなくなってしまうことがある。
これは、ハードディスクの先頭領域にあるMBR(マスタ・ブート・レコード)やNTLDRの破損などの原因で起こる現象である。
また、何らかの要因でWindows OSの起動に必要なファイルが書き換えられてしまうという事故で起動不能になることもある。
|
このような場合、修復セットアップなどによる修復作業が必要になる。だが、MBRや起動用ファイル以外のシステム本体は無事な場合は、取りあえずシステムを起動したいところだろう。急いでデータを取り出したり破損の修正を試みたりすることができるからだ。Windows NT/2000/XP/Server 2003では、起動時に必要な最小限のファイルを保存したフロッピー・ディスクから起動することにより、ハードディスク上の破損していないシステムを起動する方法があるのでご紹介しよう。ただし、本稿ではIDE接続のデバイス上にシステム・ボリュームを置いたシステムの起動を解説する。SCSI/シリアルATAなどの、コントローラのデバイス・ドライバが必要になる場合については解説しないので、以下の技術文書を参考にしてほしい。
操作方法 |
まずフロッピー・ディスクを、稼働している別のWindows OS(Windows 9x/Meではなく、NT系OS)を使ってフォーマットする。Aドライブに挿入したフロッピー・ディスクをコマンド・プロンプトでフォーマットするには、以下のように実行する。
C:\>format a: Enterキーを押す
|
次に、Windows OSのインストールCDから以下のファイルをフロッピー・ディスクのルート・フォルダにコピーする。
インストールCD上でのフォルダ/ファイル名 | フロッピーディスク上でのフォルダ/ファイル名 | 機能 |
\I386\NTDETECT.COM | \NTDETECT.COM | 起動時のハードウェア検出を行う。 |
\I386\NTLDR | \NTLDR | BOOT.INIを解釈するブート・ローダ。指定されたカーネルの読み込みを行う。 |
フロッピー・ディスクにコピーするファイル |
Windows OSのインストールCDが手元にない場合は、現在Windows NT/2000/XP/Server 2003が稼働しているコンピュータのC:\に存在する上記ファイルをコピーすればよい。ただし、古いNTDETECT.COM/NTLDRでは新しいOSを起動できないことがあるので、なるべく起動したいOSと同じか、より新しいOSからコピーする。なお、これらのファイルは隠し/システム属性となっている場合があるので、エクスプローラのオプションを設定しておかないとコピーできないことがある。オプション設定は、[ツール]−[フォルダ オプション]の[表示]タブで、[すべてのファイルとフォルダを表示する]を有効にし、[保護されたオペレーティング システム ファイルを表示しない]をオフにすればよい。
BOOT.INIファイルの作成
次に、BOOT.INIファイルというNTLDRが読み込む設定用のテキスト・ファイルを作成する必要がある。BOOT.INIを作成したくない場合は、状況は限定されるがBOOT.INIの編集を行わないで済む方法もあるので、稿末を参考にしていただきたい。ここでは、一般的に利用できるBOOT.INIを作成する方法を解説する。
BOOT.INIファイルは、通常C:\BOOT.INIとして読み取り専用の隠しファイルとして保存されている。できれば、システムが正常に稼働しているときにバックアップしておくことが望ましいが、Cドライブへのアクセスが不可能な非常時には、BOOT.INIをメモ帳などで作成してもよい。ハードウェア構成が同じコンピュータが別にあれば、そのコンピュータのBOOT.INIを参考にしてもよい。
BOOT.INIは、以下のようになっている。
|
||||||||||||
|
OSエントリでは、OSの起動に必要なファイルをARC(Advanced RISC Computing)のニモニックで指定された場所からロードする。上記の例では、「multi(0)disk(0)rdisk(0)partition(1)\WINDOWS」が位置の指定で、「multi(0)disk(0)rdisk(0)partition(1)」の部分がARCパス名による指定である。ARCパス名は以下のような規則で作られる。
例 | multi(0) | disk(0) | rdisk(0) | partition(1) |
意味 | 「multi」は、BIOS経由でアクセスすることを示す。引数はアダプタ番号だが、IDE接続の場合は「0」に固定でよい | 「disk」はSCSIではデバイス番号(ID)の指定に使われるが、IDE接続の場合は「0」に固定でよい | SCSIとIDEでは意味が異なる。IDEの場合、BIOSから見たディスクの順番を「0」から始まる数字で示す。プライマリ・チャネルのマスタに接続したハードディスクの場合、「0」となることが多い | ディスクの中でのパーティションの順番を「1」から始まる数字で示す。基本パーティションが先に列挙され、拡張領域内の論理パーティションは基本パーティションの後に列挙される |
ARCパス名の規則 |
つまり、「multi(0)disk(0)rdisk(0)partition(1)」となっていれば、IDE(BIOSで認識できるSCSIアダプタも含む)でプライマリ・チャネルのマスタに接続されたディスクの最初の基本パーティションにシステムがインストールされていることを示す。C:ドライブにOSがインストールされている一般的なケースでは、このARCパス名にしておけばよい。
ARCパス名に続くフォルダ名は、Windowsがインストールされているフォルダ名であり、デフォルトではWindows NT/2000の場合は「\WINNT」、Windows XP/Server 2003では「\WINDOWS」となる。
「=」の右側の引用符で囲まれた部分はブート・ローダでの表示名(任意)、半角スペース1つを挟んで「/」で指定されるのがオプションである。オプションの詳細については割愛するが、シリアル・ポート/パラレル・ポートに接続したデバイスがないなら、「/fastdetect」オプションのみ指定しておけばよいだろう。
このような規則を踏まえて作成したBOOT.INIを、先ほど作成して2つのファイルをコピーしたフロッピー・ディスクに保存する。あとは、作成したフロッピー・ディスクを挿入して、ターゲットのコンピュータを再起動させればよい。その際に、BIOSなどで起動デバイスをフロッピー・ディスク最優先に設定しておく必要がある。
BOOT.INIを作成しない場合
BOOT.INIの作成は面倒という人には、限定的な方法ながらBOOT.INIを作成せずに起動する方法がある。解説したようにフォーマットしたフロッピー・ディスクにNTDETECT.COMとNTLDRだけをコピーして再起動すればよいのだが、以下のような注意点がある。
- ブート・ローダが起動しないのでマルチブートで起動OSを選択できない
- NTDETECT.COMとNTLDRをコピーしたWindows OSのバージョンと違うバージョンのシステムを起動できないことがある
- デフォルトのインストール先フォルダから変更している場合には起動できない
BOOT.INIをフロッピー・ディスク上に作成しなかった場合、ARCパス名「multi(0)disk(0)rdisk(0)partition(1)」にあるシステムが起動するようだ。BOOT.INIが存在しない場合には、「Invalid BOOT.INI file」といった内容のメッセージ(バージョンにより表記は多少異なる)が表示されたあと、NTDETECT.COMとNTLDRをコピーしたWindows OSのデフォルトのインストール先フォルダからntoskrnl.exeなどを読み込もうとする。デフォルトのインストール先フォルダは、Windows NT 4.0/2000は「\WINNT」、Windows XP/Server 2003は「\WINDOWS」とバージョンにより異なっている。
そのため、BOOT.INIを作成しなかった場合、例えばWindows NT 4.0/2000のNTDETECT.COMとNTLDRではデフォルトのフォルダにインストールしたWindows XP/Server 2003のシステムを起動できない。もちろん、OSが同じでもインストール先のフォルダをデフォルトから変更している場合にも、BOOT.INIなしのフロッピー・ディスクからは起動できない。このような場合には、多少面倒でも上記の方法でBOOT.INIを作成して実行してほしい。
この記事と関連性の高い別の記事
- システムのブート情報ファイルBOOT.INIを編集する(TIPS)
- 起動時のWindowsロゴ表示を省略し、起動時間を短縮する(TIPS)
- デュアルブート・システムにおけるWindows 9x/Meの削除方法(TIPS)
- システム全体で使用するCPU数を限定させる(TIPS)
- マルチブート環境で、デフォルトで起動されるOSを変更する方法(TIPS)
このリストは、デジタルアドバンテージが開発した自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
「Windows TIPS」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|