使用grub2引導multiboot核心

2021-06-18 16:52:34 字數 833 閱讀 1279

grub2中直接提供了multiboot和multiboot2命令,可分別用於引導符合multiboot v1規範和multiboot v2規範的核心。

最小multiboot核心

原始碼包中使用的是syslinux引導的硬碟映象,可使用run.sh進行qemu**。

linker.ld內容如下:

entry (start)

sections

.rodata align (0x1000) :

.data align (0x1000) :

.bss :

}makefile內容如下:

cc=gcc -m32 -march=i386 -i. -wall -wextra -nostdlib -fno-builtin -nostartfiles -nodefaultlibs

ld=ld -m elf_i386

objfiles = boot.o kernel.o

all: kernel.bin

.s.o:

$(cc) $(cflags) -o $@ -c $<

.c.o:

$(cc) $(cflags) -o $@ -c $<

kernel.bin: $(objfiles)

$(ld) -t linker.ld -o $@ $^

clean:

$(rm) $(objfiles) kernel.bin

配置grub2引導

在grub2的配置檔案grub.cfg中新增乙個引導項,然後在引導項裡新增如下內容:

multiboot /kernel.bin

其中的請用替換成kernel.bin所在目錄。

GRUB2引導修復

本來是想把 grub2裝到 u盤,卻不小心把電腦的 grub搞壞了。原因可能是我執行命令 grub install時沒有加任何引數,由於不知道沒有引數怎麼執行,我趕緊 ctrl c終止了安裝,最後重啟後發現系統無法啟動,進入了 grub rescue模式。慶幸的是,重啟之前我成功給 u盤裝了 gru...

Grub2 製作UEFI版本Grub2引導

首先要從grub官網下在grub2,grub2中包含所有grub2相關的命令,可以用來生成grub2引導,這裡著重介紹製作uefi版本的grub2 uefi啟動是fat fat32分割槽 efi boot bootia32.efi或者 efi boot bootx64.efi,然後程序由uefi交給...

使用grub2引導進入Linux或Window系統

很多人在一通爛搞之後把自己的grub搞崩了 比如我當時手賤刪除了boot分割槽 雖然後來又裝了grub,但是進入grub後還是沒有引導,只有乙個孤零零的命令列介面 這時候應該怎麼辦呢?首先當然是想進入系統對grub進行配置,但是怎麼進入呢,其實只要幾行命令就能解決啦 上網查詢發現 如果系統中止於 g...