在32位Ubuntu中安装64位内核

我想使用仅在64位中可用的应用程序,但我的Ubuntu安装是32位。 该应用程序是专有的,所以我甚至无法重新编译它为32位。

我已经读过,如果我的内核是64位,我应该可以在32位Ubuntu中运行64位应用程序。 根据我的阅读,这应该与“MultiArch”支持相当平滑,我应该在我的版本(14.04)中。 但我无法弄清楚如何安装64位内核。

我的处理器似乎支持64位,因为“lm”出现在grep flags /proc/cpuinfo的输出中

我已经看到了一些关于将整个系统升级到64位的问题,但这些问题都倾向于归结为“只是进行全新安装”。 我想避免重新安装,如果可以的话:我有很多配置,我不想找到并重复,而且我已经在我的旧硬件上阅读了相同少量的RAM,完整的64位系统可能会使用足够的额外内存,因此会陷入困境。

我注意到旧内核版本一直存在,直到我删除它们,所以如果我可以安装64位内核,我认为如果出现问题我可以再次启动到32位内核。

我找到了一个从安装64位内核[1]开始升级Debian系统的指南,但其中的说明对我不起作用:

 $ sudo dpkg --add-architecture amd64 $ sudo apt-get update $ sudo apt-get install linux-image-amd64:amd64 

前两个命令似乎完成正常,但install命令给出:

 Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package linux-image-amd64 

难道我做错了什么? 错过了一步? 毕竟我应该完全安装吗?


 $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.1 LTS Release: 14.04 Codename: trusty 

[1] http://www.ewan.cc/?q=node/90

该错误表明Ubuntu不提供名为“linux-image-amd64”的软件包。

我推测这是因为您选择shell命令的指南已经为Debian安装编写了。 事实上,如果你在debian.org上搜索这个软件包,你会得到一个积极的结果 。 如果您在http://packages.ubuntu.com/上输入此包名称,则情况并非如此

最后一个命令应该是

 sudo apt-get install linux-image-generic:amd64 

或者(如果你真的关心延迟)

 sudo apt-get install linux-image-lowlatency:amd64 

请注意,将删除32位内核。 此外,还将安装一些64位用户空间库。 要在不实际触及系统的情况下查看apt-get将对您的系统执行的操作,请使用这些选项运行apt-get

 sudo apt-get -Vs install linux-image-generic:amd64 

如果要将32位内核保留为后备,请安装不同的内核映像,例如14.04(代号:trusty)尝试:

 sudo apt-get install linux-generic-lts-trusty:amd64 sudo apt-get install linux-generic-lts-utopic:amd64