マザーボードが死んだパソコンからHDDを抜いて仮想化(Physical to Virtual)するまで

 パソコンを新調したら旧パソコンが期限を損ねて起動しなくなったので,この際旧パソコンのOS環境を仮想化して取り込んだ。

 作業そのものは6月にやったんだけど,当時の作業メモが出てきたのと,こっちに記録をしてなかったので,覚えているうちに記録しておくことにする。

 仮想化には Oracle VirtualBOX を使う。旧環境はWindows10,新環境はWindows11。必要なのは VirtualBOX なので,Linux上の VirtualBOX で仮想化するのも手順は大差ない。今回は Windows11 のパソコンに買い替えたら Windows10 のパソコンが拗ねてこじれたのでこうなった。

 旧パソコンから取り外した SATA HDD を認識させるために,SATA-USB変換のアダプタが必要。

 たとえばこんなの。https://pc.watch.impress.co.jp/docs/news/421552.html

 

作業手順

  1. 仮想マシン上でUbuntuをインストール。sambaを追加でインストールして,ファイルアプリ上でWindowsファイル共有ができるよう設定。ホスト上のドライブに接続。
     参考:https://bsj-k.com/ubuntu-access-win-common/
    以下,この環境を「クライアント」として記述。
  2. SATA-USB変換で,旧環境のシステムドライブをホストのWindows11環境に,USB大容量ドライブとして認識させる。
  3. VirtualVoxのUSBデバイスフィルタで,該当のUSBデバイスをクライアントに接続できるよう設定。
  4. クライアントを再起動して,USBドライブを刺しなおすとクライアント側で認識する。
  5. クライアント側の「ファイル」アプリでWindowsファイル共有のドライブを開き,ファイルパスを確認して,コマンド窓でcdして共有ドライブに移動しておく。
  6. ddコマンドでUSB接続したドライブを書き出す。以下のコマンドで,USB接続したHDDの内容をそのまま自分がいるディレクトリ(ここでは先に移動しておいたWindowsファイル共有先)にダンプする。
     dd if=sdb bs=32M > Win10.img
  7. 書き出しが終わったらクライアントに用は無いのでとりあえずシャットダウン。USBドライブも外して構わない。
  8. 6.でダンプした生のディスクイメージをVirtualBox形式に変換。コマンドプロンプトを開いて,ダンプした生ディスクイメージのあるところに移動してから以下のコマンドを使う。
     "C:\program files\Oracle\VirtualBox\vboxmanage" convertfromraw Win10.img Win10.vdi
  9. VirtualBOX仮想マシンを新規で作り,8.の手順で作ったvdiファイルを「既存ドライブ」として使うよう設定。
     メモリ16GB,CPU4個割り当てた。
  10. 起動。初回はデバイスの設定で時間がかかる。
  11. ライセンス認証。仮想マシンのWin10上で「設定」→「更新とセキュリティ」→「ライセンス認証」
  12. トラブルシューティングからライセンスを再認証。「トラブルシューティング」からWindowsアカウントでログインして,「このデバイス上のハードウェアを最近変更しました」を選択。
  13. 仮想マシンのWin10のPC名をもとにライセンス認証するPCを選択,アクティブ化。
  14. 仮想化したWin10環境にVirtualBox Guest Additionsをインストール。
    参考:https://pc-karuma.net/virtualbox-install-guest-additions/

 以上の手順で,旧パソコンのWindows10環境を仮想化して,新パソコン上の VirtualBOX 内で起動できるようになった。

 

 あとで知ったんだけどもっと簡単そうなやり方もあるようで('A`)

datatechlog.com