bootrec /fixbootは、ブート領域の破損でWindowsが起動しない問題を修復できるコマンドです。Windowsが起動できない状態でも、回復環境のコマンドプロンプトから実行することができます。
しかし、ブート領域の破損状況によっては、コマンド実行時に「アクセスが拒否されました」のエラーが出るケースがあります。
本記事では、Windows10でbootrec /fixbootコマンドを実行した時に、「アクセスが拒否されました」エラーが出る時の対処法を紹介します。
この記事の内容
準備: インストールメディアを作成する
対処を行うためにWindows10のインストールメディアを使用します。そのため、事前にインストールメディアを作成してください。
インストールメディアを作成するには、8GB以上の容量がある空のUSBメモリまたはDVDが必要です。
また、Windowsが起動しない状態であれば、インストールメディアを作成するパソコンとインターネット環境も必要になりますのでご注意ください。
インストールメディアの作成ツールは、以下のリンク先にある「ツールを今すぐダウンロード」ボタンから入手できます。
作成の手順については、上記ページの「このツールを使用して、別のPCにWindows 10をインストールするためにインストールメディアを作成する」の内容を参考にしてください。
インストールメディアが作成できたら、次の対処をおこなってください。
対処1: CHKDSKを実行する
システムドライブの不良セクタが原因で、bootrec /fixbootのコマンドで「アクセスが拒否されました」が出るケースがあります。
そのため、CHKDSKを実行し、システムドライブのセクタエラーを検査してみてください。
- パソコンにインストールメディアをセットしてからパソコンを起動します。
- 回復環境が起動します。言語設定画面が表示されたら「次へ」をクリックし、その後「コンピューターを修復する」をクリックします。
- 起動しない場合は、BIOS設定画面でデバイスの起動順序を変更して下さい。
- 「オプションの選択」画面が表示されたら、「トラブルシューティング」→「詳細オプション」→「コマンドプロンプト」と進みます。
- コマンドプロンプトが表示されたら、次のコマンドを入力してエンターを押します。
chkdsk c: /r
chkdskによってファイルシステムを修復できたら、もう一度bootrec /fixbootを実行して問題が解決したか確認します。
対処2: bootrecコマンドを使って修復する
bootrecコマンドで先にBCDの再構築とMBRの修復を実行してから、bootrec /fixbootを実行すると「アクセスが拒否されました」のエラーが解決する場合があります。
そのため、次の手順でシステムのスキャン及びブート情報の修復を行ってみてください。
- パソコンにインストールメディアをセットしてからパソコンを起動します。
- 回復環境からコマンドプロンプトを起動します。
- 次のコマンドを入力してブート可能なシステムをスキャンします。
bootrec /scanos
- Windowsのインストールが認識されたら、次のコマンドを実行してBCDを再構築します。
bootrec /RebuildBcd
- 実行後、「ブート一覧に追加しますか?」と確認画面が表示されるので、「Y」を入力して承認します。
- 次のコマンドを実行してMBRを修復します。
bootrec /fixmbr
最後にbootrec /fixbootを実行してエラーが解消されたことを確認します。
対処3: ブート領域を再構築する
ここまでの対処方法で解決しない場合は、diskpartコマンドを使ってブート領域を再構築します。
Windowsのブートモードにより手順が異なるため、操作を行う前にお使いのWindowsのブートモードがUEFIか、それともレガシーBIOSかを確認しておく必要があります。
新しいモデルのPCであれば「UEFI」モードであることが多いです。
ブートモードは、多くの場合BIOS設定画面を調べることで判断することができます。PC起動時にBIOS画面を表示して、次の設定を確認してみてください。
- 「Boot Mode」「Boot Sequence」等の設定項目を確認し、「Legacy」「UEFI」のどちらが設定されているか調べてください。
- 「CSM」が無効になっていれば、ブートモードは「UEFI」になります。
- 32bit版Windowsは、必ずレガシーBIOSモードになります。
- パソコンによってはUEFI・レガシーBIOSのどちらか片方しかサポートしていない機種もあります。メーカーサイト等でパソコンのスペック情報も確認してみて下さい。
ブートモードを確認したら、実際にブート領域を修復します。お使いのパソコンのブートモードに合った手順でdiskpartコマンドを実行します。
UEFIの場合
- 回復環境からコマンドプロンプトを開きます。
- diskpartを起動します。次のコマンドを入力し、エンターキーを押して下さい。
diskpart
- 続いて次のコマンドを入力し、ボリュームリストを表示します。
list volume
- リストが表示されたら、リストの中からEFIシステムパーティションの番号を確認します。
- EFIシステムパーティションは「Size」が100MB~500MBであり、「Fs(ファイルシステム)」がFAT32であることが特徴なので、該当するボリューム番号を探して下さい。
- 続いて、次のコマンドを入力します。末尾にある「?」の部分は、手順7で確認したEFIシステムパーティションのVolume番号に置き換えてください。
select volume ?
- 例: EFIシステムパーティションがVolume 1であれば、select volume 1と入力してエンターキーを押します。
- EFIシステムパーティションにドライブレターを割り当てるため、次のコマンドを入力します。
assign letter=V:
- exitと入力してdiskpartを終了します。
exit
- EFIシステムパーティションをフォーマットします。次のコマンドを入力してください。
format V: /FS:FAT32
- 最後に次のコマンドを入力してブートローダーの修復を実行します。
bcdboot C:\windows /s V: /f UEFI
すべてのコマンドを入力したら、ブート領域の再構築は完了です。もう1度bootrec /fixbootコマンドを実行して、エラーが解消されたか確認します。
レガシーBIOSの場合
- 回復環境を起動し、コマンドプロンプトを開きます。
- 次のコマンドを入力してdiskpartを起動します。
diskpart
- 続いて、次のコマンドを入力します。
list disk
- パソコンが認識しているディスク一覧が表示されるので、サイズ情報等を参考にWindowsがインストールされているハードディスク(SSD)をリストから探します。
- 次のコマンドを入力します。ただし、コマンドの?部分は手順4で確認したディスクのディスク番号に置き換えてください。
select disk ?
- 例: Windowsのインストールされているディスクがディスク0であれば、select disk 0と入力してエンターを押します。
- 成功すると「ディスク(数字)が選択されました」と表示されます。続いて、次のコマンドを入力します。
list partition
- 認識されているパーティションのリストが表示されるので、「システムがインストールされているパーティション」を選択します。
- 通常システムパーティションは100MB~500MB程度なので、不明な場合はSizeの情報を参考に探して下さい。
- システムパーティションを確認したら、次のコマンドを入力します。
select partition ?
- ?の部分は確認したシステムパーティションの番号に置き換えてください。
- 例: システムパーティションがPartition 1であれば、select partition 1と入力します。
- 「パーティション(数字)が選択されました」と表示されたら、「active」と入力してシステムをアクティブにします。
active
- 次のコマンドを入力し、システムがインストールされているドライブを確認します。Cドライブに割り当てられることがほとんどですが、念の為確認しておきます。
list volume
- システムドライブを確認したらexitと入力してdiskpartを終了します。
exit
- 最後に次のコマンドを入力します。
bcdboot C:\Windows /l ja-JP /s C: /f ALL
- 確認したシステムドライブがCでない場合は、コマンド内の2箇所の「C」をお使いのパソコンのシステムドライブレターに置き換えて下さい。
以上でレガシーBIOSのブート領域の再構築は完了です。bootrec /fixbootコマンドを実行してエラーが解決したか確認します。
対処4: ブートセクタを修復する
ブートセクタに問題が起きており、bootrec /fixbootのコマンドで「アクセスが拒否されました」のエラーが出るケースがあります。
そのため、次の手順でブートセクタの修復コマンドを実行してみて下さい。
- 回復環境を起動し、コマンドプロンプトを開きます。
- 次のコマンドを入力します。
bootsect /nt60 sys
- 上記のコマンドでエラーが出る場合は、次のコマンドを試して下さい。
bootsect/nt60 all /force
以上で、ブートセクタの修復は完了です。bootrec /fixbootを実行してエラーが解消されたことを確認します。
解決しない時は
- インストールメディアのバージョンによってはバグが原因で一部の修復コマンドが正常に動作しないことがあります。
- 古いインストールメディアを使用している場合はインストールメディアを作成し直してみてください。
- BIOSの設定で「Fast Boot」と「Secure Boot」の機能を無効化すると、エラーが解決する場合があります。
初めまして。50代後半のオヤジです。PCを使いだして30年、MS-DOSからwindows3.0に移り始めたころから、仕事に趣味に、まあまあの頻度で触れてきましたが、「windowsが起動しなくなって困った」のは初めてでした。
「ブート情報の再構築」なんて未知の世界でしたが、探せば情報ありました。ネットって便利ですね。しかしコマンドプロンプトに「bootrec~」のコマンドを入れるだけでは解決できず、関連する状況を整理しないといけないかも、と思い、さらに探索したら、やっと巡り合えました!「ブート領域を再構築」して「ブートセクタを修復」する必要がありました。
発症から約3日間、別PCのSSD修復と並行しての作業でしたが、なんとか解決できました。(SSDは結局新品を買いました・・)
自分の知識の薄さにも気づきましたが、まあ、世の中知らないことだらけですね。本職じゃないし、専門外とはいえ、単純に使ってるだけでは解らないことがてんこ盛り。
今回は本当に助かりました。コメントを残したくなるくらいに感謝しております。ありがとうございました。また困ったら、真っ先にここに調べに来ようと思います。
長文失礼致しました。
娘婿のPCが起動やシャットダウンが遅いとのことで、SSDへの換装を頼まれました。
ハードで簡単にHDDのクローンができると思いますが、自分のPCでSSDへの換装をやった時に無料のソフト(EaseUS Backup Todo)でできたので、今回もそれを使ってやってみたところ、クローン化するにはプロ版を買わなければならないように変わっていました。AOMEIとかいうソフトも同様でした。
Macrium Reflect Free というソフトはとても快適にしかも短時間にクローン化に成功しました。
ところが、SSDで起動させたときに、どうしてもこのPCは修復する必要がありますという青い画面が出てきて、慌てました。インストール用のUSBで起動させ、修復を試みるも、やはり起動できませんでした。
コマンドプロンプトにして、bootrec /fixbootでアクセスが拒否されたと出て、インタネットで調べたらこの記事に出会いました。
本当にすばらしいです。マイクロソフトに電話しても、受付の担当者は素人みたいで、後で参考になるURLを送ってきましたが、それは私もトライしたもので、全く参考になりませんでした。追加の質問するには年間x万円のサポート契約を締結するとあり、問題外でした。
パソコンに関しては、一応自作でPCを制作したこともあり、昔のDOSコマンドに時代から親しみはありましたが、最近の目まぐるしい動きにはついていっておりません。その意味ではこのページでは結局対処1から試して、最後のブートセクターの修復でbootrec /fixbootを実行でき、エラーが解消されました。このページを投稿された方に、本当に感謝です。
ありがとうございました。
前の方と同じく
Macrium Reflect Freeでクローン成功後、起動しなくなりました。何か私もやらかしたのか、元ディスクも起動しなくなり。。。
あちこちのページに書かれていることを試しましたがダメでした。
対処3まで行いましたが、上手くいかず、もうダメかなと思いながら対処4。
素晴らしい!この記事書いて下さりありがとうございます。
救われました。クローンは何度もやった事があるのですが、最近は無料ソフトが減り、上記ソフトを用いた次第です。まさか元ディスクまで読めなくなるとは思いもしませんでした。
とにかく、この記事のおかげで助かった人が1人増えまして、感謝の連絡です。
困ったらここに私も来ることにします。
対処4: ブートセクタを修復する
より問題を解決しました。ありがとうございました!