【解決】msconfigで「最大メモリ」を設定して起動しない・ブルースクリーンになる時の対処法【BAD_SYSTEM_CONFIG_INFO】

ネット上で紹介されている情報を参考に、システム構成(msconfig)の「ブート詳細オプション」にある「最大メモリ」にチェックを入れてしまい、再起動後に Windows 11 が立ち上がらなくなった……。

さらに、ブルースクリーン(BAD_SYSTEM_CONFIG_INFO、0xc0000218、HAL_MEMORY_ALLOCATION など)が表示され、セーフモードすら起動しない。そんなトラブルに直面していませんか?

この記事では、復元ポイントがない場合でも、コマンドプロンプトだけでこの設定を強制解除し、元通り起動させる方法を解説します。

システム構成(msconfig)の「ブート詳細オプション」
システム構成(msconfig)の「ブート詳細オプション」
目次

なぜ起動しなくなるのか?(原因)

Windows 11 は通常、搭載されているメモリ量を自動的に認識し、起動に必要な分を確保して管理しています。

しかし、msconfig で「最大メモリ」に不適切な数値(極端に少ない数値や 0 など)が指定されてしまうと、Windows カーネルをロードするためのメモリー空間が足りなくなり、起動プロセスがクラッシュしてしまいます。

この「最大メモリ」設定は、開発者が「メモリーが少ない環境での動作テスト」をするためのデバッグ用機能です。高速化などのための機能ではありません。 一般利用でここを変更するメリットはなく、むしろ今回のような起動不能リスクしかありません。

コマンドプロンプトで設定を強制解除する方法

「スタートアップ修復」が効かない場合でも、原因となっている「メモリ制限の設定」そのものをコマンドで削除すれば解決します。以下の手順で実行してください。

手順1:コマンドプロンプトを起動する

以下のいずれかの方法でコマンドプロンプトを開きます。

1.自動修復画面から(回復環境[WinRE])

1.ブルースクリーン画面が表示されたら、「電源ボタンを長押しして強制終了>PC を起動」を 2~3回繰り返すと、起動時に「自動修復を準備しています」→「PC を診断中」と表示され、

自動修復を準備しています
自動修復を準備しています

しばらくすると下記の「自動修復」画面が表示されますので、右下の「詳細オプション」をクリックします。

自動修復
自動修復

2.「オプションの選択」が表示されますので、「トラブルシューティング」>「詳細オプション」>「コマンドプロンプト」と、順番に選択してください。

オプションの選択
オプションの選択

参考:Win11 セーフモードなどが選択できる「回復環境(WinRE)」の開き方

2.インストールUSB(回復ドライブ)から

別の PC がある場合は、Windows 11 のインストールメディア(USB)を作成し、不具合のある PC に挿して起動するのが最も確実です。

  1. 問題の PC にインストール USB を接続し、USB から起動するように BIOS の起動順位を変更します。
  2. Windows のインストール画面が表示されたら、「次へ」をクリックします。
  3. そのままもう一度「次へ」をクリックします。
  4. 「PC を修復する」を選択し、「次へ」をクリックします。
  5. キーボードレイアウト選択の画面が表示されますので、「Microsoft IME」を選択します。
  6. 「トラブルシューティング」>「コマンドプロンプト」を選択します。

インストールUSB(回復ドライブ)から修復を行う場合:

Windows 11 のインストールメディア(USB)をお持ちでない場合は、下記のいずれかの方法で作成してください。

手順2:修復コマンドを実行する

黒い画面(コマンドプロンプト)が表示されたら、以下のコマンドを 1行ずつ入力して Enter キーを押してください。

① 最大メモリー制限(truncatememory)の削除

bcdedit /deletevalue {default} truncatememory

これがトラブルの元凶である「最大メモリ」の設定値を削除するコマンドです。

  • 成功した場合: 「操作は正しく終了しました」と表示されます。
  • エラーが出る場合: 「要素が見つかりません」と出た場合は、すでに設定がないか、識別子が異なります。その場合は {default} の部分を {current} に書き換えて試してください。

「指定されたエントリ識別子は有効ではありません」と表示される場合:

この場合も同様に、コマンド内の {default}{current} に書き換えてお試しください。

{default}{current} の部分を専門用語で「識別子」と呼びます。 この部分は、一字でも(カッコ { } の有無も含めて)間違っているとエラーになりますので、正確に入力してみてください。

それでもエラーになる場合:

もし {current} に書き換えてもエラーが表示される場合は、下にある 追記:【上級編】それでもエラーになる場合(正しい識別子の指定) の手順をお試しください。

② 物理メモリーの総量から指定した容量を除外する設定(removememory)の削除(念のため)

bcdedit /deletevalue {default} removememory

念のため、物理メモリーを除外する設定も削除しておきます。(通常 msconfig では設定されませんが、他のツール等で変更されている可能性を考慮して実行します) ※「要素が見つかりません」などのエラーが出た場合は、設定されていなかったということですので、無視して構いません。

③ 終了と再起動

exit
コマンドプロンプト
コマンドプロンプト

コマンドプロンプトが閉じますので、「続行」を選んで Windows 11 が正常に起動するか確認してください。

「truncatememory」と「removememory」について:

名称説明
truncatememory
(msconfig の「最大メモリ」)
意味:「メモリーの上限をここまでにする」
挙動:指定したアドレス以降のメモリーをすべて無視します。
例:「8GB あるけど先頭の 4GB しか使わない」
removememory意味:「メモリーの総量からこれだけ減らす」
挙動:OS が認識しているメモリから、指定した MB 分を使用不可にします。
例:「8GB あるけど、そこから(どこでもいいから)2GB 分減らして、6GB として動く」

追記:【上級編】それでもエラーになる場合(正しい識別子の指定)

{current} でも「識別子は有効ではありません」となる場合、手動で正しい識別子(ID)を調べる必要があります。

1.コマンドプロンプトに bcdedit とだけ入力して Enter キーを押します。

※もしここでエラーが出る場合:

「ブート構成のデータ ストアを開けませんでした。要求されたシステムデバイスが見つかりません。」と表示されてしまう場合は、USB の起動モードが合っていません。 下の 追記:それでもダメな場合(USB起動の方へ) へ進んでください。

2.文字が一覧表示されますので、「Windows ブート ローダー」 という項目を探してください。

3.その中にある「identifier」と書かれた項目の、右側の文字列を確認します。

  • 下の画像では{default} となっていますが、例: {9dea862c-5cdd-4e70-acc1-f32b344d4795} のような長い英数字になっている場合があります。
コマンドプロンプト
コマンドプロンプト

4.その確認した文字列(カッコを含む)を使ってコマンドを入力します。

コマンド例: (※ {xxxxxxxx-...} の部分は、実際に画面で確認した英数字を入れてください)

bcdedit /deletevalue {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} truncatememory

この部分は、一字でも(カッコ { } の有無も含めて)間違っているとエラーになりますので、正確に入力してみてください。

【ヒント】長い英数字(ID)を簡単にコピー&ペーストする方法:

この黒い画面でも以下の手順でコピーが可能です。入力ミスを防ぐためにもおすすめです。

  1. bcdedit と入力して一覧を表示させます。
  2. コピーしたい ID( { } を含む部分)をマウスでドラッグして白く反転させます。
  3. その状態で Enter キー を押すとコピーされます。
  4. コマンドを入力する場所で 右クリック すると、コピーした文字が貼り付けられます。

追記:それでもダメな場合(USB起動の方へ)

もし bcdedit と入力した際に、以下のエラーが出る場合は、USBメモリの起動モードが間違っています。

エラーメッセージ: 「ブート構成のデータ ストアを開けませんでした。要求されたシステムデバイスが見つかりません。」

これは、パソコン本体は最新のモード(UEFI)なのに、USBメモリを古いモード(Legacy)で起動してしまった際に起こる現象です。 (※セキュアブートを無効にしていると、この間違いが起きやすくなります)

以下の手順で、「UEFI」と書かれた方の USBメモリを選び直して起動してください。

  1. パソコンを再起動し、メーカーロゴが出た瞬間に「ブートメニュー」を出すキー(F12キーや F11キーなど)を連打します。
  2. 起動デバイスの選択画面で、USBメモリの項目を確認します。
  3. 以下のように名前が似た項目が 2つある場合は、必ず「UEFI」と頭に付いている方を選択してください。
    • USB : SanDisk (古いモード:こちらを選ぶとエラーになります)
    • UEFI : USB : SanDisk (新しいモード:こちらを選んでください
  4. 「UEFI」の方で起動した後、再度黒い画面で bcdedit コマンドを入力すれば、正常にリストが表示されるはずです。

まとめ

  • msconfig の「最大メモリ」は絶対に触らない。(高速化効果はありません)
  • もし設定して起動しなくなっても、bcdedit コマンドを実行すれば復旧できる。
この記事が「役立った!」と思ったら、ぜひSNSでシェアをお願いします。
  • URLをコピーしました!

この記事を書いた人

日々の PC 操作から生まれた疑問や、「もっとこうしたい」という想いを原動力に、2008年頃から現在に至るまで Windows の知識を独学で追求してきました。試行錯誤を重ねて見つけた「なるほど!」な技や、困った時の解決策を、皆さんの PC ライフに役立ててほしい一心で発信しています。

プロフィールを見る

コメント

コメントする

【投稿について】
記事の内容に関するご質問や情報提供は大歓迎です。
ただし、記事の趣旨と無関係な内容、特定の人物・団体への批判、攻撃的な表現、不適切な語句を含むコメントは、管理人の判断で予告なく削除・非公開とさせていただく場合があります。
また、スパム対策機能により自動的に削除される場合もありますのでご了承ください。

CAPTCHA


目次