USBフラッシュドライブにGrub 2を取り付ける

USBフラッシュドライブにGrub 2を取り付ける

マルチブートISOUSBフラッシュドライブにGrubを取り付けるためのツールです。 ISOファイルから起動でき、USBに複数のISOを入れて起動するISOを選択できるので、本当に気に入ります。

問題は、これがWindowsツールであり、コマンドラインを介して実行する方法がわからないことです。また、この方法でGrub(2)をインストールする方法も知りたいです。 Grub Legacyがより簡単なようです...

編集:ツールを要求するものではありません(確かにWindowsツールではありません)。同じ効果を得るには、どのコマンドを実行する必要があるかを知りたいです。私は今Ubuntuを考えていますが、USBからISOを起動するための普遍的な方法があれば良いでしょう。

答え1

これがどのように行われるのか疑問に思います。Pendrivelinuxのウェブサイトにはチュートリアルがあります。私はWebサイトで提案されたLive CDの代わりにMint 9のインストールを介してこれを行いました。

まず、端末でUSBドライブの位置を見つけ、df次を実行したときにデバイスの位置を返しました。

/dev/sdg1   /media/LINUXUSB

その後を追って走った

sudo su

次に grub 2 をインストールします。

grub-install --no-floppy --force --root-directory=/media/LINUXUSB /dev/sdg1

--forceをさらに使用する必要がありますが、ウェブサイトの例ではそうではありません。それから私はそうでした。

cd /media/LINUXUSB/boot/grub

ウェブサイトでは、grub.cfgのコピーを私のUSBドライブの/boot/grubディレクトリにダウンロードするためのリンクを提供しています。リンクは

wget http://pendrivelinux.com/downloads/grub.cfg

その後、USBドライブのISOを反映するようにgrub.cfgを編集しました。

set timeout=10 set default=0

menuentry "Run Fedora" {
    loopback loop /Fedora13.iso
    linux (loop)/isolinux/vmlinuz0 boot=isolinux iso-scan/filename=/Fedora13.iso splash --
    initrd (loop)/isolinux/initrd0.img
}

menuentry "Run Ubuntu" {
    loopback loop /ubuntu-10.04-netbook-i386.iso 
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-10.04-netbook-i386.iso splash --
    initrd (loop)/casper/initrd.lz
}

menuentry "Run Clonezilla" {
    loopback loop /clonezilla.iso
    linux (loop)/live/vmlinuz boot=live iso-scan/filename=/clonezilla.iso splash --
    initrd (loop)/live/initrd.img }

私は別のisosでvmlinuzとinitrdが別のディレクトリにあることを発見しました。 3つすべてを起動できましたが、実際にはUbuntuだけをロードできました。後で他の2つをロードするために必要なものがわかったら、それを追加します。私は他のisoを試したことがありませんでしたが、これら3つだけ試しました。

答え2

GRUB2ブートローダフルチュートリアルGRUB2を使用してマルチブート構成で起動するのに最適な場所です。
GRUBに慣れている場合は、すぐにスキップしてください。5番目の場所または六度音程部分。

スーパーユーザーに関する質問GRUBを使用したマルチブートシステムの設定
Ubuntuもあります。マルチオペレーティングシステムの起動コミュニティページでは、以前のバージョンのGRUBを使用することをお勧めします。

この技術は、コンピュータがフラッシュドライブから起動できる限り、フラッシュドライブでも機能します。
すでに私しばらくフラッシュドライブを使用してきました。

答え3

私はリムーバブルディスクのために動作するgrub.cfgを生成する方法を見つけようとして、インターネット上で数時間を費やしました。

最終的にスクリプトベースここ、作業スクリプトを作成しました(以下はgrub.cfgの内容です)。

### inputs ###
set UUID_ESP="E8C0-B8AE"
set UUID_ISO="c11f533e-a298-4381-950a-5d6d1f7f5907"
### end ###


search --no-floppy --set=ESP --fs-uuid $UUID_ESP # the address of the ESP
set ESP=($ESP) # add parentheses
echo "The address of the ESP is $ESP"
search --no-floppy --set=ISO_PART --fs-uuid $UUID_ISO # the address of the ISO partition
set ISO_PART=($ISO_PART) # add parentheses
echo "The partition on the flash drive with the iso is $ISO_PART"
echo "the prefix is $prefix" # GRUB folder with modules
sleep 5

insmod efi_gop
insmod font

if loadfont $ESP/boot/grub/fonts/unicode.pf2
then
        insmod gfxterm
        set gfxmode=auto
        set gfxpayload=keep
        terminal_output gfxterm
fi

menuentry "arch_linux_iso" {
        set ISOFILE="/archlinux-2019.10.01-x86_64.iso"
        loopback loop ${ISO_PART}${ISOFILE}
        linux (loop)/arch/boot/x86_64/vmlinuz img_dev=/dev/disk/by-uuid/$UUID_ISO img_loop=$ISOFILE
        initrd (loop)/arch/boot/intel_ucode.img (loop)/arch/boot/amd_ucode.img (loop)/arch/boot/x86_64/archiso.img
}

関連情報