少し実用に近い作業をしていますが,昨日は使える時間をすべて使って取り組んだにも関わらず全く成果が得られませんでした.
何をしているかというと,某所で実用的に動いている仮想マシンが現在Debian 11.x Bullseyeのままなので,その某所のネットワーク管理者に叱られる前にDebian 12.x Bookwormにupgradeする必要があり,その下準備です.
その某所の仮想マシンについては,「ホストの管理者権限をもっていない」という大きな制約があります.したがって作業は慎重に慎重を重ねてやっていますが,これまで動かしてきた1年ちょっとの間に数回リブートできないトラブルに見舞われました.
そのうち1度はブートの仕組みをぶっ壊してしまい,手元にあるバックアップファイルから仮想ディスクを再構築して,仮想マシンのホストの管理者(以下「大家さん」)にSDカードに書き込んだ仮想ディスクを郵送して差し替えてもらいました.
残りのブート失敗はKVM/QEMUのバグで,何回かブートするとブートの一番最初のあたりで引っかかって先に進まないものです .このトラブルの場合には,大家さんに仮想マシンの強制リスタートをかけてもらえばたいていというかこれまでのところ全部解消してきました.
それで今回の話に戻りますが,しばらくその実用的なDebianの仮想マシンはいじっていないのて勘所をすっかり忘れています.そこで,そのマシンのバックアップから仮想ディスクを作り,仮想マシンとして起動して,Debian Bookwormまでupgradeをするという手順の確認と習熟を手持ちのマシンでするという非常に生産的な作業をしています.
最初は最新状態のManjaroで空の仮想ディスクを作ってext4にformatしてnbdでマウントしてバックアップをコピーし,Debian 12.1 (Bookworm)のインストールDVDイメージからchrootしてgrubのインストールを試みましたが,何度やっても自分で起動するようになりません.ときどき “unknown filesystem” っていうエラーメッセージが出ている事に気づきました.FEATURE_C12の呪いを忘れていました.
Debian 11.xの仮想ディスクはDebian 11.xでformatして作らないとNGです.
それを思い出してから作業をしていますが,Debian 11.xのインストールDVDから仮想ディスクイメージにchrootする選択をして,grub-installなりupdate-grubをするとエラーなくコマンドは通るのですが,いざ仮想ディスクイメージからブートしようとしてもgrubのrescueモードになってしまい,コマンドラインを打ち込んでもKernel Panicで止まってしまいます.
寝ながらいろいろ考えましたが,既に考え得ることは全てやり尽くしたように思います.しかし,昨年,確かにバックアップの内容から仮想ディスクを作り直し,その仮想ディスクで現在サーバーが稼働しているわけですから,できないはずはないです.
一つ可能性があるとしたら,Debianのインストール用DVDイメージのchrootで,必要なおまじないをしていないのかもしれません.
ということで,今日時間が取れたら,DVDイメージのRescue Modeから起動しても仮想とディスクへのchrootは自分でおまじないをしてからしてみる,というのを試みてみます.