HyperV上的Linux虚拟机启动报panic_early_exception错误

在Windows Server 2012服务器上的HyperV安装的Oracle Linux 6.4版本,在增加内存容量后(有16G升至30G),操作系统无法启动。黑屏并报"PANIC: early exception 06 rip 10:ffffffff81c4b4ae error 0 cr2 0"。本文将介绍如何解决这个问题。

寻找原因

首先在网上搜索答案,找到的说法都指向Numa设置。Numa按我的理解可以认为,将多核的CPU按核同内存区域进行绑定,减少内存使用竞争,HyperV中虚拟机也默认开启了Numa功能。

具体关于Numa的介绍,可以参照微软官网上的介绍。

操作实现

  • 先在HyperV上将虚拟机的内存设置成为动态内存。然后可以正常启动虚拟机。

  • 直接修改/boot/grub/grub.conf文件。在kernel所在行的最后增加numa=off选项。

title Oracle Linux Server Red Hat Compatible Kernel (2.6.32-358.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=/dev/mapper/vg_oraclerac1-lv_root rd_LVM_LV=vg_oraclerac1/lv_swap rd_NO_LUKS rd_LVM_LV=vg_oraclerac1/lv_root LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet numa=off
  • 随后关闭操作系统,在HyperV上将内存再设置为静态内存,最后正常启动系统。
上一篇:Javascript高级编程学习笔记(15)—— 引用类型(4)RegExp类型


下一篇:纯JS实现可拖拽表单