Yo tengo el mismo problema.
Este el código de mi kernel:
[BITS 16]
jmp Start
GDT:
GDT_NULL:
dq 0
GDT_CODE:
dw 0FFFFh
dw 0
db 0
db 10011010b
db 11001111b
db 0
GDT_DATA:
dw 0FFFFh
dw 0
db 0
db 10010010b
db 11001111b
db 0
GDT_END:
GDT_DESC:
db GDT_END - GDT
dw GDT
Start:
cli
mov ax, ax
mov ds, ax
lgdt [GDT_DESC]
mov eax, cr0
or eax, 1
mov cr0, eax
jmp 08h:ProtectedMode
[BITS 32]
ProtectedMode:
jmp $
Cuando lo ejecuto en VirtualPC, me aparece un mensaje que dice: "Error irrecuperable del procesador". Alguien me podría explicar porque no funciona.