4.起動しなくなったPC救出のために、別パソコンで緊急起動ディスクを作製する場合

boot.ini 損傷を起因とするトラブルは非常に珍しいというわけではないようです。最も多い原因は、マルチブート関連の操作で失敗した場合だと思います。boot.ini に記載された partition の番号が1つずれただけでも不調が出ます。「ntoskrnl.exeや hal.dll が見つからない」というエラーメッセージが出た場合、多くの場合は boot.ini の記載と実際の状況との不調和が原因と考えられます。

boot.ini はテキストファイルですから、本来人間の目で見て修正するのが容易なはずです。ところがWindowsが起動せず、なおかつファイルシステムがNTFSである場合、このファイルにどうやってアプローチするのかということが問題になります。

今回紹介した緊急起動ディスクは、そのための最も優れた解決方法です。なぜならば、普段使い慣れないソフトや、視覚的に分かりにくいコンソールを使うのではなく、いつも使っているWindowsで今後の修復操作ができるからです。boot.ini の損傷だけではなく、ntldr や ntdetect.com などの損傷、MBRのブートストラップローダやブートセクタのNT-IPLの損傷にも対応できます。

しかし、緊急起動ディスクをあらかじめトラブル前に準備しておくような人は稀でしょう。そこで、あるパソコンが起動しなくなった場合に、別の健全なパソコンで緊急起動ディスクを作り、そのディスクを使って壊れたパソコンを救出できれば何よりなわけです。

別パソコンで緊急起動ディスクを作る場合、ポイントが3つあります。

  1. boot.ini の調整ないし作成
  2. ntldr / ntdetectcom を、どうやって入手するか?
  3. Windows 9X で、ntldr からブートさせるようにどうやってフォーマットするか?

壊れたパソコンと修復用に使う別パソコンが、全く同じOSかつ同じサービスパックのバージョンならば、ほとんど問題がありません。上の1番の内容だけ確認していただいて、あとは今までの基本編のとおりやっていただければOKです。2番と3番は同一なOSが調達できない場合の問題点です。このページでは、特に難しい状況と考えられる、別パソコンが9X系である場合を想定していきます。

9X系の別パソコンはフロッピーディスクドライブを搭載したものをご用意ください。起動しなくなったXP/2Kパソコンにはフロッピーディスクドライブがなくても構いません。

フロッピーディスク搭載パソコンが調達できなかった場合には、【WinImage】を使う方法を使います。このあとの、項目1と2を読んでから、解説ページをお読みください。。

1.boot.ini の調整ないし作成

boot.ini は、そのパソコンの特有のもので、ntldr のように同一OS同一サービスパックなら皆同じというようなものではありません。そこで、別パソコンのテキストエディタを使って自分で作りましょう。起動不能PCでXP/2000がインストールされているパーティションの位置を反映させるのがポイントです。ただし緊急起動ディスクの boot.ini なので、完全なものを作る必要はありません。次の例をご覧下さい。

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows XP Professional"/fastdetect
C:\="Windows 98 Second Edition"

これは、Cドライブに98SEが、DドライブにXPがデュアルインストールされているパソコンの boot.ini の一例です。ntdetect.com は、ユーザーが何も操作しないと最後に赤字の行に書かれたフォルダ及びそのサブフォルダに ntoskrnl.exe を探しに行きます。この記述が正しければ ntoskrnl.exe が見つかり、XPが起動します。しかし例えばpartition(1)になっていると、このPCではそこ(Cドライブ)には ntoskrnl.exe がないので起動せずにエラーを発するわけです。以上のことを考えれば、緊急起動ディスクとしては、たとえばどうせ起動させない緑色の行を省いてしまっても問題ないわけです。青字の部分も画面に表示される名前だけの問題なので適当でいいです。timeout の秒数だって1にしてしまっても良いです。修復の目的はHDDのCドライブルートにある boot.ini の記載内容であって、緊急起動ディスクの boot.ini はとりあえずOSが起動さえすればそれで十分だからです。

[boot loader]
timeout=1
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="XP"/fastdetect

このくらい省略してもOKです。Win2000なら、WINDOWSじゃなくてWINNTになるとか、ふつうにシングルOSで使っている人は(2)じゃなくて(1)だとか、理屈は分かりますか?boot.iniの書式に関してはGoogleで検索すると解説ページがいくらでも見つかるので、うちのサイトではあらためて取りあげません。

とにかく、フロッピー版にせよ、CD-R版にせよ、別パソコンで緊急起動ディスクを作る時には、boot.iniの記載内容を確認することが大切です。boot.iniをメモ帳などのテキストエディタで開いて、意味が分かる程度の知識は最低限必要です。

2.ntldr / ntdetectcom を、どうやって入手するか?

上にも書いたように、別パソコンが9X系であると想定します。NT系ならばそれよりもラクですからご自分の状況に応じて応用してください。

さて、ntldr / ntdetect.com /bootfont.bin を調達せねばなりません。このうち bootfont.bin は起動時の日本語表示に関する部分に関わるだけなので必須ではありません。9Xとのマルチブートで boot.sect.dos がある人も、今の場合NT系を起動させるのが先決ですから不要です。boot.ini は第1項の段階で自分で作成したものを使います。

まず、壊れたパソコンのインストールディスク(リカバリディスクではない)を持っている方は、そこから取り出しましょう。ただしインストール後にサービスパックのアップデートをしている場合、ntldr などのバージョンが古くなってしまっている可能性があります。その場合は次の方法にしてください。

インストールディスクがない方は、マイクロソフトのサイトから、サービスパックのネットワークインストール用ファイルをダウンロードしてきましょう。名前のせいか誤解されやすいのですが、ネットワークインストール用というのは、ネットワークに繋ぎながら必要なファイルのみをインストールする高速インストールのことではなくて、サービスパックに必要なファイルを全部含んでいて、ローカルにダウンロードしてからインストールするタイプのものです。いわばフルパッケージです。ここでは最新版にのみリンクしておきます。違うバージョンが欲しければ、ご自分で探してみてください。

これをダウンロードしたら、解凍ソフトで展開します。この中から ntldr など必要なものを取り出すのです。ただし解凍ソフトは、LZHやZIPしか解凍できないようなものではダメです。拡張子がEXEでも解凍できるようなものを使ってください。(NT系のWindowsでは解凍ソフトを使わなくても、コマンドラインオプション /xをつけて実行すると解凍できます。)また「ダウンロードしたサイズの千分の1位しか使わないじゃないか!」などと文句を言ってはいけません(笑)。

無印バージョンのOSを使っている人はどうするのか? これはサービスパックの物を使ってうまくいくことを祈るのみですね。一般論としてサービスパックを当てておかないと、Windows Updateもできなくなったりして、セキュリティ上問題があるので、これを機会にアップデートしましょう。

3.Windows 9X で、ntldr からブートさせるようにどうやってフォーマットするか?

何回も書きましたが、緊急起動ディスクで起動するためには、2000/XPでフロッピーをフォーマットする必要があります。9Xでフォーマットしたものでは駄目なのです。

もう少し詳細に書くと、2000/XPでフォーマットすると、ntldr からブートするようなブートセクタが書き込まれます。9Xでフォーマットすると、IO.SYS からブートするようなブートセクタが書き込まれます。ブートセクタというのはディスクの先頭にある重要な部分ですが、ファイルとしては認識されないので、エクスプローラで見るとどちらも空っぽのフロッピーディスクに見えます。しかし歴然と違うのです。

ここでは、【BootPart】というソフトを使った方法を紹介します。

9Xで(やむなく)フォーマットしたフロッピーディスクに、用意した ntldr / ntdetect.com / boot.ini を書き込み、もう1つ、bootpart.exe を追加して書き込んでおきます。45KBほどのサイズなので十分収まるはずです。

Win Me以外では、MS-DOSモードで起動します。Win Me ではDOSモードが無いので、Win Me起動ディスクを使ってMS-DOSに入ります。 A:\> とコマンド入力待ちになったら、(Meの場合は今入っているFDを抜いて) bootpart.exe を含んだ例のフロッピーディスクを装填します。そして、以下のように打ち込みます。

bootpart winnt boot:a:

(末尾のa: はフロッピーのドライブ名です。くれぐれも C: などとしないように。パソコンが起動しなくなります。)

確認のメッセージがでるので Y キーを押します。すると書き込み完了のメッセージが出ます。これで、このディスクが緊急起動ディスクになります。【BootPart】によって、フロッピーディスクのブートセクタが、9X系のものからNT系のものに書き換えられたのです。

起動しないXP/2Kがフロッピーから起動できる場合は、このフロッピーディスクを使えばOKですが、XP/2KのPCにFDがない場合は、これを使ってブータブルCDを作ります。

まず、作成したフロッピーディスクの中身を、まるごとイメージファイルにします。これには【RawWrite】を使います。【RawWrite】は、フロッピーディスクをまるごとイメージファイルにしたり、その逆に、イメージファイルを現物のフロッピーディスクに書き込んだりできるソフトです。起動して今回はRead タブを指定し、FD⇒イメージファイル の作業を行います。



イメージファイルが完成したら、こちらの手順で、CD-Rを作成してください。

もっと簡単な方法はないの〜? もぉ〜プンプン!

bootdisk.comなどに行けば何でも見つかるでしょうが、ライセンス的には?マークです。違法配布だと言う考え方もあるでしょうし、自分の所有しているOSのものならばOKという考え方もあるでしょう。あとは御自身で判断してください。私自身は、かなり黒に近い(RGBで1,1,1くらい)と思います。

あとは、boot.ini の修正に限定されますが、【EditBINI】というDOSのソフトがあり、なんとNTFSパーティションの boot.ini でもDOS上から編集できます。【ULTIMATE BOOT CD】に入っています。⇒解説ページ


<ホームへ> <目次ページへ>  <前のページへ>  <起動しないエラーのページへ>