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からカーネルとRAMディスクをダウンロードし、これら2つのファイルを(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.fdovmf

望むより: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/

おすすめ記事