업데이트 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를 시작하는 방법입니다.