下软件时文件名后缀带 amd64,装到一半提示此应用无法在你的电脑上运行。这不是 AMD 专用的意思,很多人第一次都会被这三个字母误导。
amd64 指的是 64 位 x86 架构。AMD 先在这套指令集上做了 64 位扩展,名字就叫 AMD64,后来 Intel 也跟进,两家实现基本兼容,统称 x86-64,Windows 安装包上一般写 x64。
几个名字其实指同一个东西
- amd64:Debian、Ubuntu 的软件包架构名,Linux 里最常见。
- x86_64:uname -m 的输出,和它是同一个架构。
- x64:Windows 和多数商业软件的写法。
- Intel 64 和 EM64T:Intel 当年的叫法,现在很少见。
它跟 Itanium 的 IA-64 没有关系,两者指令集不兼容。也别把它当成 AMD 处理器专用,Intel 的酷睿照样装 64 位的包。
怎么确认自己的机器是哪一种
Windows 上打开设置—系统—系统信息,看系统类型写的是 64 位还是 ARM 64 位。命令行里执行 echo %PROCESSOR_ARCHITECTURE%,返回 AMD64 就是 x86-64,返回 ARM64 就是另一套。
Linux 和 macOS 都执行 uname -m,x86_64 就是 64 位 x86,aarch64 或 arm64 对应 ARM。下载 Docker 镜像、Python 轮子、数据库安装包时,选错架构的典型报错是 exec format error。下载页常见的命名是软件名加 linux 加架构后缀,看到 64 位和 ARM 两栏时,按系统信息挑就行。
选错架构会怎样
32 位系统装不了 64 位程序,反过来可以,但性能发挥不出来。现在新买的笔记本基本是 x64 或者 ARM64,老设备还有 i386,也就是 32 位 x86。
苹果 M 系列芯片的 Mac 属于 ARM64,装 64 位 x86 版本要靠转译层,能跑,速度打折扣。同一个软件下载页常常同时给三个版本,挑之前先看清系统信息。判断方法就一句:x64 的机器选对应的安装包,ARM 的机器找 arm64 版本,找不到就说明这个软件没适配。