アップデート2
さて、Grub2経由で動作するUSBを得ました。
まず、GPartedを使用してパーティション化されたテーブルを作成し、次のgpt
パーティションを作成しました。
exfat
- [残りスペース] Live CD ISOとファイル。 (GPartedがサポートしていないため、gnome-disk-utilityを使用して作成されました。)ntfs
- [5.50 GiB] Windows 10回復ISOファイルを抽出しました。fat16
- [100MiB] Grub2。
フォローするこれ答えパーティション番号の順序を正しい順序に変更するには?私はPS4がそれを見ることができないことを願ってfat16を使用します。そのため、マウントするパーティションを要求せずに自動的にexfatパーティションをマウントできますが、機能しません。私はfat16とfat32が唯一の互換性のあるGrub2 UEFIブート可能パーティションであることを知っています。
その後、Grub2をインストールします。 Grub2をインストールしたいパーティションをインストールしました。 「GRUB2」はGPartedの下にあるラベルで、「user」は私のXubuntuアカウント名です。
sudo grub-install --removable --boot-directory=/media/user/GRUB2/boot --efi-directory=/media/user/GRUB2
/media/user/GRUB2/boot/grub/grub.cfg
次に、次のエントリを使用してgrub.cfgを作成しました。
menuentry "Lubuntu Boot Recovery Live CD (AMD64)" {
insmod part_gpt
insmod exfat
insmod search_fs_uuid
set iso=/iso/boot-repair-disk-64bit.iso
search --no-floppy --set=root --fs-uuid 92AE-07D5
loopback loop ($root)$iso
linux (loop)/casper/vmlinuz.efi boot=casper file=/preseed/lubuntu.seed iso-scan/filename=$iso noprompt noeject
initrd (loop)/casper/initrd.lz
}
menuentry "Windows 10 Installer on SDB2 (AMD64)" {
insmod part_gpt
insmod ntfs
insmod search_fs_uuid
insmod chain
search --no-floppy --set=root --fs-uuid 13B187F260B1ACD6
chainloader ($root)/efi/boot/bootx64.efi
}
menuentry "Xubuntu Live CD (AMD64)" {
insmod part_gpt
insmod exfat
insmod search_fs_uuid
set iso=/iso/xubuntu-18.04.4-desktop-amd64.iso
search --no-floppy --set=root --fs-uuid 92AE-07D5
loopback loop ($root)$iso
linux (loop)/casper/vmlinuz boot=casper file=/preseed/lubuntu.seed iso-scan/filename=$iso noprompt noeject
initrd (loop)/casper/initrd
}
調べるのに時間がかかりましたが、私が理解したところによると。
insmod
- 次のモジュールをロードするために使用されます。おそらく2.02>ではこれは必要ないと思いますが、万が一の場合に備えて追加しました。便利なリストが見つかりました。ここ。set
- 変数を設定するために使用されます。search
- これは、一致するディレクトリ、パーティションのUUID、パーティション名などの特定の基準を検索し、--setの下の変数に保存します。
ループバック、Linux、initrd、preseed、およびチェーンローダが実際にどのように、何をしているのかわかりません。ところで、ファイルパスをコピーしましたが、拡張子が異なるか拡張子がない可能性があります。
私はこれまでに欲しいものすべてを達成しましたが、より複雑なスクリプトがなければ、ISOファイルからWindows 10 ISOを実行することは不可能だと思います。これはメニュー項目についてこれまでに書いたコードですが、うまくいきません。
menuentry "Windows 10 Installer (AMD64) (ISO) (Doesn't work)" --class windows --class os {
# Load module to be able to read GPT partition table.
insmod part_gpt
# Load module to read the partition that ISO is stored.
insmod exfat
# Load module to find partition with UUID.
insmod search_fs_uuid
# Load module to chain load to another EFI.
insmod chain
# Set UUID of partition that has ISO image and store it in variable.
set uuid="92AE-07D5"
search --no-floppy --set=root --fs-uuid $uuid
# Set ISO Directory.
set iso=/iso/win10-1909-english-x64.iso
# Mount ISO.
loopback loop ($root)$iso
# Boot ISO.
#chainloader (loop)/efi/microsoft/boot/cdboot.efi
chainloader (loop)+1
}
#chainloader (loop)/efi/microsoft/boot/cdboot.efi
以前はコメントなしで試してみましたが、chainloader (loop)+1
成功しませんでした。
残りの質問は、ISOファイルから起動するためにWindows 10インストールISOを起動する方法です。