現在、YumiのUEFIプログラムを使用してドライブを作成し、UEFIのマルチブートUSBを作成していますが、最近はBIOSも必要です。これら2つを1つのドライブに組み合わせる方法はありますか?基本的にUEFIとBIosをサポートしていますか?または、2つの異なるUSBが必要ですか?ありがとう!
( UEFIマシンでgrub2を使用してドライブからISOファイルを起動するにはどうすればよいですか? )
GParted
USBスティック上にgptパーティションテーブルを作成します。
上記のようにパーティションを作成し、パーティション2に未フォーマットを選択します。
casper-rwファイルを作成します。
Sudo dd if=/dev/zero of=casper-rw bs=1M count=512
Sudo mkfs.ext3 -L casper-rw -F casper-rw
(どこ count=512
は、永続性のサイズ(メガバイト単位、最大4 GB)です。
永続パーティション
USB-PRSTパーティションに、OSごとに(永続化が必要な)一意の名前のフォルダーを作成します。
Casper-rwファイル(およびオプションのhome-rwファイル)を各永続フォルダーに追加します。 home-rwファイルは、casper-rwファイルの名前を変更することで作成できます。 home-rwファイルは、フルインストールの個別のホームパーティションのようなもので、バージョンのアップグレード後に再利用できます。
データパーティション
NTFS USB-DATAパーティションにISOファイル用のフォルダーを作成します。
ISOをisosフォルダに追加します。
ブートパーティション
最新のISOファイルを開き、bootフォルダーとEFIフォルダーをUSB-BOOTパーティションにコピーします。追加 rmmod tpm
最初のメニューエントリの上にあるgrub.cfgに
GRUBをインストールする
Sudo mount /dev/sdx3 /mnt
Sudo grub-install --boot-directory=/mnt/boot /dev/sdx
ISOファイルをループマウントするようにgrub.cfgを編集します。含める:persistent persistent-path=/<persistent-folder-name>/
複数の永続化が必要な場合。
if loadfont /boot/grub/font.pf2 ; then
set gfxmode=auto
insmod efi_gop
insmod efi_uga
insmod gfxterm
terminal_output gfxterm
rmmod tpm
fi
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
set timeout=5
menuentry "ubuntu-19.10-desktop-AMD64.iso" {
set root=(hd0,1)
set isofile="/isos/ubuntu-19.10-desktop-AMD64.iso"
loopback loop $isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile persistent persistent-path=/persist-1/ splash --
initrd (loop)/casper/initrd
}
menuentry "lubuntu-16.04.3-desktop-AMD64.iso" {
set root=(hd0,1)
set isofile="/isos/lubuntu-16.04.3-desktop-AMD64.iso"
loopback loop $isofile
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile persistent persistent-path=/persist-2/ splash --
initrd (loop)/casper/initrd.lz
}
Grub.cfgの例
Sudo parted -ls/dev/sdx
Sudo lsblk -f/dev/sdx
上記をUSBスティックとして使用すると、Windowsのみのコンピューターに保存されているISOを起動できます。内蔵ドライブにGrubは必要ありません。
安全のために、2つのUSBを使用します。1つはインストールを実行し、もう1つはインストールします。
USBをFATでフォーマットします。
パッケージgrub-efi-AMD64
およびgrub-pc-bin
をインストールします。
USBを差し込み、デバイスをメモし、「/dev/sdb
」と言い、マウントポイントを「/media/user/USB
」と言います。
chroot
を作成します。
dirs=(dev bin sbin etc sys usr proc lib lib64)
for dir in ${dirs[@]}; do
mkdir /media/user/USB/$dir && Sudo mount --bind /$dir /media/user/USB/$dir
done
Sudo chroot /media/user/USB/
Chrootに入ったら、次のコマンドを実行します。
grub-install --force --removable --target=x86_64-efi --efi-directory=/ /dev/sdb1
grub-install --force --removable --target=i386-pc --boot-directory=/ /dev/sdb
exit
次に、ディレクトリをアンマウントして削除します。
for dir in ${dirs[@]}; do
Sudo umount /media/user/USB/$dir && rm /media/user/USB/$dir
done
IsosをUSBにコピーします。
USBで、ファイル/grub/grub.cfg
を作成し、コンテンツを追加します。
set root='(hd0,1)'
configfile /boot/grub/grub.cfg
DebianとKaliをブートするには、この例では(ダウンロードした内容に応じてisosの名前を変更する必要があります)、/boot/grub/grub.cfg
に追加します。
set root='(hd0,1)'
menuentry "Kali Live system" {
set iso_path=/kali-linux-2020.1b-live-i386.iso
loopback loop $iso_path
linux (loop)/live/vmlinuz-5.4.0-kali2-686-pae boot=live components quiet splash noeject findiso=${iso_path}
initrd (loop)/live/initrd.img-5.4.0-kali2-686-pae
}
menuentry "Debian GNU/Linux Live (kernel 4.19.0-8-686)" {
set iso_path=/debian-live-10.3.0-i386-xfce.iso
loopback loop $iso_path
linux (loop)/live/vmlinuz-4.19.0-8-686 boot=live findiso=$iso_path components splash quiet "${loopback}"
initrd (loop)/live/initrd.img-4.19.0-8-686
}
thisこれはマシンのOSで実行できますが、誤ってシステムに害を及ぼす可能性のあるコマンドがいくつかあります。