64 位 Kubuntu 在 32 位模式下运行?

64 位 Kubuntu 在 32 位模式下运行?

我最近安装了 Virtual Box,但很困惑为什么它不提供任何操作系统的 64 位版本。

因此我研究了所安装的内容,并找到了三个不同的命令来尝试找出发生了什么。

uname -a

揭示了:

Linux kubuntuBox 3.13.0-74-generic #118-Ubuntu SMP Thu Dec 17 22:52:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

看来我安装了 64 位版本的 Kubuntu

我发现的第二个命令查看标志:

grep flags /proc/cpuinfo

输出以下行 8 次:

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid

不太清楚为什么会输出 8 次,但确实如此。奇怪的是它有lahf_lm但没有lm

我发现的最佳命令是getconf WORD_BIT其输出32一目了然。

现在我很困惑——我确实安装了 64 位版本的 Kubuntu(14.04)并且大约每月运行一次 dist-ugrades,但操作系统似乎在 32 位模式下运行。

为什么会出现这种情况?我该如何解决?我需要重新安装 Kubuntu 吗?

答案1

这真的很容易。您已成功执行getconf,让我们看看。运行以下命令:

file $(which getconf)

它会输出类似这样的内容:

/usr/bin/getconf:ELF 64 位 LSB 可执行文件,x86-64,版本 1(SYSV),动态链接,解释器 /usr/lib/ld-linux-x86-64.so.2,适用于 GNU/Linux 2.6.32,BuildID[sha1]=e9b5e04a7d7c7552abb2e260d9c17c8ffb4ce2a3,已剥离

...这清楚地表明您正在运行 64 位系统。否则,您根本无法运行 64 位程序。

输出uname也清楚地显示它是一个x86_64内核。

getconf是完全错误的(或者说没有意义)。/proc/cpuinfo也可能是错误的,那里写的内容取决于内核中的一个简单解析器。

它包含系统中所有处理器的信息,因此 4 核 CPU 上会有 4 个块。如果启用了超线程,则乘以 2。

相关内容