进入保护模式时 VirtualBox Guru 冥想错误

问题描述 投票:0回答:3

我正在使用 VirtualBox 来模拟 x86 电脑。我编写了一个进入保护模式的引导加载程序。但我总是遇到古鲁冥想错误。这是我的代码:

; clear interrupts
cli
; set up gdt
xor eax, eax
mov ax, ds
shl eax, 4
add eax, gdt
mov [gdtr + 2], eax
mov eax, gdt_end
sub eax, gdt
mov [gdtr], ax
lgdt [gdtr]
; enter protected mode
mov eax, cr0
or  al, 1
mov cr0, eax
; enter kernel
jmp 08h:0

我还测试了 jmp 0x2000:0000 但这也不起作用。我做错了什么?

PS:这是我的 GDT 代码:

; global descriptor table
gdt:
dq 0 ; null descriptor

; code descriptor kernel
dw 0x0000 ; base low word
dw 0x4000 ; limit low word
db 0x00   ; base high byte
db 0x40   ; flags
db 0x9A   ; access byte
db 0x02   ; base center byte

; data descriptor kernel
dw 0x0000 ; base low word
dw 0x4000 ; limit low word
db 0x00   ; base high byte
db 0x40   ; flags
db 0x92   ; access byte
db 0x02   ; base center byte
gdt_end:
assembly x86 virtualbox
3个回答
0
投票

根据我使用 CentOS-6.5 的经验 Guru Meditation 错误 当您的应用程序需要更多的 ram 大小而不是分配的 ram 大小或 CPU 使用率超过 100% 时就会出现。 因此,增加分配的 RAM 大小是解决问题的方法之一


0
投票

关闭所有正在运行的虚拟机,然后从 BIOS 禁用虚拟化。然后重新启动。然后从BIOS中启用虚拟化。重启。 它对我有用


0
投票

我最近解决了降级主机内核的错误。

© www.soinside.com 2019 - 2024. All rights reserved.