別のディスクに対してgrub.cfgを作成する方法は?

別のディスクに対してgrub.cfgを作成する方法は?

ディスクが2つあります。
最初のディスクにはデフォルトのOSが含まれています(/dev/sdaには多くのパーティションとOSがあります)。
2番目のディスクは設定する必要があります(/dev/sdb1=/boot、/dev/sdb2=/)。

デフォルトのオペレーティングシステムにgrub2パッケージをインストールしました。 2番目のディスクにオペレーティングシステム用のgrub.configファイルを作成したいと思います。 (ディスクは他のアーキテクチャ用であるため、2番目のディスクのchrootにgrub2パッケージをインストールする必要はありません。設定を再作成したいと思います。)

私が使うなら

mkdir -p /mnt/gentoo
mount /dev/sdb2 /mnt/gentoo
mount /dev/sdb1 /mnt/gentoo/boot
grub-mkconfig -o /mnt/gentoo/boot/grub/grub.cfg

これにより、/dev/sdb を grub-mkconfig インストールされているオペレーティングシステムを列挙するために使用されるベースディスクとして指定することはできません。

ディスク/ dev / sdaにN個のパーティションが含まれている場合、grub-mkconfigは〜N * number_of_kernelsメニュー項目を作成します。しかし、ディスク/ dev / sdbパーティション(パーティション/ dev / sdb2とインストールされているオペレーティングシステムがあります)のエントリを作成したいと思います。

また、パラメータダイアログボックスにディスクの選択があるため、grub-customizerユーティリティを使用してみました。しかし、grub-customizerは、選択したディスクに関連するすべてのユーティリティとファイルを使用しているようです。 /dev/sdbにgrub2がインストールされていません(他のアーキテクチャに関する上記の注意事項を参照)。

基本システムのfstabを一時的に変更すると、これを行うことができると言われましたが、これが役に立つかどうか疑問です。

もしそうなら、他のディスクに対してgrub.confを生成する方法は? (テキストエディタを使用して手動で作成する必要はありません)

UPD:機能要求 -https://savannah.gnu.org/bugs/index.php?44129

ベストアンサー1

最終目標が何であるかについて、もう少し詳しく説明できますか? 「大規模なソリューション」に対する奇妙な要件があり、さらに奇妙な要件があるようです。一部のミニPCのインストールプロセスを簡素化しようとしていますか?

sdb OSでchrootできますか(アーキテクチャが異なる場合はqemuを使用することもできます)。もしそうなら、それが最善の選択でしょう。それ以外の場合は、grub-mkconfigスクリプトのソースコードを表示して、ニーズに合わせてカスタマイズできます。調整が難しくない関連コードを見ました。

おすすめ記事