デュアルブート環境のOSクローン

WDのSSD 1Tが1万円ちょっとでAmazonセールになっていたので即確保。256GB SSDデュアルブート環境が手狭になっていたので、元々考えていたSSDの置換作戦を実施する。なおWindows10 は すべて1909である

  • 作戦1 SSD入れ替え

入れ替え元の順番は下記の通り。USB-SATA変換に交換先のSSDを取り付け、単純にこの順番のままクローンするがLinux / とWindows10、回復は容量を増やす

  1. EFI
  2. Linux /
  3. MSR
  4. Windows10
  5. Windows回復

容量アップになるので、Linux上でEFILinux / のパーティションをGpartedで作成、準備していたClonezillaをUSBメモリから起動し、EFILinux領域をpartition to partitionでクローン。(UUID値の変化を心配したがクローンなので同じ。取り付け後grubをいじることなく起動した)
WindowsはEaseUS Todo Backup Freeを使いMSRをクローン、Windows10と回復パーティションはそれぞれクローンした後 EaseUS Partition Masterで容量をいじった。
SSDを交換してGrubはたちあがったが、Windows10は起動せず。Windows10のisoからUSBメモリのブート環境を作り修復させることにした。しかしWindows10のスタートアップ修復からは「Windowsが見つからない」 というエラーが出て復帰不可。コマンドプロンプトからトライすることになった

  • Windows10修復

GPT Windowsのクローンに失敗しない手順4 -クローンしたWindowsが起動しない、正常に作動しない場合のチェックポイント - ぼくんちのTV 別館
まずはdiskpartを実行、diskpart> list volumeを確認すると CドライブがLinux / パーティションになっていた。Windowsのみのインストールでは通常この位置なので仕方ないか。
diskpart> select volume hoge、diskpart> assign letter c:  をWindows10パーティションに実行することで修正、
diskpart> exit、bootrec /Rebuildbcd、bootrec /fixboot、bcdboot c:\Windows /l ja-JP を実行。
Windows10のスタートアップ修復を実行
の手順を踏むことでWindows10のブートができるようになった。UEFIはWindows10のブートが優先されるようになってしまったのでGrub優先へ変更。

Windows回復パーティションが認識されていなかったので、管理者権限のPowerShellからreagentc /enableを実行して修正。なぜか管理者権限のコマンドプロンプトでは修正できなかった