Debian 11 Live LXDE イメージの「ルート」を起動可能な USB の別のパーティションに変更するにはどうすればよいですか?

Debian 11 Live LXDE イメージの「ルート」を起動可能な USB の別のパーティションに変更するにはどうすればよいですか?

上書きされたパーティション(変更の保存など)で起動可能なDebian Live OSを作成したいと思います。しかし、1つではなく複数のパーティションを作成したいと思います。 syslinuxをあるパーティションにインストールし、Debian OSライブイメージファイルを別のパーティションに、最後にオーバーレイパーティションを別のパーティションにインストールしたいと思います。これを達成するためにDebianの公式ページで助けを求めました。Debian オペレーティングシステムを起動するための USB 準備ガイドラインとsyslinuxドキュメント。私はsyslinuxコマンドを使用して起動メニューをインポートしてロードできます。vmlinuz-5.10.0-8-amd64sdb1のsyslinuxの同じフォルダ(ブートパーティション、つまり/mnt/sdb1/syslinux/vmlinuz-5.10.0-8-amd64)。ただし、sdb2にある2番目のパーティションをロードできません(例:/mnt/sdb2/live/initrd.img-5.10.0-8-amd64)sdb1のsyslinuxフォルダにあるmenu.cfgでこのコマンドを使用します。私がすることはここにしかありません。メニュー構成ファイル以下のファイル/dev/sdb1/syslinux/フォルダ:

  INCLUDE stdmenu.cfg
  MENU title Main Menu
  DEFAULT Debian GNU/Linux 64 bit
  LABEL Debian GNU/Linux 64 bit
     SAY "Booting Debian GNU/Linux Live (kernel 5.10.0-8-amd64)..."
     LINUX vmlinuz-5.10.0-8-amd64
     APPEND root=/dev/sdb2 fromhd=/dev/sdb initrd=/dev/sdb2/live/initrd.img-5.10.0-8-amd64 boot=live swap=true persistence persistence-storage=filesystem persistence-media=removable-usb union=overlay components locales=tr_TR.UTF-8 splash

結果:

ここに画像の説明を入力してください。

注文するroot=/dev/sdb2そしてinitrd=/dev/sdb2/live/initrd.img-5.10.0-8-amd64動作しません。 **該当するファイルやディレクトリがありません**エラーが発生します。助けてください。なぜ動作しないのですか?どのように動作させることができますか?

答え1

これはAPPENDカーネルコマンドラインにパラメータを追加するだけです。ただし、最新のカーネルでは、ファイルをロードする作業がinitrd.imgカーネルではなくブートローダの作業になります。 GRUBとSYSLINUXの両方がinitrdこの目的でこのコマンドを使用します。

歴史的な理由から、Syslinuxはinitrd=ラインのオプションを理解し、APPENDそれを特に扱います。その行の他のすべてのオプションは、APPEND処理のためにカーネル(およびinitrdスクリプト)に委任されます。

しかし、SyslinuxはLinuxが起動時にさまざまなデバイスに名前を付ける方法を知らず、現在Syslinuxが起動しているもの以外のデバイスを参照する方法がないようです(少なくとも文書化された方法ではありません)。

このLoading vmlinuz-5.10.0-8-amd64... okメッセージは、次の行と同様に Syslinux によって印刷されます。 initrdファイルをカーネルファイルとは別のパーティションに配置すると、Syslinuxはinitrdファイルにまったくアクセスできないことを意味します。Syslinuxでは、構成ファイル、カーネルファイル、およびinitrdファイルが同じパーティションに存在する必要があります。

最新のGRUBバージョンは必要な操作を実行するのに十分柔軟ですが、このGRUBカスタムインストールには少し作業が必要です。

関連情報