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-mkimage
EFI / BOOTに入れて、grub.cfg
TinyCoreからカーネルとRAMディスクをダウンロードし、これら2つのファイルを(hd0,2)
。
これで、ロードできる場所とロードできる場所qemu
に移動できます。ファイルを読み込むように見え、ファイルを表示することもできます。しかし、私が必要とするのは、入力してカーネルのロードを確認するだけで何も起こらないようです。入力するだけで動作が止まり、私ができることは再起動だけです。Grub
linux /vmlinuz
ls
boot
boot
この段階では正常に起動できない可能性がありますが、少なくとも起動時に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/