序
この記事は,2023年7月31日のブログ記事を元にまとめました.
バックアップからコピー
バックアップがないとクリーンインストールになりますので,この記事の前提を逸脱します.
筆者の2023年7月の事例では,実マシンのバックアップと仮想マシンの仮想ディスクからのコピーバックをそれぞれ試し,仮想マシンからのものが先に成功しました.
chroot
DebianのインストールDVDイメージからRescueモードを選択するとターゲットパーティションを "/" にchrootしてくれますが,この状態からefibootmgrを起動してもエラーが出てしまいます.事前準備が不十分のようです.
そこで,他の動く実マシンの適当な場所(たとえば/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にしているパーティションを/boot/efiにマウントしてから,UEFI+Grub2の手順にしたがって,EFIとGrubをインストールしました.
制約条件
元が仮想マシンか実マシンのバックアップかというのは本質的な問題でなく,制約条件となるのはベースのマシンとターゲットのkernelやfirmwareに大きなバージョンの違いがあるかどうかのようです.
一年前の実マシンbullseyeを復元する際,最新のmanjaroのもとでは,grub-installでエラーが出てしまいました.解決法としては,ターゲットのbullseyeをchrootした状態でbookwormにupgradeすることで,エラーなくgrub-installが実行できました.
Notes:
1. 実マシンのバックアップからのコピーバックは後日試す予定です.
2. 試したのはbookworm 12.1のもの.
4. 筆者の場合はManjaro.Debianの最小インストールをしたディスクを起動ディスクに仕立ててもうまくいくと思います.ただし,DebianのインストールDVDイメージをルートにする場合は,
mountコマンドがbusyboxのため,mountコマンドの--types, --rbindなどのオプションが効きません.5. 筆者のこの時の例では
/dev/sda1.実マシンのバックアップからのコピーバックは後日試す予定です.
試したのはbookworm 12.1のもの.
ターゲットパーティションを
"/"にchrootでうまくいく場合もあります.筆者の場合はManjaro.Debianの最小インストールをしたディスクを起動ディスクに仕立ててもうまくいくと思います.ただし,DebianのインストールDVDイメージをルートにする場合は,
mountコマンドがbusyboxのため,mountコマンドの--types, --rbindなどのオプションが効きません.筆者のこの時の例では
/dev/sda1.