Contents
序
この記事は,2023年7月31日のブログ記事を元にまとめました.
バックアップからコピー
バックアップがないとクリーンインストールになりますので,この記事の前提を逸脱します.
筆者の2023年7月の事例では,実マシンのバックアップと仮想マシンの仮想ディスクからのコピーバックをそれぞれ試し,仮想マシンからのものが先に成功しました1.
chroot
DebianのインストールDVDイメージ2からRescueモードを選択するとターゲットパーティションを "/" にchrootしてくれますが,この状態からefibootmgrを起動してもエラーが出てしまいます.事前準備が不十分のようです3.
そこで,他の動く実マシン4の適当な場所(たとえば/mnt/hd)に復旧させたいDebianのパーティションをマウントして,
root #mount --types proc /proc /mnt/hd/proc root #mount --rbind /sys /mnt/hd/sys root #mount --make-rslave /mnt/hd/sys root #mount --rbind /dev /mnt/hd/dev root #mount --make-rslave /mnt/hd/dev root #mount --bind /run /mnt/hd/run root #mount --make-slave /mnt/hd/run
という具合にお膳立てしてから,
root #chroot /mnt/hd /bin/bash
root #source /etc/profile
root #export PS1="(chroot) ${PS1}"
として,さらにDebian実マシン用のEFIにしているパーティション5を/boot/efiにマウントしてから,UEFI+Grub2の手順にしたがって,EFIとGrubをインストールしました.
制約条件
元が仮想マシンか実マシンのバックアップかというのは本質的な問題でなく,制約条件となるのはベースのマシンとターゲットのkernelやfirmwareに大きなバージョンの違いがあるかどうかのようです.
一年前の実マシンbullseyeを復元する際,最新のmanjaroのもとでは,grub-installでエラーが出てしまいました.解決法としては,ターゲットのbullseyeをchrootした状態でbookwormにupgradeすることで,エラーなくgrub-installが実行できました.
