efi의 grub은 커널을 로드하지만 부팅하지 않습니다.

efi의 grub은 커널을 로드하지만 부팅하지 않습니다.
insmod normal
insmod btrfs
insmod part_gpt

set root=(hd0,2) 

menuentry 'Ubuntu' {
        linux /boot/vmlinuz root=/dev/sda2 ro
        initrd /boot/core.gz
        boot
}

안녕하세요. EFI 부팅 설정을 수동으로 수행하는 방법을 배우고 있습니다!

나는 좋은 진전을 이루었고 EFI 파티션을 만든 다음 create bootloader를 사용하여 grub-mkimageEFI/BOOT에 넣은 다음 grub.cfgTinyCore에서 커널과 램디스크를 다운로드하고 이 두 파일을 (hd0,2).

이제 로드할 수 있고 로드할 수 있는 곳 qemu으로 이동할 수 있습니다. 파일을 로드하는 것처럼 보이며 파일을 볼 수도 있습니다. 하지만 내가 필요한 것은 입력 하고 커널 로드를 확인하는 것 뿐이고 아무 일도 일어나지 않는 것 같습니다 . 입력만 하면 작동이 멈추고 내가 할 수 있는 것은 재부팅뿐입니다.Grublinux /vmlinuzlsbootboot

이 단계에서 성공적으로 부팅하지 못할 수도 있다는 것을 알고 있지만 적어도 부팅 시 IRQ 설정, 감지된 장치 등에 대한 일부 메시지가 커널로부터 수신될 것으로 예상합니다.

나의 다음 단계는 무엇입니까?

Qemu 명령줄:

qemu-system-x86_64 -display sdl -vga std -accel kvm -m 8000 \
    -drive format=raw,file=/dev/sda -bios /mnt/boot.flash -smp 2

답변1

/mnt/boot.flash당신의 파일은 무엇입니까?

UEFI를 부팅할 때 또는 같은 형식이어야 하며 /usr/share/ovmf/OVMF.fd호스트 시스템에서 이미 사용 가능하거나 이름이 유사한 패키지에 설치되어 있을 수 있습니다 /usr/share/qemu/OVMF.fd.ovmf

바라보다:https://www.ubuntubuzz.com/2021/04/how-to-boot-uefi-on-qemu.html

가상 머신에서 UEFI NVRAM 부팅 변수를 유지하려면 다음 옵션을 사용할 수도 있습니다 -pflash.

qemu-system-x86_64 -display sdl -vga std -accel kvm -m 8000 \
    -drive format=raw,file=/dev/sda -bios /usr/share/ovmf/OVMF.fd \
    -pflash /some/writeable/location/OVMF_VARS.fd -smp 2

운이 좋으면 패키지 OVMF_VARS.fd가 설치한 파일에 샘플 파일이 포함되어 있을 수도 있지만 ovmf그렇지 않은 경우 UEFI 펌웨어가 자동으로 초기화할 수 있다는 가정 하에 약 528K 정도의 빈 파일을 만들어 사용해 볼 수 있습니다. 올바르게 초기화되지 않은 경우 변수 저장소입니다.

바라보다:https://joonas.fi/2021/02/uefi-pc-boot-process-and-uefi-with-qemu/

관련 정보