如何检查我的操作系统是64位还是32位?


9

确定我的操作系统是64位还是32位的最佳方法是什么?

假设,我直接在某些操作系统上安装了软件。但是如何确定OS是32位还是64位,

操作系统可以是任何东西,例如

  • Windows XP
  • 远景
  • Windows 7的
  • os x豹
  • os x雪豹
  • 红帽Linux

我的意思是-确定os是64位还是32位的最佳和通用方法是什么?我的意思是,我一般地说。我尚未在某人的计算机上安装os,并且如果我告诉您确定其操作系统是64还是32?那你会怎么做?

预先感谢您分享您的知识。糖。


但是OSX呢?
Sagar R. Kothari

Answers:


5

在许多类似Unix的系统中,您可以输入:

uname -a

对于FreeBSD,它看起来像:

FreeBSD whiplash 8.0-STABLE FreeBSD 8.0-STABLE #1: 
Tue Mar  9 15:38:19 CET 2010     root@beast:/usr/obj/usr/src/sys/WHIPLASH  amd64

(amd64表示此内核是64位)

对于Linux:

Linux softy.vm 2.6.18-128.el5 #1 SMP 
Wed Jan 21 10:44:23 EST 2009 i686 athlon i386 GNU/Linux

(i386表示此内核是32位)

对于MacOSX:

Darwin iMac.local 10.0.0 Darwin Kernel Version 10.0.0: Fri Jul 31 22:47:34 PDT 2009;
root:xnu 1456.1.25~1/RELEASE_X86_64 x86_64

(x86_64表示此内核是64位)


1
或者只是“ uname -p”,其返回的结果类似于i386,x86_64,amd64 :)
Janne Pikkarainen 2010年

i386是什么?uname -p可以工作,但我不了解i386
Sagar R. Kothari 2010年

1
请记住,在OSX上,即使您具有x86_64 CPU,(某些)内核也可能以32位运行。例如,2008年初的MacBook(4,1)就是如此。
trolle3000

@ sugar,i386是32位CPU架构,而x86_64是64位架构。
trolle3000

1
@糖您可能还会在某些地方看到i486,i586或i686,它们也是32位的,但包含更多说明。
AndrejaKo

7

如果要在Windows中使用CMD脚本执行任何操作,则可以启动如下所示的批处理文件:

@echo off

if %PROCESSOR_ARCHITECTURE% == x86 (
goto :x86
) else (
goto :x64
)

:x86
start "foo.exe"
goto :eof

:x64
start "bar.exe"
goto :eof

我所需要的
Piotr Kula 2012年

3

在Windows下:

GUI方式

  1. 按Win + R打开“运行...”对话框
  2. 输入winmsd
  3. 查找行处理器或系统类型

如果它们以x86开头,则为32位,否则为64位

使用cmd.exe
输入SET PROCESSOR_ARCHITECTURE
x86表示32位,否则为64位

使用Powershell
输入$env:PROCESSOR_ARCHITECTURE
含义与使用cmd.exe相同

当心
有两种不同类型的64位体系结构。
一个是用于x64的AMD64,另一个是用于Itanium的ia64(不确定此值是否完全相同,从未与其中任何一个一起使用)


ia64适用于架构完全不同且不属于x86系列的Itanium处理器。它们可以运行x86程序,但是其64位模式与x86基本上完全不同,并且需要不同的编译器和整个底层编程。Amd64以AMD命名,因为它们对x86指令集进行了64位扩展。他们的处理器仍然是x86,但是可以使用64位,并且与32位x86的关系比itanium更紧密。
AndrejaKo 2010年

2

Linux的愚蠢方法:

  1. 要识别内核cat / proc / kallsyms,请检查内核的符号是32位宽还是64位宽。然后,您将知道内核是32位还是64位。

  2. 对于用户应用程序,只需运行:$ file / bin / ls要检查ls命令是32位还是64位,因为os可能同时包含32位和64位应用程序,所以这可能没有错。


2

@paradroid-感谢您的集体讨论^^

现在,我将其用于分发的Java程序,该程序需要Windows用户使用javac。该脚本检查其体系结构,并在其默认浏览器中将下载打开到正确版本的JDK。

@echo off

Title Dragon's JDK Downloader - Runedev Script Compiler

goto menu
:menu
echo.
echo What would you like to do?
echo.
echo 1. Download JDK?
echo 2. Compile Scripts?
echo 3. Quit
echo.

:choice
set /P C=1,2,3?
if "%C%"=="3" goto quit
if "%C%"=="2" goto compile
if "%C%"=="1" goto download
goto choice

:download
if %PROCESSOR_ARCHITECTURE% == x86 (
goto :x86
) else (
goto :x64
)

:x86
START http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-6u23-windows-i586.exe?BundledLineItemUUID=q9.J_hCupJ8AAAEsXThZDfyg&OrderID=zHCJ_hCujC0AAAEsUjhZDfyg&ProductID=_omJ_hCwMp4AAAEsQIMcKluK&FileName=/jdk-6u23-windows-i586.exe
goto :eof

:x64
START http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-6u23-windows-x64.exe?BundledLineItemUUID=CMyJ_hCu.vEAAAEsWu9ZDfyf&OrderID=RZ.J_hCuAVkAAAEsUO9ZDfyf&ProductID=ZUuJ_hCwEmwAAAEsOoMcKluK&FileName=/jdk-6u23-windows-x64.exe
goto :eof

:compile
SET cc=javac
SET cflags=
SET scripts=Scripts
SET scriptspre=%scripts%\Precompiled
SET jarpathfile=Settings\path.txt

IF NOT EXIST "%jarpathfile%" (
   ECHO Path file does not exist. Please run Runedev and try again.
   GOTO menu
)

FOR /F "delims=" %%G IN (%jarpathfile%) DO SET jarpath=%%G

CALL FindJDK.bat

IF NOT EXIST %scripts%\*.java (
   ECHO No .java script source files found.
   GOTO menu
)

ECHO Compiling scripts
ECHO. > "%scripts%\.class"
DEL /F /Q "%scripts%\*.class" > NUL
"%cc%" %cflags% -cp "%jarpath%" %scripts%\*.java

:end
PAUSE
EXIT

:quit
exit
:end
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.