1.はじめに
先日、WindowsとGentooをデュアルブートさせるためにLiveCDで環境構築していたのですが、
ブートセクターをマウントしていた/mnt/gentoo/boot/efi
を誤って
rm -rf /mnt/gentoo/boot/efi
理由としては、日頃からrm -rf
を常習しながらブートローダーを構築をしていたのが原因だと思います。
もちろんOSが起動しないので何もできなくなりました。あーあ。
Windows11をとりあえず起動させるまで
ブートセクターが消えているので当然Windowsは起動しませんし、WindowsREも使えないので当然修復するコマンドなども使えません。
また、メーカー製のPCなのでBDなどのインストールメディアもないし、USBメモリも8GB以上の物がなく、インストールメディアも作成できませんでした。
ですので、他のPCからUSBメモリやDVDなどに入れた修復ツールを構成してブートローダーの再構築をします。
必要なもの
- USBメモリかDVD(2GBあれば十分)
- Windowsが動作するPC
- ブートセクターを破壊してしまったPC
ブートセクターを再構築する
Windows PEを使用して、ブートセクターを修復します。
Windows PEのセットアップ
1.まずはMicrosoftのサイトからWindows ADK(Windows アセスメント & デプロイメント キット)をダウンロードします。
2.インストーラーを起動します
適当にインストーラーの設定をして、この画面で最低限Deployment Toolsを選択します。
select disk X #Xに現在認識されているUSBメモリのドライブの文字を入力
clean
create partition primary size=2048
active
format fs=FAT32 quick label="WinPE"
assign letter=P
Exit
6.以下のコマンドで作業ファイルを作成する
copype amd64 C:\WinPE_amd64
7.以下のコマンドでUSBメモリに書き込む
MakeWinPEMedia /UFD C:\WinPE_amd64 P:
8.壊したPCにUSBメモリを差し、USBメモリから先にBootするようにUEFIの設定をする
9.起動したら、詳細オプションにあるコマンドプロンプトを選択し、起動する
10.diskpartでWindowsがインストールされているディスクをsel disk {番号}
で選択し、list vol
で`WindowsのCドライブがあるパーティションとFAT32のファイルシステムのパーティションがあることを確認する。
11.FAT32のファイルシステム(ブートセクター)にドライブレター(アルファベット1文字のやつ)を設定する
select volume X #FAT32ファイルシステムのドライブ番号
assign letter=B #重複しないドライブレターを設定する
12.以下のコマンドでブートセクターを構築する
#XはWindowsがインストールされているドライブレター
#Yはブートセクターのドライブレターを設定する
#言語によってja-JPなどを適度変更する(日本語環境の場合このままでOK)
bcdboot X:\Windows /l ja-JP /s Y: /f ALL
13.PCの電源を落とし、UFEIからWindowsが入っているディスクを一番最初に読み込むようにする。
これでとりあえずはWindowsが起動するようになり、半年分のデータを取り戻すこどができました。
しかし、WindowsREなどが認識されず、修復オプションが利用できないので修復します。
###WindowsREの設定
1.とりあえずcmdで回復環境の確認
reagentc /info
※ここで状態がEnabledで場所がWindowsシステムのドライブ内でなければ正常なので以下の作業は不要です
2.WindowsREの無効化を行う
reagentc /disable
3.パーティションツールでWindowsREの残骸があるパーティションを削除する
4.diskpartで回復用パーティションを作成する。
select disk X #回復パーティションに使用するディスク番号
create partition primary size=1024
format quick fs=ntfs label="Recovery tools"
assign letter="R" #重複しないドライブレター
gpt attributes=0x8000000000000001
set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
list par
指定したパーティションのタイプに回復と記載されていれば正常
5.作成したドライブにWindowsREをコピーする
mkdir R:\Recovery\WindowsRE #Rは適宜変更する
xcopy /h C:\Windows\System32\Recovery\Winre.wim R:\Recovery\WindowsRE
6.WindowsにWindowsREを構築したパーティションを登録する
reagentc /setreimage /path R:\Recovery\WindowsRE /target C:\Windows
7.reagentc
でWindowsREを有効化し、設定が正常に反映されたかを確認する
reagentc /enable
reagentc /info
WindowsREの状態がEnabledになっており、WindowsREの場所が指定したドライブに存在していれば完了です。
8.Shiftキーを押しながら再起動を行い、動作確認する
回復オプションが表示されれば完了です。
お疲れ様でした。
まとめ
ブートセクターを爆破しちゃってもまだ救いがあるよ!
ただし環境によっては修復するまで面倒臭いです。
時間が足りないときにパーティションを弄ったり、ブートセクターを弄るのはやめよう!
rm -rf
は気を付けて使おう!
お酒を飲みながら手作業での環境構築は危険なのでやめようね!