• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C:\WINDOWS\system32\ntoskrnl.exe が存在しないか壊れている)

Windowsが起動できない原因と対処法

このQ&Aのポイント
  • Windowsが起動できない原因として、C:\WINDOWS\system32\ntoskrnl.exeが存在しないか壊れていることが考えられます。
  • Windows 2000/XPでは、ntoskrnl.exeやhal.dllの破損だけでなく、boot.iniファイルの記述が実際の情報と食い違っている場合にも起動できないエラーが発生することがあります。
  • boot.iniファイルの記述を見直すことで、Windowsの起動エラーを解決することができます。

質問者が選んだベストアンサー

  • ベストアンサー
noname#161749
noname#161749
回答No.1

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/windows.html#kaifuku HDDを取り出して他のPCに接続できるなら、 BOOT.INIを直接編集でも可能。

その他の回答 (2)

  • kozaiku
  • ベストアンサー率41% (256/616)
回答No.3

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パーティションのデータ吸出しもできます。

koheichan
質問者

お礼

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

  • kozaiku
  • ベストアンサー率41% (256/616)
回答No.2

一言で言えば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.html> 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です。