内核恐慌 – 不同步:试图杀死初始化(从物理机器的VM镜像)

我有一台CentOS 5.4 x86_64机器,我用以下命令对主分区进行映像,以便我可以在本地机器的虚拟机上运行它进行testing。

#dd bs=1024 count=10482412 if/dev/sda of/mnt/storage/sda.img 

然后我使用以下命令将图像转换到本地机器上:

 #VBoxManage convertdd sda.img sda.vmdk --format VMDK --variant Standard 

我创build了一个新的虚拟机,并将其作为硬盘加载。 我用Cent OS 5.4 x85_64安装DVD引导进入救援模式。 我chrooted到图像,并重新安装grub通过执行以下操作:

 #mount --bind /proc /mnt/disks/sda1/proc #mount --bind /dev /mnt/disks/sda1/dev #mount --bind /sys /mnt/disks/sda1/sys #chroot /mnt/disks/sda1 #grub-install hd0 

然后我重新启动了VM,grub显示了3个select。 我已经尝试了所有3个,每次都会发生内核恐慌。 它开始启动,然后从3个选项中的每一个中得到以下消息:“内核恐慌 – 不同步:试图杀死init!

我不知道该怎么做才能正常启动

大多数情况下initrd映像是无效的,当映像产生switchroot时,path必定有问题。 一个常见原因是所有的驱动程序都没有加载到initrd中,因此没有检测到硬盘驱动器。 你能提供:

a)grub.conf输出

b)虚拟磁盘上的/etc/modprobe.conf的内容? 我build议的补救措施是重复你的

 #mount --bind /proc /mnt/disks/sda1/proc #mount --bind /dev /mnt/disks/sda1/dev #mount --bind /sys /mnt/disks/sda1/sys #chroot /mnt/disks/sda1 

然后从chrooted环境运行mkinitrd,但在modprobe.conf文件中使用固定的别名scsi_hostadapter xxxx行。

VM主机是否肯定支持64位客户端? VMWare至less不支持旧版AMD CPU和不支持VT的英特尔CPU(并且一些相当新的英特尔芯片没有VT)支持64位客户机。 您可以使用英特尔的列表http://ark.intel.com/VTList.aspx或使用像CPU-Z这样的工具检查支持。

如果这是你的问题的原因,我会期望引导失败很早。 在你的问题中指出在错误之前显示的最后几件事是一个好主意。