멀티부팅 ISO USB 드라이브를 설정하려고 하는데 ISO 파일을 부팅할 때 오류 메시지가 나타납니다.
내가 아는 한 루프백 장치는 올바르게 구현되어 있습니다. 그렇지 않으면 iso가 부팅되지 않습니다. 그러나 올바른 경로를 찾을 수 없습니다.
왜 그런지 이해가 안 돼요.
루핑 장치에 더 많은 옵션이 필요할 수도 있고, GUBB2에 일부 모듈이 필요할 수도 있습니다.
1. "KDE 네온 GNU/Linux(.iso)"가 문제 없이 시작됩니다.
2. "Arch Linux (.iso)"는 다음과 같은 오류 메시지를 표시합니다.
시작 명령 목록
오류: 해당 모듈이 없습니다.
계속하려면 아무 키나 누르세요…
Enter 키를 누르면 다음과 같은 일이 발생합니다
부팅 장치를 기다리는 중...
/dev/disk/by-label/ARCH_202211 장치를 30초 동안 기다리는 중...
오류: '/dev/disk/by-label/ARCH_202211' 장치가 30초 후에 표시되지 않았습니다. 대화형 프롬프트 로 돌아갑니다
.
3. "Windows 10(.iso)"에서는 해당 파일을 찾을 수 없습니다.
시작 명령 목록
오류: 해당 모듈이 없습니다.
오류: '/efi/boot/bootx64.efi' 파일을 찾을 수 없습니다.
계속하려면 아무 키나 누르십시오...
iso의 압축을 풀고 파티션에 직접 복사하면 다음 명령(grub.cfg)을 사용하여 Windows가 문제 없이 부팅됩니다.
search.fs_uuid 2222-UUID-2222 root hd0,gpt1
set prefix=($root)'/grub'
configfile $prefix/grub.cfg
menuentry 'Windows 10' {
chainloader (${root})/efi/boot/bootx64.efi
}
내 구성
USB 드라이브:
fdisk -l /dev/sdb && lsblk -pf /dev/sdb
Disk /dev/sdb: 7.48 GiB, 8021606400 bytes, 15667200 sectors
Disk model: USB storage device
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 0000-UUID-0000
Device Start End Sectors Size Type
/dev/sdb1 2048 206847 204800 100M EFI System
/dev/sdb2 206848 15667166 15460319 7.4G Microsoft basic data
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
/dev/sdb
├─/dev/sdb1 vfat EFI 1111-UUID-1111
└─/dev/sdb2 ntfs BOOT 2222-UUID-2222
설명에 따라 USB 드라이브를 설치했습니다.GNU GRUB 매뉴얼
grub-install --efi-directory=/mnt/EFI --boot-directory=/mnt/BOOT --removable
그럽.cfg:
search.fs_uuid 2222-UUID-2222 root hd0,gpt2
set prefix=($root)'/grub'
configfile $prefix/grub.cfg
menuentry "KDE neon GNU/Linux ISO" {
rmmod tpm
set isofile="/KDEneon.iso"
loopback loop (${root})/$isofile
linux (loop)/casper/vmlinuz boot=casper apparmor=0 iso-scan/filename=$isofile noprompt noeject lang=en locale=de_DE.UTF-8
initrd (loop)/casper/initrd
}
menuentry "Arch Linux ISO" {
rmmod tpm
set isofile="/ArchLinux.iso"
loopback loop (${root})/$isofile
search --no-floppy --set=root --label ARCH_202211
linux (loop)/arch/boot/x86_64/vmlinuz-linux archisobasedir=arch archisolabel=ARCH_202211 iso-scan/filename=$isofile noprompt noeject lang=en locale=de_DE.UTF-8
initrd (loop)/arch/boot/intel-ucode.img (loop)/arch/boot/amd-ucode.img (${root})/arch/boot/x86_64/initramfs-linux.img
}
menuentry 'Windows 10 ISO' {
rmmod tpm
set isofile="/Windows10.iso"
loopback loop (${root})/$isofile
chainloader (loop)/efi/boot/bootx64.efi iso-scan/filename=$isofile noprompt noeject
}
menuentry 'Windows 10 Extracted' {
chainloader (${root})/efi/boot/bootx64.efi
}
#menuentry 'memtest' {
#
#}
menuentry 'UEFI Settings' --class uefi {
fwsetup
}
menuentry "Restart" --class reboot {
reboot
}
menuentry "Power Off" --class halt {
halt
}
- - 편집하다- -
USB 드라이브에 DD가 포함된 ArchLinux.iso를 설치했는데 드라이브는 아래와 같습니다.
sudo dd if=/home/anonymus/Downloads/ArchLinux.iso of=/dev/sdb status=progress
fdisk -l /dev/sdb && lsblk -pf /dev/sdb && 고양이
Disk /dev/sdb: 7.48 GiB, 8021606400 bytes, 15667200 sectors
Disk model: USB storage device
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0000-UUID-0000
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 64 1570815 1570752 767M 0 Empty
/dev/sdb2 1570816 1601535 30720 15M ef EFI (FAT-12/16/32)
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
/dev/sdb iso9660 ARCH_202211 2022-11-01-13-53-46-00
├─/dev/sdb1 iso9660 ARCH_202211 2022-11-01-13-53-46-00 0 100% /mnt/ARCH_202211
└─/dev/sdb2 vfat ARCHISO_EFI 55DC-6BC5
아치 리눅스 grub.cfg
# Load partition table and file system modules
insmod part_gpt
insmod part_msdos
insmod fat
insmod iso9660
# Use graphics-mode output
insmod all_video
insmod font
if loadfont "${prefix}/fonts/unicode.pf2" ; then
insmod gfxterm
set gfxmode="auto"
terminal_input console
terminal_output gfxterm
fi
# Enable serial console
if serial --unit=0 --speed=115200; then
terminal_input --append serial
terminal_output --append serial
fi
# Set default menu entry
default=archlinux
timeout=15
timeout_style=menu
# GRUB init tune for accessibility
play 600 988 1 1319 4
# Menu entries
menuentry "Arch Linux install medium (x86_64, UEFI)" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' {
set gfxpayload=keep
search --no-floppy --set=root --label ARCH_202211
linux /arch/boot/x86_64/vmlinuz-linux archisobasedir=arch archisolabel=ARCH_202211
initrd /arch/boot/intel-ucode.img /arch/boot/amd-ucode.img /arch/boot/x86_64/initramfs-linux.img
}
menuentry "Arch Linux install medium with speakup screen reader (x86_64, UEFI)" --hotkey s --class arch --class gnu-linux --class gnu --class os --id 'archlinux-accessibility' {
set gfxpayload=keep
search --no-floppy --set=root --label ARCH_202211
linux /arch/boot/x86_64/vmlinuz-linux archisobasedir=arch archisolabel=ARCH_202211 accessibility=on
initrd /arch/boot/intel-ucode.img /arch/boot/amd-ucode.img /arch/boot/x86_64/initramfs-linux.img
}
if [ "${grub_platform}" == "efi" ]; then
if [ "${grub_cpu}" == "x86_64" ]; then
menuentry "UEFI Shell" {
insmod chain
search --no-floppy --set=root --label ARCH_202211
chainloader /shellx64.efi
}
elif [ "${grub_cpu}" == "i386" ]; then
menuentry "UEFI Shell" {
insmod chain
search --no-floppy --set=root --label ARCH_202211
chainloader /shellia32.efi
}
fi
menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' {
fwsetup
}
fi
menuentry "System shutdown" --class shutdown --class poweroff {
echo "System shutting down..."
halt
}
menuentry "System restart" --class reboot --class restart {
echo "System rebooting..."
reboot
}