箱庭遊び3: Manjaro実機の仮想化も成功

Debian実機の仮想化の次は,第2workstation (WS)の第1OSであるManjaroの仮想化に取り組みました.

Debianでまっ更な仮想ディスクイメージへのコピーがうまく行かなかったので,今回はその成功を目指しました.

Manjaro WSは,Raspberry Piのバックアップなどを含むのでデータの占有量は160GBを少し超えるので,200GBのまっ更な仮想ディスクイメージを作成し,100MBをBIOS bootに,残りをLinux用にGPTでパーティショニングしました.

qemu-nbdを使って,ブロックディバイス化して,フォーマットしてLinuxのパーティションをマウントして,既に動いているManjaroの仮想マシン(これもかなり前に実マシンから仮想化したもの)の第2ドライブとしてつないで,chrootしてgrubをインストールしました.このあと既に動いているManjaroの第2ドライブからその新しい仮想ディスクイメージを外し,VMmanagerで新しい仮想ディスクイメージをメインディスクにした仮想マシンをでっち上げます.

しかしブートしませんでした.GRUBの画面は出てデフォルトのまま先に進みますが,UUIDで指定したドライブが見つからないと文句を言います.

おそらく仮想ディスクをVirtIOで接続したのが良くなかったのですが,このときは気づかず,Manjaroの仮想マシンでchrootはあきらめ,DebianのインストールDVDイメージから起動して,新しく作った仮想ディスクのLinuxパーティションをルートにして,grub-installとupdate-grubを実行して,仮想イメージからブートしたら,今度は起動に成功しました.

先に書きましたが,DebianのDVDイメージで作業したから成功したのではなく,仮想マシンにVirtIOでなくSATAとして接続したのが良かったのだと思います.

箱庭遊び2: 実Debianの仮想化は成功

うまく行かなかった,Debianの実マシンの仮想化はその後成功しました.

まっさらなqcow2の仮想ディスクイメージに実マシンのディスクの内容をコピーするという正攻法がうまく行かなかったので,Plan Bとして,仮想マシンとして動いているDebianの仮想ディスクイメージを複製し,

rsync -artlvd --sparse --inplace --delete /実マシンの/ディスクの/マウントポイント/ /仮想ディスクの/マウントポイント/

を実行しました.

--sparseオプションは,いくつか仮想ディスクイメージがあるから指定しています.また,ないとは思いますが,ディスクがオーバーフローしないように,--inplaceも指定しています

このコピーの後,コピー先の/etc/fstabの内容を,実情に合うようにします.とはいえ,ルートだけで,UUIDなり,/dev/sda3なり,/dev/vda3と指定します

そして,VMmanagerで,コピーしてできたqcow2を含んだ仮想マシンをでっちあげます.

さて,これでもまだコピーしてできた仮想ディスクイメージからブートはできませんので,DebianのインストールDVDイメージから新しく作った仮想マシン起動して,Rescueモードでなんやかんやしたらgrubで無事起動するようになりました.

結局どこが悪かったかわからないままですが,動けばいいんです.

ちなみに,この方法では一つだけ問題があります.それは,同じUUIDを持つパーティションがこの世に2つ存在することです.2つのディスクイメージを同じ仮想マシンに同時に装着して,UUIDを指定してパーティションをマウントしなければ問題になりませんが.

これも元をたどれば実マシンのDebian.ただし,いつ頃コピーしたかは不明.
UUIDの場合はもうひと手間必要ですが省略します😓
新規に作ったqcow2のパーティショニングかフォーマットあたりでしょうが.
今後同じ方法で複製をすれば,さらに増える😓