質問: grub2から、lvm2論理ボリュームでisoを起動します tl; dr-暗号化されていないlmv2論理ボリュームにある.isoファイルから起動することは可能ですか?どうやって?ラップトップで実際に行う前に、virtualbox vmでこれを設定しようとしています。次の設定があります: 4gptパーティション gpt1-2m ef02 bios boot gpt2-その他のデータ、isoなどの5g暗号化されていない非lvm。 gpt3-/boot、isoなどの5g暗号化されていないlvm。 gpt4-残り、lvm、dm-crypt/luksで暗号化、ルート、スワップ、ホームなど。 gpt2には、現在のarchとxubuntuisoのコピーがあります。 gpt3には、同じisoの同じコピーを持つlvm2lvがあります 私は次のように働いています: gpt4では、archとxubuntuの機能インストール(そして、ある時点で他の論理ボリュームに他のディストリビューションを追加したい) / dev/sdaのarchからインストールされたgrub2 grub2のconfigfileコマンドを使用して、両方のディストリビューションのgrub2メニューから切り替えて起動できます 非lvmgpt2のgrubメニューからisoを起動できます 私がやりたいのは、gpt3 lvmのisoから起動することです(そして、最終的には、非lvm gpt2パーティションさえもありません)。私のグラブエントリは次のとおりです。menuentry "xubuntu iso" { set isofile="/xubuntu-12.04.1-desktop-amd64.iso" # from non-lvm loopback loop (hd0,gpt2)$isofile # from lvm #loopback loop (vgboot-iso)$isofile linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject initrd (loop)/casper/initrd.lz } 2つのループバックラインは、同じisoの2つの異なるコピーを指しています。 grubコマンドラインで、両方のループバックラインが機能することを確認しました。非lvmパーティションのisoから起動する場合、すべてが正常に機能します。lvmパーティションのisoから起動すると、起動が開始され、最終的に次のエラーが発生します。(initramfs) /scripts/casper-premount/20iso_scan: line 46: can't open /dev/sr0: no medium found archエントリの場合:menuentry "arch iso" { set isofile="/archlinux-2012.09.07-dual.iso" loopback loop (hd0,gpt2)$isofile #loopback loop (vgboot-iso)$isofile linux (loop)/arch/boot/x86_64/vmlinuz archisolabel=arch_201209 img_dev=/dev/sda2 img_loop=$isofile earlymodules=loop initrd (loop)/arch/boot/x86_64/archiso.img } gpt2 isoからの起動は機能しますが、lvm起動用に「/ dev/sda2」を何に変更すればよいかわかりません。編集:これはできますか? any現在のlinuxディストリビューションの公式.isoファイル? fedora? debian? opensuse? centos?これは不可能ですか?それとも、これまで誰も試したことがなかったものですか?edit2:私の報奨金は期限切れになってからずっと経ち、9か月後、これはlinuxディストリビューションでは不可能だと思います。質問は開いたままにしておきますが、近い将来いつでも実用的な解決策があるかどうかは疑わしいです。
回答: あなたはこれを試すことができます:menuentryの先頭にこれを追加します。insmod lvm 次に、lvmパーティションを次のように指定します。set lvmpart=lvm/<lvm_group_name>-<lvm_logical_partition_name> したがって、xubuntuisoエントリは次のようになります。menuentry "xubuntu iso" { insmod lvm set lvmpart=lvm/<lvm_group_name>-<lvm_logical_partition_name> set isofile="/xubuntu-12.04.1-desktop-amd64.iso" loopback loop $lvmpart$isofile linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject initrd (loop)/casper/initrd.lz } 必要に応じて修正してください。これにより、grubはlvm2ボリュームを認識し、その中のisoファイルを読み取ることができるようになります。ただし、おそらくisoはまだ見つかりません...