回答:
はい、メニュー項目をGRUB
ブートローダーメニューに追加することでこれを実現できます。
を編集して/etc/grub.d/40_custom
、カスタムGRUBメニューエントリを追加できます。
カスタムメニューエントリの例:
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Trisquel ISO" {
set isofile="/Operating_Systems/Trisquel_7.0_i686/trisquel_7.0_i686.iso"
loopback loop (hd0,5)$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash
initrd (loop)/casper/initrd
}
指示と説明:
このコマンドset
は、ISOファイルのパスを変数(ここでは)に格納するために使用されますisofile
。
loopback
ファイルシステムイメージからデバイスを作成するために使用されます。そのためには、デバイスとイメージファイルを指定する必要があります。ここでは、ディスクの5番目のパーティション(hd0,5)$isofile
を(hd0,5)
表すを使用しています。
linux
コマンドは、ファイルからLinuxカーネル(vmlinuz)をロードするために使用されます。LinuxカーネルのパスをISOに入れます。
ISOの内容を読み取り/抽出して、カーネルの例のパスを取得します。
$ 7z l trisquel_7.0_i686.iso | grep vmlinu
2014-10-29 21:41:43 ..... 5841680 5841680 casper/vmlinuz
2014-11-03 00:45:09 ..... 5844176 5844176 casper/vmlinuz.netinst
なので、/casper/vmlinuz
ここで使用されました。
initrd
コマンドは、Linuxカーネルイメージの初期RAMディスクをロードし、メモリ内のLinuxセットアップ領域に適切なパラメータを設定するために使用されます。
initrd
ISOに入れます。ISOのコンテンツを読み取り/抽出して、次のパスを取得しますinitrd
。
$ 7z l trisquel_7.0_i686.iso | grep initrd
2014-11-03 00:45:19 ..... 16851900 16851900 casper/initrd
2014-11-03 00:45:09 ..... 9398592 9398592 casper/initrd.netinst
などの追加パラメーターはboot=casper iso-scan/filename=$isofile noprompt noeject
、GNU / Linuxディストリビューションに固有であり、Linuxの別のファミリーによって異なる場合があります。ここから、さまざまなファミリ/ディストリビューションの構成を見つけることができます。
注:一部のディストリビューションではinitrd.gz
、initrd.lz
使用されるアルゴリズム/圧縮が使用されます。
編集後/etc/grub.d/40_custom
、update-grub2
コマンドでGRUBを更新する必要があります。再起動すると、GRUB画面に追加したカスタムメニューエントリが表示されます。また、GNU / LinuxディストリビューションのLive環境を使用することもできます。
ISOからのインストールを実行するために、インストーラーはマウントされたパーティションをアンマウントする必要がある場合があります。つまり、別のシステムがにマウントされている/isodevice
としますumount -l /isodevice
。