パーティションのサブディレクトリからLinuxシステムを起動しますか?

パーティションのサブディレクトリからLinuxシステムを起動しますか?

同じファイルシステムに複数のLinuxをインストールするようにコンピュータを設定したいと思います。たとえば、ファイルシステムには/Ubuntu_Precise/Ubuntu_Oneiricおよび3つのフォルダがあります/Ubuntu_Natty

(BTRFSとサブボリュームを使用してこれを実行できることを知っていますが、速度のためにEXT4を使用したい)。

私はBTRFSを使用してさまざまなディストリビューションの複数のインストールを設定し、それを機能させることでGrubが「非標準」パスからvmlinuzイメージとinitrdイメージを起動できることを知っています。ところで、BTRFSをするときにrootflags=subvol=@<subvolume_name>ファイルシステムからサブボリュームを/にマウントするようにカーネルに指示するコマンドがありました。パーティションのサブフォルダを/にバインドマウントしてから起動するようにカーネルに渡すことができるパラメータはありますか?

他の部分においてはほぼ似ていると思います。/etc/fstabまた、BTRFSサブボリュームに複数のLinuxがインストールされているシステムを設定したときから、仮想マシンにディストリビューションをインストールしてからrsyncを使用して移行することに慣れていたため、あまり心配しません。私は正しい設定を得るために何をすべきかについて正しい設定が何であるかを見つけようとしています。これがわかったら、サブフォルダに簡単に移行してファイルを編集できます。

私はすでに仮想化とパーティショニングについて知っていますが、それは私が望むものではありません。ターゲットコンピュータに仮想化に十分な電力がなく、パーティションが空き容量を共有しません。 Linuxディストリビューションをデュアル/トリプル/クワッド/など起動するようにシステムを設定しようとしていますが、「空き容量がありますが間違ったパーティションにあります!」という問題が発生しないように、ファイルシステムを使用してください。

誰もが私の質問やタイトルをより明確に編集する方法についての提案があれば耳を傾けます。

ベストアンサー1

短い答え - 私が知っている限り、あなたの特定の要件に合うようにすぐに機能する解決策はありません。特定の要件をサポートするには、各ディストリビューションの各initramfsを調整する必要があります。

長い答え - はい、可能です。今日、ほとんどのLinuxディストリビューションはブートローダによってメモリにロードされ、カーネルによって解凍されるinitramfsを使用しています。そこで実行され、/sbin/init初期ユーザースペースの設定(udevの実行、モジュールのロード、plymouthの起動、暗号化パスワードの要求、ネットワークインストールのためのネットワーク設定など)を担当します。これは、独自のスクリプトを実行してカスタム起動パラメータを評価できるためです。

Debian はい

Debianを使用している場合(Ubuntuと同じである必要があります)、/etc/initramfs-tools/scripts/init-bottom/initが起動する前に実行されるスクリプトを配置できる必要があります。スクリプト、さまざまなディレクトリ、レイアウトの詳細については、以下を確認してください。男 initramfs - ツールrootmntターゲットディレクトリを調整して追加する必要があります。

/etc/initramfs-tools/scripts/local-bottom/00-myrootサンプル(テストされていない)スクリプトは、または次のようにインストールする必要があります/usr/share/initramfs-tools/scripts/init-top/00-myroot

#!/bin/sh -e

PREREQS=""

prereqs() { echo "$PREREQS"; }

case "$1" in
  prereqs)
  prereqs
  exit 0
;;
esac

for opt in $(cat /proc/cmdline); do
  case $opt in
    rootdir=*)
      new_mntdir="${opt#rootdir=}"
      ;;
    esac
done

if [ -n "$new_mntdir" ] ; then
  echo rootmnt="$rootmnt/$new_mntdir" >> /conf/param.conf
fi

アイデアは、実際のinitを起動/実行するためにrootmnt 使用されるinitramfsスクリプトを調整することです。initルートデバイスはすでにinit-bootomステージにインストールされているため、ターゲットディレクトリのみを調整/変更できます。

このスクリプトを使用するには、新しいブートパラメータを追加し、スクリプトをコピーし、実行可能にし、initramfsを再構築し、Linuxディストリビューションのブートパラメータ(たとえばrootdir=/Ubuntu_Precise

おすすめ記事