kait さんのプロフィールkait's Fieldフォトブログリスト ツール ヘルプ
    2009/09/07

    Windows 7 の 32 bit 版と 64 bit 版の違い

    ぼくは Windows Vista の 64 bit 版をベータ 2 のころからおよそ 3 年にわたって使用してきました。現在、Windows 7 の 64 bit 版を使用しています。そのあいだにわかったことを含めて、Windows 7 の 32 bit 版と 64 bit 版の違いについて説明します。どちらを選択すればよいか、参考になればうれしいです。

    現在使用している Windows 7 が 32 bit 版なのか 64 bit 版なのかを調べる方法

    現在使用している Windows 7 が 32 bit 版なのか 64 bit 版なのかを調べる方法をご紹介します。画面左下「スタートボタン」をクリックして、出てきたメニューから「コンピューター」を右クリックして「プロパティ」を選択します。すると下のような画面が出ます。

    「システムの種類」を確認してください。上の画面では「64 ビット オペレーティング システム」と書かれていますので、これは 64 bit 版がインストールされていることがわかります。

    64 bit 版を使うためには、「64 bit 対応 CPU」が必要

    Windows 7 の 64 bit 版がプリインストールされたメーカー製 PC を購入する場合は、当然 64 bit モード対応 CPU なので問題ありません。しかし、自分で 64 bit Windows 7 をインストールする場合、注意が必要です。64 bit 版をインストールするためには、CPU が 64 bit モードに対応している必要があります。

    2007 年以降に発売した PC であればほとんどの CPU が 64 bit モードをサポートしていますが、Atom を含めて何種類かは 64 bit モードをサポートしないものが混在しています。

    64 bit 版を使うメリットは「大容量メモリ」

    32 bit Windows 7 ではメモリを最大 4 GB しか認識しません。たとえばメモリを 16 GB 搭載しても、32 bit 版が認識するのはそのうちの 4 GB だけです。残りの 12 GB は無視され、無駄になってしまいます。しかも実際にはハードウェアの予約アドレスがあり、その予約アドレスと重複するアドレスのメモリが使用できないという仕様のため、4 GB よりもさらに減らされて、2.5-3.5 GB 程度しか認識しません。この値はマザーボード、および搭載されている内蔵デバイスによって変動します。

    しかし 64 bit 版では大容量メモリをサポートします。サポートされるメモリ容量はエディションによって異なりますので、下の表にまとめました。

    Starter には 64 bit 版が存在しません。Home Premium は最大 16 GB、Professional と Ultimate では 192 GB 以上 (事実上の無制限) となっています。

    ただしこの数値はソフトウェアでの制限値であることに注意してください。実際にはハードウェアの制限値もあります。ソフトウェアの制限値とハードウェアの制限値のうち、いずれか低い方が限界の値となります。ハードウェアの制限値は PC の仕様書を確認してください。

    下の図はメモリを 12 GB 搭載した同一の PC に、32 bit 版と 64 bit 版の Windows 7 をそれぞれインストールしたときの、システムのプロパティ画面です。上が 32 bit 版、下が 64 bit 版のものです。赤線の部分に注目してください。

    PC には物理的に 12 GB 搭載されていますが、32 bit 版では 12 GB のうちの 2.99 GB しか使用できていません。9 GB 以上ものメモリが無駄になっています。一方で 64 bit 版では 12 GB すべてを使用可能です。32 bit 版で使用できる上限はこの PC の場合 2.99 GB でしたが、これはマザーボードや搭載する拡張カードによって変動します。

    大容量メモリのサポートすること。これが 64 bit 版の唯一にして最大のメリットです。

    64 bit 版を使うデメリットは「ドライバ」と「16 bit」

    デメリットのうちひとつは「デバイスドライバ」です。デバイスドライバとは、Windows がハードウェアを操作するためのソフトウェアです。マウス、プリンタ、スキャナ、ビデオカード、テレビチューナーなどはすべてドライバがあって初めて使用可能となります。

    ドライバにも 32 bit 版と 64 bit 版があります。64 bit Windows 7 でデバイスを使うには、64 bit のドライバが必要です。32 bit のドライバはインストールできないので注意してください。古いデバイスなどは、メーカーが提供してくれないために、あきらめざるを得ない場合があります。

    もうひとつのデメリットは、16 bit アプリケーションが動かないことです。今ではかなり稀な存在ですのでほとんど問題になることはありませんが、古いアプリケーションのインストーラが 16 bit アプリケーションになっている場合があります。この場合、アプリケーションが 32 bit であってもインストーラが 16 bit であるため、インストールできません。

    アプリケーションの互換性

    64 bit Windows では 64 bit アプリケーションしか動かない、と思われがちですが、実はそうではありません。64 bit Windows では WOW64 という仕組みがあり、32 bit アプリケーションも実行することができます。WOW64 は 32 bit API 呼び出しを 64 bit API 呼び出しへ変換してくれます。このとき性能の低下はほとんどありません。よって、ユーザはアプリケーションが 32 bit なのか 64 bit なのかをまったく意識せずに使うことができます。

    Windows OS とアプリケーションの対応を表にまとめました。

    32 bit Windows 64 bit Windows
    16 bit アプリケーション ○ (WOW32) ×
    32 bit アプリケーション ○ (ネイティブ) ○ (WOW64)
    64 bit アプリケーション × ○ (ネイティブ)

    ひとつ前の世代まではサポートする、という方針ですね。

    実際に動作させてみればわかりますが、WOW64 のおかげでほとんどの既存のアプリケーションが動作します。

    64 bit Windows は性能が劇的に向上するのか

    アプリケーション実行性能がかなり向上すると思われがちですが、それほど大きな向上はありません。過去に Windows Media エンコーダ x64 Edition のエンコードスピードと WinRAR 3.90 x64 のファイル圧縮スピードをテストしましたが、いずれも 10 % 未満の向上にとどまっています。

    また、WOW64 のオーバーヘッドが大きいと思われがちですが、WOW64 の性能低下はほとんどなく、いずれも 1 % 未満であることを確認しています。これは完全に無視できる数値です。

    性能に関しては、過去の投稿を参照してください。

    Windows 7 の 32 bit 版と 64 bit 版の性能差
    http://kait-field.spaces.live.com/blog/cns!B90E9B4A3C4DFD66!1059.entry

    64 bit システムでの DLL に関する注意

    DLL とは、アプリケーションの実行コードの一部を再利用可能なように切り離して独立させたもので、アプリケーションが実行中に動的にリンクするライブラリです。DLL はよく、アプリケーションのプラグインとか、マルチメディア圧縮コーデックなどに利用されます。DLL にも 32 ビット版と 64 ビット版があります。実はこのとき、アプリケーションと DLL がともに同じ種類でないとリンクできません。

    32 ビットアプリケーションが 64 ビット DLL をリンクしようとしても失敗し、逆に 64 ビットアプリケーションが 32 ビット DLL をリンクしようとしても失敗します。

    では、この DLL の問題が実際にどんな状況で問題となるか、例を挙げます。

    • 64 bit 版の Internet Explorer (IE) を起動したが、Flash コンテンツが再生できない。Flash はブラウザのプラグインとして動作し、DLL (ActiveX) として提供されています。現時点では 64 bit 版の Flash DLL が提供されていないため、64 bit ブラウザでは利用できません。32 bit 版の IE もインストールされており、こちらがデフォルトのブラウザになっていますのでこちらを利用してください。
    • 64 bit 版の Windows Media Player (WMP) を起動したが、特定のビデオだけが再生できない。ビデオやオーディオを再生するには、それぞれの圧縮形式に対応したデコーダ (コーデック) が必要です。デコーダは DLL として提供されます。64 bit WMP から利用する場合は 64 bit のデコーダが必要です。もし提供元が 64 bit デコーダを提供していない場合は、64 bit WMP での使用をあきらめ、32 bit WMP を使用するしかありません。そういった問題を懸念してか、デフォルトのプレーヤーは、デコーダがもっとも多く提供されている 32 bit 版 WMP になっています。
    • ファイルの圧縮ツールをインストールしたが、エクスプローラの右クリックメニューに追加されるはずのメニューが追加されない。右クリックメニューはエクスプローラのシェル拡張という機能を利用します。シェル拡張は、エクスプローラ (explorer.exe) が外部 DLL をプラグインとして読み込んで機能します。そして 64 bit Windows では、自動的に起動するエクスプローラが 64 bit 版であるため、32 bit DLL しか用意されていない場合、シェル拡張である右クリックメニューは利用できません。提供元が 64 bit 版を用意してくれるのを待ってください。
    • 32 bit のアンマネージ DLL (ネイティブコード DLL) をリンクする .NET アプリケーションが、32 bit Windows では正常に動作していたが、64 bit Windows では動作しないものがある。これは .NET アセンブリをビルドする際に「Any CPU」を指定してビルドされている場合に発生します。Any CPU を指定して作成された .NET アプリケーションは、32 bit Windows 上では 32 bit アプリケーションとして動作し、64 bit Windows 上では 64 bit アプリケーションとして動作します。64 bit アプリケーションとして動作する場合は、32 bit のアンマネージ DLL を読み込めないため、起動に失敗します。64 bit 環境でテストされていないことが原因です。

    まとめ

    この文章を書いている時点ではまだ 7 搭載のメーカー PC が発表されていないので、64 bit が全体に占める割合がどの程度になるかはわかりません。しかしながら Vista の後期において、ソニーをはじめとする数社が 64 bit Vista をメインに販売していたことから、Windows 7 では他社も合わせてそれ以上に 64 bit への移行が進むものとみています。64 bit をとりまく環境は Vista 登場時と比較すれば非常に改善しています。

    しかしそれでも問題は起きるでしょう。ドライバの問題と DLL リンクの問題です。メモリは 2.5-3.5 GB で十分だし、とにかくトラブルがいやだという方は 32 bit 版をお勧めします。多少のトラブルはあっても、さらなる大容量のメモリを搭載したいというパワーユーザには 64 bit 版をお勧めします。

    メモリが 2.5-3.5 GB くらいで十分かどうかわからない場合、用途が、インターネット、メール、YouTube、ニコニコ動画、Word、Excel くらいの方は 32 bit 版をお勧めします。ほとんどのユーザの方はこれに該当すると思います。

    Windows Live のユーザー
    お気に入り

    コメント (2 件)

    Windows Live のユーザー - 2010年 4 月 4 日
    64ビットマシンを32ビットマシンに変更するのはどうすればよいのでしょうか。パソコンはソニーのバイオVGN-NS52JBを使用しているのですが、今まで使用していたキャドソフトやドキュワークスのソフトが使用できないので困っています。
    kait kait - 2010年 4 月 14 日
    返信が遅くなってすみません。
    kenji さんがご使用のマシンを調べてみたところ確かに 64 bit ですね (Windows Vista Home Premium with Service Pack 1 64ビット正規版)。またこの機種では、32 bit リカバリディスクは付属していないようです…。付属していればそれをインストールしなおすことで 32 bit へ切り替えることができるのですが。

    アーキテクチャの切り替えは、設定を変更するなどの簡単な方法で切り替えることはできません。64 bit を 32 bit に変更するには、Windows の 32 bit 版を購入してインストールするしかないと思います。

    kenji さんの場合、Vista Home Premium 64 bit ですので、Windows 7 Home Premium パッケージか、または Windows 7 Home Premium アップグレードパッケージを購入すればよいはずです。パッケージには 32 bit と 64 bit の両方の DVD が含まれていて、好きな方を使用することができます。

    ご参考
    http://www.microsoftstore.jp/Form/Win7/upgrade.aspx
    (※2 32 ビット版から 64 ビット版、64 ビット版から 32 ビット版へは必ず新規インストール(カスタム)となります。)

    32 bit → 64 bit や 64 bit → 32 bit の場合、ライセンスとしてはアップグレード扱いなのですが、実際には新規インストールとなり、アプリケーション、データ、設定は引き継がれません。新規インストールでは、デバイスドライバが必要な場合はメーカーであるソニーのサイトから個別にダウンロードするなどの操作が必要です。もし kenji さんがご自身で OS インストールをなさったことがない場合、少し敷居の高い操作になってしまうと思います…。自作 PC を組み立てた経験のある方が近くにいらっしゃれば、その方にサポートしてもらうのがよいのですが…。

    あと、ひとつ心配なのは、64 bit だから動かない、とおっしゃっていましたが、本当にそうなのでしょうか?? 32 bit → 64 bit の変化によって動かなくなったのではなく、2000/XP → Vista の変化によって動かなくなった可能性はないでしょうか? もし後者の場合、32 bit 版をインストールしても、同様に動かないという結果になってしまいます。その点は先に確認しておいた方がよいと思います。アプリケーションの提供元の情報で確認できると思います。
    コメントを投稿するには、Windows Live ID でサインインしてください