Windows 11 UEFI&GPTのシステムパーティションが容量不足のため、SSD内で移動して拡張した。Arch Linuxで起動して、gpartedを使ってパーティションをコピー&削除で移動して、容量を拡張した。当然、Windows 11が起動しなくなるため修復が必要になる。
Microsoftのサイト(https://www.microsoft.com/ja-jp/software-download/windows11)から、Windows 11のインストールISOをダウンロードし、USBメモリに書き込んだ。DDで書き込んでもダメなので、AURのwoeusbを利用した。
yay -S woeusb
woeusb –device Win11_25H2_Japanese_x64_v2.iso /dev/sdX
Aoostarマシンなので、起動時にF7を連打してboot menuを表示し、USBから起動。
画面が表示されたら、Shift+F10でコマンドプロンプトに抜ける。
mountvol s: /s でEFIをマウント。
diskpart, list vol, exit でシステムパーティションがC:に割り当てられていることを確認する。
データパーティションがC:で、システムパーティションがD:の場合はうまく修復できなかった。
asasingを手動でおこなってもだめだった。また、パーティションテーブルがソートされていない場合も修復できなかったので、あらかじめgdiskでソートしておく。
cd /d s:\EFI/Microsoft/Boot
ren BCD BCD.bak BCDを削除しておかないとゴミエントリーができることがある。
bootrec /scanos ここでWindows 11が見つからなければだめ。
bootrec /rebuildbcd
exit でコマンドプロンプトを抜け、Windowsのインストールではなく、修復を選択すると起動する。
bcdboot C:\Windows /s S: /f UEFI は不要だった。
今回かなり復旧にてこずったので、回復ドライブを慌てて作成した。コントロールパネルから回復ドライブを選択すると作成でき、システムファイルをバックアップしない場合の容量は1GBと少ない。システムファイルを回復ドライブにバックアップする場合はUSBに32GBのパーティションが作成され、容量が不足する場合はエラーになる。13GB程度の容量であるが、書き込みにも酷く時間がかかった。インストールISOは8GB程度なので、コマンドプロンプトを使うだけなら、これで十分。
コマンドプロンプトを管理者として実行し、reagentc /infoで回復環境が確認できる。enabledでない場合は、reagentc /enableで変更できる。エラーになる場合は、C:\Windows\System32\Recovery\ReAgent.xmlを削除すると復旧した。

コメント