根据我的理解,AWS EC2使用Xen作为基础技术,Xen虚拟机加载EC2的AMI内核来启动实例。
因此,在EC2实例中,我升级内核版本(例如,从3.10升级到3.14),然后重新引导并使用uname -a确认新内核(3.14)正在运行。
尽pipe已经发生了内核升级,但是EC2实例仍然与较低内核版本的原始AMI相关联。
我的问题是:
这可能会部分回答你的问题。 创建实例时,可以选择内核ID如下:

如果你没有选择一个不同的内核,它将会在上面的屏幕截图中显示默认的内核ID。
EC2的Xen基金会使用新内核来启动实例吗?
不,不。 它引导我们与实例相关的内核,即aki-xxxxxxxx。 它基本上忽视了任何可能在你的根卷的/ boot目录中的东西。 这种行为与将内核映像放在单独的分区上并没有太大区别,并且始终从该分区启动内核。 (例如,我在Chromebook上启动Ubuntu时执行此操作)
如果不操作实例的AMI,是否可以使用升级提供的新内核功能(如新的系统调用)?
没有。一旦你的内核启动了aki-xxxxxxxx内核,它就可以使用这个内核的特性和系统调用。 尽管大多数功能和系统调用都可用,因为特定的aki-xxxxxxxx内核需要与您的特定实例兼容。 所以对于Ubuntu 12.04 LTS,你可能想要使用内核3.2或更高版本,因为2.6内核将无法工作。
另外,这也意味着当选择aki-xxxxxxxx内核时,您需要小心,选择一个与您的特定操作系统兼容的内核。
如果你想使用自己的内核,你应该看看PV-GRUB: http : //docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedcoreels.html