Debian実マシンの復旧

Tech > Linux

内容

この記事は,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のもの.
3. ターゲットパーティションを"/"chrootでうまくいく場合もあります.
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