プロが教える店舗&オフィスのセキュリティ対策術

下記のエラーが表示され Windows が立ち上がりません。

"C:\WINDOWS\system32\ntoskrnl.exeが存在しないか壊れているためWindowsが起動できません。上記のファイルをインストールしてください。"

Windows 2000/XP の緊急修復ディスク (ERD) を作成し、起動試みましたが結果変わりません。

レスキュー方法を教えて下さい。

OS : Windows 2000
Model : FMV 7000FL

[追記]
色々調べているうちに、「これは実際に ntoskrnl.exe や hal.dll が破損している場合よりも、boot.ini の記述が実際の情報と食い違っている場合に発生する」というものを見つけました。
この場合の対処として「boot.ini ファイルの記述を見直してください」とありますがどういうことなのでしょうか?
<http://homepage2.nifty.com/winfaq/w2k/boot.html# …

A 回答 (3件)

Win2000インストールCDはお持ちですか?



お持ちなら別のPCでBOOT.INIを作りフロッピーなどに保存しておき、
Win2000のCDから起動して回復コンソールのCOPYコマンドでBOOT.INIを上書きさせます、

BOOT.INIの記述は、
オンボードIDEのプライマリマスタの第一パーティションが起動させたいパーティションであれば、

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect

となります、

http://nobumasa-web.hp.infoseek.co.jp/multi_boot …

HDDを取り出して他のPCに接続できるなら、
BOOT.INIを直接編集でも可能。
    • good
    • 0

2の回答者です。

お気づきと思いますが念のため
[boot loader]の部分に改行がぬけてました
timeout=30default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
でなく
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
ですね。

インストールする際に、あらかじめこのようなトラブルに対処しやすくする方法があるので紹介しておきます。
(1)CドライブにWindows98をFATフォーマットでインストールします
(2)DドライブにWindows2000やXPをNTFSフォーマットでインストールします
Windows98/2000を選択ブートできるような形でインストールします。これでBoot.iniはCドライブのルートに作られます。
今回のようなケースでWindows2000/XPが起動できなくなってもWindows98が起動でき、Boot.iniはFATパーティションにあるので何の苦も無くBoot.iniを修正できます。CドライブのWindows98は単なるメンテナンス用という位置づけです。本命のWindows2000が起動できなくてもFAT/FAT32パーティションのデータ吸出しもできます。
    • good
    • 0
この回答へのお礼

有難う御座います。
何とか解決できました。
色々と有難う御座いました。

お礼日時:2005/03/11 08:34

一言で言えばBoot.iniを書き換える必要があります。



一般的にはOSはCドライブにインストールされておりBoot.iniはCドライブのルートにあります。
FDでDOSを起動してBoot.iniを書き換えるのですがCドライブがNTFSフォーマットの場合はDOSからはアクセスできません。
そこで NTFSINIコマンドを使ってBoot.iniをCドライブからFDにコピーし、それを修正してから NTFSINI /RコマンドでCドライブに書き戻します。
<http://www.netjapan.co.jp/FAQ/others/boot_ini.ht …

CドライブがFATの場合はDOSから直接アクセスできるので普通にコピーすればいいのですがBoot.iniはシステム属性/不可視属性なのでATTRIBコマンドで属性解除しないと操作できません。
手順としては以上です。

もう一つの問題として、どのように修正するのか?というものがあります。
Boot.iniの中身はすでにご存知と思いますが下記のような感じです。
[boot loader]
timeout=30default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows 2000"
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows 2000"

たいていはpartition( )の数字が部分が、パーティション操作などが原因で実際の番号と一致しなくなっているはずです。ではpartition( )の正しい数字は?
気にすることはありません。
[boot loader]
timeout=30default=multi(0)disk(0)rdisk(1)partition(2)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows 2000 1"
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows 2000 2"
multi(0)disk(0)rdisk(0)partition(3)\WINNT="Windows 2000 3"
multi(0)disk(0)rdisk(0)partition(4)\WINNT="Windows 2000 4"
multi(0)disk(0)rdisk(0)partition(5)\WINNT="Windows 2000 5"
multi(0)disk(0)rdisk(0)partition(6)\WINNT="Windows 2000 6"
multi(0)disk(0)rdisk(0)partition(7)\WINNT="Windows 2000 7"
multi(0)disk(0)rdisk(0)partition(8)\WINNT="Windows 2000 8"
multi(0)disk(0)rdisk(0)partition(9)\WINNT="Windows 2000 9"
全部指定のBoot.iniを作ってしまえばいいのです。
再起動して選択画面が出たら1を選択。起動できなければ再起動して2を選択。駄目なら再起動して3を選択・・・というふうに「当り」が出るまで繰り返しWindowsを起動できたらBoot.iniのデフォルトをその番号にすればいいのです。
このBoot.iniはそのまま残しておけば再度同じトラブルに見舞われたときに楽に対処できます。
それよりインストールした直後にBoot.iniをこのようにしておくという手もあるんです。私はそうしてます。
ディレクトリを示す\WINNTの部分はWindowsNT/2000の場合でWindowsXPのデフォルトは\WINDOWSです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!