Linuxでは、GRUB 2 Bootloaderを使用してこのトピックについて理解しようとしました--config=
。grub-mkimage
man 1 grub-mkimage
-c, --config=FILE
FILEを次に挿入早い構成
私の最初の推測は/boot/grub/grub.cfg
-> でしたが、このファイルをビルドする別のコマンドがあり、その推測から抜け出すようになりました。もう一つの推測は/boot/config-3.16.0-4-686-pae
(file
:「Linux make config build file、ASCII text」)の出力です。私が見つけた他のファイルはASCIIではなくバイナリでしたが、その可能性はほとんどありません。
質問:どのファイルまたはファイル形式を意味しますか?
修正する:これを見つけたGRUB 2 に関する gnu.org ドキュメント、GRUBプロンプトのコマンドで:
configfile file
FILEを構成ファイルにロードします。 FILEこのメニュー項目を定義すると、その項目を含むメニューがすぐに表示されます。
おそらく同じファイルですか?興味深い点は、オンラインマニュアルにこのオプションが記載されていないようです。
アップデート2:出力で次の行を見つけます。grub-mkrescue --output grub.iso --verbose
grub-mkrescue: 情報: grub-mkimage --directory '/usr/lib/grub/i386-pc' --prefix '/boot/grub' --output '/tmp/grub.ZiXwO6/boot/grub/i386- pc/eltorito.img' --format 'i386-pc-eltorito' --圧縮 '自動'--config '/tmp/grub.UtCj8W'「バイオディスク」「iso9660」
だから--config '/tmp/grub.UtCj8W'
除外..なんか/boot/grub/grub.cfg
?いいえ、grub-install
詳細な出力が有効な状態で実行されたときに構成について何も見つかりませんでした。
アップデート3:man 1 grub2-mkstandalone
開いてman 3 grub2-mkstandalone
いますが、発行するとman 3 grub2-mkstandalone
エラーメッセージが表示されます。また:grub-mkimage --config=
マニュアルページにのみ表示されるようですが、出力--help
や--usage
出力には表示されません。
答え1
grub-mkimage
grub
必要に応じて他のすべてが構築される重要なコアです。たとえば、grub-[install,mkstandalone,mkrescue]
それはすべて使い方を意味するので、grub-mkimage
一度grub-mkimage
理解するとすべてが簡単に見えます。
grub-mkimage
構成ファイルをイメージに「接続」する方法は2つあります。
オプション
-c
、--config=File
(初期設定で組み込まれたFILE)オプション
-m
、--memdisk=file
(ファイルを次に含めるストレージディスク最終設定ファイルを含む)
例: 組み込み構成[$prefix]/boot/grub/[x86_64-efi/]grub.cfg
これストレージディスクさまざまなモジュールが「使用可能」になっているファイルシステムをgrub
備えた仮想ディスクデバイスです。つまり、直接ロードできます。ただし、オプションのように「プリロードされたモジュール」と直接呼び出されることはありません(最後のモジュールはLinuxオペレーティングシステムにロードされたドライバに似ています)。tarfs
insmod
--modules="blah blah...:"
initramfs
この主張を最もよく示すのは、1行のコマンドを使用してaをlivecd_only_biosPC_awared
aに再マスターすることです。livecd_isohybrid_bios_and_efi_awared
xorriso -osirrox on -indev TinyCorePure64-6.0.iso -outdev new.iso \
-cpr efime.img /boot -- \
-rm /boot/isolinux/boot.cat -- \
-mkdir /.disk /boot/grub -- \
-cpr grub.cfg /boot/grub -- \
-cpr info /.disk/info -- \
-as mkisofs -graft-points -volid "tinyefi" -r -J -l -eltorito-boot boot/isolinux/isolinux.bin -eltorito-catalog boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -isohybrid-mbr /usr/lib/syslinux/isohdpfx.bin -eltorito-alt-boot -e boot/efime.img -no-emul-boot -isohybrid-gpt-basdat
どこ
- ftp://ftp.nluug.nl/pub/os/Linux/distr/tinycorelinux/6.x/x86_64/archive/6.0/TinyCorePure64-6.0.iso
grub.cfg
isolinux.cfg
オリジナルライブISOを再現するための簡単な構成です。ブートローダは次の
efime.img
ように取得されます。grub-mkimage -m memdisk -O x86_64-efi -o grubx64.efi --compression=xz disk part_msdos part_gpt linux linux16 loopback normal configfile test search search_fs_uuid search_fs_file true iso9660 test search_label efi_uga efi_gop gfxterm gfxmenu gfxterm_menu fat ext2 ntfs cat echo ls memdisk tar
最も単純なストレージディスク最初に含まれていた設定ファイルが含まれています
(memdisk)/boot/grub/grub.cfg
。
これらすべては、grub-mkBootx64.efi @sourceforge.net/projects/toysboxで練習を通じてまもなく提供される予定です。
答え2
GRUBは、構成ファイルをコアイメージに直接挿入して、通常モードに入る前にロードするのをサポートします。たとえば、実際の構成ファイルが直接見つからない場合や、ファイルのロードに関する問題をデバッグする必要がある場合に便利です。
...
設定ファイルを含めるには、.を使用します-c
。grub-mkimage
...
含まれている
設定ファイルにはメニュー項目を直接含めることはできませんが、config file
[the] [コマンド]を使用して他の場所からのみ読み取ることができます。
このため、この--config
オプションは、通常のジョブが開始される前にgrubを初期化するのに役立つコマンドを含む構成ファイルを含めるためです。メニューgrub.cfg
項目全体を含める意図はありません。