• 締切済み

Win8.1の動作保証(32bitと64bit)

Win7で動作していた弊社アプリがWin8.1でも動作するか確認し、動作保証しようとしています。 ところがWin8.1には32bit版と64bit版があります。 ざっと動かしてみたところ、どちらも問題なさそうに動作しています。 そこで、質問ですが、32bit版と64bit版の両方とも動作確認しなければならないのでしょうか。 Microsoftの「Windows 7からWindows 8へのアプリケーション移行のポイント」には、32bit版と64bit版での注意点など何も書いてないので、関係ないということなのでしょうか。 動作原理上関係ないと大変うれしいのですが。。。 そもそも、なぜ64bit版で動作できるPCであれば32bit版のWin8.1も動作させられるのでしょうか。 64bitというのはハードで決まっているのではないのですか。 64bit動作するハードをわざわざ32bit方式で動作させているのですか? あまり詳細な説明をされても理解できませんが、ざっと概要がわかると助かります。 それと、エディションの違いも移行のポイントに書いてないので、Proで動けば無印でも動くと判断していいのでしょうか。 大変お手数ですが、ご教示ください。 ■以下は、「Windows 7からWindows 8へのアプリケーション移行のポイント」のURLです http://download.microsoft.com/download/6/0/E/60EA2469-B95B-4F4D-9B06-07AFF5D5115E/Win8_application_migration.docx

みんなの回答

  • parts
  • ベストアンサー率62% (6364/10149)
回答No.2

この理屈は、Windows7の時にはここでもよく説明した記憶がありますが・・・。そういうソフトのサポートを行う会社なら、この辺りは理解しておくべきでしょうし、ハードウェアの仕組みも形だけでも知ってから、参入すべきかと思いますが・・・。 Q/ そこで、質問ですが、32bit版と64bit版の両方とも動作確認しなければならないのでしょうか。 A/通常は64bit版で最初に動作確認し、それで動作が出来れば、32bitでも動作が保証できる場合が多いです。ただし、確実な動作を保証する場合は、両方でテストすることを推奨します。まあ、これらの部分は業務アプリケーションの場合は、ユーザーサポートと評判に左右されるものですから、それをどう考えるかだけの問題です。理論上は、64bit環境で動く場合は、32bit環境でほぼ確実に動作します。 後は、APIに何を使っているかなども知っているはずですから、そのAPIがサポートから外れている場合は、その辺りを先にチェックしておく必要があります。開発したソフトのサポートを行う場合は、その辺りを、動作確認と平行して行います。 Q/なぜ64bit版で動作できるソフトは、32bit版のWin8.1でも動作できるのですか? A/わかりやすくするため、まずはソフト面に質問の記述は少し変更しました。本題は2つ下の質問に書いています。 これは、OSのカーネル仕様とCPUの動作モードに関係する問題です。Windowsだけの仕様で回答するとWindows On Windows 64(bit)と呼ばれる機能を使っています。これは、いわゆるエミュレーターの一種で、32bitプログラムが実行された場合、その一部を仮想化し、仮想的な32bit環境構築します。また、64bitの中間関数(API)で当該の関数がある場合は、対となる64bitコードに置き換えて実行します。 当該のAPIがない(新設された特殊なAPIであったり、カーネルモードで動作するプログラム)場合と実行方法に64bit環境に沿わないコードがある場合は、エラーとして弾き、実行を抑止します。尚、64bit環境では16bitアプリケーションには対応しませんので、それらは弾かれます。また、DOSアプリケーションも動作しません。 32bit環境では、そもそも64bitコードに置き換えて実行することはないため、ネイティブの32bitコードを実行できます。また、カーネルドライバ保護の一部が、32bit環境では有効になっていないため、過去のアプリケーション互換性が高まります。 さらに、WOW(16bitアプリケーションの互換モード)も使えるため、16bit互換アプリの一部も動作可能です。(この理由は後述のCPU、Lagacy Modeの関係によります) これが32bitの強みです。要は、過去の32bitがネイティブ対応します。さらに、16bitアプリはいわゆるx64における32bitアプリケーションの起動概念と似た、互換モードが使えるのです。だから、古いソフトの動作互換性が高くなります。しかし、この互換モードはあくまで、CPUのレジスタ帯域としては1世代前の帯域になります。要は、64bitなら、32bitまでは互換でき、32bitなら16bitまでと互換が可能になるのです。そのため、古いアプリケーションの互換性は、32bitの方が高いのです。しかし、64bitソフトウェアは動きませんし、32bitOS上では、後述しますが、Long Modeでの動作はどうやってもできません。 Q/ 64bitというのはハードで決まっているのではないのですか。64bit動作するハードをわざわざ32bit方式で動作させているのですか? A/そうです。互換性のためにわざわざ32bitで動かすのです。それだけ、資産継承が重要なら、それもやむを得ません。 64bitというのはCPUのレジスタ幅(演算ユニットが一度に扱える数値の桁数)です。たとえば、999×999までしか計算できない装置に、1000×1000という計算式を与えると、桁あふれ(バッファオーバーフロー)が発生し、処理が停止します。 電卓で言えば、E1.0029370808などと数字が出るあれです。CEなどを押してリセットしないと、追加の演算はできません。 コンピュータも同じで、全てのプログラムはこの桁数の制限を受けています。それが、32bitや64bitといったレジスタ(算術ユニット/ALU/整数演算器)が扱える桁数になるのです。ハードとしての最大条件はこれになりますが、計算式を与えるのはソフトです。 そのため、コンピュータではソフトウェア側が64bitでなければ、64bitの演算はできません。 そして、その絶対値の幅を決めるのはOS(WindowsやMacOS)になります。32bitOSでは32bit迄しかつかえませんが、16bitソフトも使えます。64bitOSでは、64bitという広いレジスタ幅が使えますが、16bitには対応せず、32bitは一部エミュレートとなります。 Q/そもそも、なぜ64bit版で動作できるPCであれば32bit版のWin8.1も動作させられるのでしょうか。 A/CPUがx86-64ですから、x86系のマイクロコードに最適化されたコンパイラを使っていれば、32bitでも64bitでもOSやソフトは動作します。 WindowsPCの64bitでは、x86-64(x64)と呼ばれるIA-32系の系譜プロセッサを利用します。 このプロセッサには、64bitモードとして、 Long Mode(ロングモード)が搭載されています。このモードでは2つの設定があり、64bitモードと互換モード(Compatible Mode)と呼ばれる32bitアプリケーションを動かすモードがあります。このモードがいわゆる64bit Windows上でWOW64で実行するソフトを動かすために使われます。 Long Modeでは、64bit Modeのみで64bit本来の性能が発揮されます。 本来の性能とは64bitCPUでは、本来ある8つの演算レジスタに追加する形で、8本のレジスタがあります。即ちレジスタが2倍になっているのです。それらが使えるのがこの64BITモードのみです。32bitの互換モードは、64bitモードの中で動作しますが、追加レジスタの利用ができません。これが、いわゆる64bitOSが動作するためのハードウェアの仕様です。 それに対して、Lagacy Mode(レガシーモード)と呼ばれるモードも備わっています。 これは、i8086(インテルハチマルハチロク)から系譜されている16bit/32bitのOSに最適化されたモードです。32bitOSはこのモードで動きます。ただし、このモードでは追加レジスタは使えませんし、64bitのアプリケーションも一切動きません。 あくまで、旧資産を動かすためだけに、性能を犠牲にしてOSのビット数を抑えてインストールすることが出来るのです。何故旧資産が32bitの方が動くかは先に書いたとおりで、ネイティブに何の変換もかけずに動かせるからです。また、16bitコードも動作可能です。 Q/それと、エディションの違いも移行のポイントに書いてないので、Proで動けば無印でも動くと判断していいのでしょうか。 A/通常は、動きますが・・・個人の開発でなければ普通は逆です。Pro特有の機能であるドメインアカウントやグループポリシーなど、ビジネス用途の専用機能に依存する場合があるかどうかで変わりますので、そういう意味で逆にするのです。ホームユーザー向けの場合は、Proでのテストより、Home系のOS(無印)でテストし、Proも保証するのが一般的です。 要は、エディションは下位(機能が少ない方)からテストし、ビット数は高い方(互換性の問題が起きやすい方)からテストします。これらで、スムースに動けば、それ以外の行程をパス(スキップ)することも可能であり、工程数を削減することが可能です。 サーバを含めてテストする場合は、目的のサーバーでの動作チェックをさらに加えます。ただ、その場合においても、通常は下位のエディションからテストを行う方が、効率は良くなります。(尚サーバーコアは対象外です。一般のサーバーOS+サーバーコア対応の場合は、環境テストと導入プロセスを全て確認した方が良いです) 以上のようになります。 最後にまとめるとテストというのは、 一番動かなくなる過酷な状況でテストすると、それ以外の状況で動くということです。マイナス20度で動くエアコンは、マイナス10度でも動くでしょう。 OS上でのソフトの場合は、同じ世代(バージョン)なら理論上機能が少なく、互換性が低い側で動けば動きます。(環境例外<ハードや追加APIによる相性>があるので、絶対保証はしません。) だから、64bitで機能の少ないエディションでテストするのが先で、それで動かないなら、32bitのみサポートや、プログラムに手を入れます。

  • TOTO2011
  • ベストアンサー率29% (449/1537)
回答No.1

Windows7も32bit64bitは有りますよ 現在どちらを使われていますか? XP時代のソフトが7や8の64bit版で動かない物は有りました 私の場合は 古いCADソフトやフィルムスキャナーや動画編集ソフト USB接続のMO等です 32bitの7ではほとんど対応出来ました 8では大丈夫で 8.1ではプリントサーバーが対応しなくて買い替えましたね 使われているソフトは何ですか? ソフトメーカーのサイトに何かネタは出ていませんか? 周辺機器でドライバが無い場合は使えない場合が多いです Windowsのバージョンアップのスピードに各メーカーが対応の遅れが有る場合も有り 古いソフトではサポートを止めている場合も有ります 今後ダメな時は ソフトの買い替えかな?と思っています 専門的な事は分かりません XPから7や8に変えた時の苦労ネタです おかげでパソコンが増えました(現在 5台稼働中)

関連するQ&A

  • Win7 32bitからWin8 64bitへ

    Windows7 32bitからWindows8 64bitへアップグレードしようと考えています。DL版アップグレードが安いので、これを購入しようかと思いましたが、以下のアンサーを読むかぎり、DL版では出来なそうです。 ------------------ 32 ビット バージョンの Windows から 64 ビット バージョンの Windows 8 にアップグレードすることはできますか。 可能ですが、アップグレード アシスタントではアップグレードできません。PC に 64 ビット対応のプロセッサ (CPU) が搭載されている場合は、現在 32 ビット バージョンの Windows を実行していても、64 ビット バージョンの Windows 8 をインストールできます。ただし、Windows 8 の DVD を購入する必要があります。 http://windows.microsoft.com/ja-JP/windows-8/upgrade-to-windows-8 ------------------ ただ、この文面では、Win8のDVDがあれば32bitから64bitへ移行できる、とも読めます。ということは、Win8のアップグレード版DVDでも、これは可能なんでしょうか? ちなみに、CPUはCore i7-860です。 また、アップグレードアシスタントによれば、「お使いの PC にはセキュア ブートとの互換性がありません。お使いの PC のファームウェアではセキュア ブートがサポートされていないため、Windows 8 で使用できません。」とのことです。 これは要するに、「セキュアブートの機能は使えないが、別にOSが動作しないわけではない」という理解でよろしいでしょうか?

  • Win7 32bitか64bit どちらが良いか

    現在、自宅で使っているのは OS:Windows XP SP3 32bit M/B:P5K-VM CPU:Pentium Core 2 Duo E8400 Memory:8GB(PC2-6400) 会社がOSを7にすることにしました。 データのやりとりはありませんが、新しいOS環境に慣れるために自宅のPCも7にすることにしました。 (PC自体を買い換えるつもりはありません。) XPからの以降を機に64ビットに乗り換えようかと思っています。 32から64に移行することで、これまで利用してきたアプリは使えないかもしれませんが、それ以外になりかデメリットが有るでしょうか? (デバイスドライバは揃うようです) 32にしておいたほうが良い理由が他にある場合は教えてください。 また、CPU的にWindows7の動作はもっさりしそうですか? 64ビットOSに対応したCPUでも実際には型番(?)によって相性があるような記事も見たことがあるように思うのですが、Core 2 Duo E8400はその辺りどうでしょうか? おわかりになる範囲でアドバイスお願いします。

  • Win10 64bitなのに32bit Offic

    PC:Panasonic CF-SZ5 OS:Windows10 Pro 64bit Office:Office 365 私のPCのOSは64bit版なので、購入以来ずっとOffice 365も当然64bit版がインストールされているものと思ってきましたが、Wordのアカウントを見たら「Microsoft Word for Office 365 MSO 32bit」となっていました。 何故64bitではないのでしょうか? どなたか教えてください。

  • 64bitから32bitへの移行

    パソコンが苦手な者です。御教示願います。  現在 Windows7 64bitがプレインストールされたパソコンを使用しています。  仕事で使用しているソフトが32bitにしか対応していない為、32bitに移行せざるを得ない状況になりました。  PCメーカーに問い合わせたところ、アップグレード版で対応可能との回答だったので、Windows8のアップグレード版を購入して32bit用をインストールしようとしたところ、先に進むことができません。  1.アップグレード版で、Windows7 64bit→Windows8 32bitに移行する方法を御存知でしたら御教示願います。  2.過去の質問に、Windows7 64bit→Windows7 32bitの場合、通常版でなければ対応できないという回答がありましたが、→Windows8 32bitの場合でも通常版をインストールしなければいけないのでしょうか。  3.通常版をインストールしなければいけない場合、Windows8 32bitの場合、通常版とDSP版は同じなのでしょうか。  足りない情報がありましたらご指摘ください。  宜しく御願い致します。

  • 同じwin7を32bitから64bitに変更

    私は現在win7の32bit版を使用しておりますが、64bit版を新規インストールしたいと思っています。 私のPCはドライブ(C)ドライブ(D)とHDDを2台積んでいまして、 CをOSや基本的なアプリケーション用、Dを音楽や写真、ゲーム用として使っておりますが、 64bit版を新規でインストールした場合、Dドライブの中身も消えてしまったり、認識してしまわなくなったりせずに 今まで通りのデータを残したまま使用できるでしょうか? 長文、駄文で申し訳ありません、 何卒 宜しくお願い致しますm(_ _)m

  • Windows10 32bit→64bitにしたい

    どなたかご存知でしたらご回答願います。 2011年5月頃に発売された NEC製のビジネス用PCであるMate MK28H/Eシリーズを1台持ってます。 初期OSはWindows7 pro(32bit)です。これをWindows10 pro(64bit)に上げたく作業 してますが、Windows10 pro(32bit)までは問題なく上がりました。 次に64bitに上げるために、マイクロソフト公式サイト(https://www.microsoft.com/ja-jp/software-download/windows10)で、64bitのインストールメディア(ISOファイル)をDVDに作成しました。 ここで質問です。 PCのBIOSの設定を、一番目にDVDに変更して、DVDを入れてPCの電源をonにしても 最初はDVDを読もうとしますが、途中で読まなくなり、Winddows10 32bitが立ち上がる状態です。 (1)32bit→64bitはISOファイルからでは今現在は不可なのでしょうか? (2)Windowds proの製品版(32bit/64bit)を購入して、現在の32bitの上に製品版の64bitを  インストールすることはできますか?(やっぱり、一度既存の32bitをアンインストール  した後でないと、64bitはインストールできませんか?) 以上、よろしくお願いします。

  • Win10 32bit⇒64bitができない

    10年以上前の古いパソコンですがもう少し使っていきたいため、Windows10 32bitから64bitにしてメモリ増設を検討しています。 先人たちのWebページなどを隈なく確認をしてみましたが、どうしてもできず、行き詰ってしまいました。何かご意見を頂ければと思い質問させていただきました。 どうぞご教示お願いいたします。 ■質問内容:Windows10 32bitから64bitへのクリーンインストールができない。 製品名:Mate タイプME 型番:PC-MK27MEZNC Intel(R) Core(TM) i5-2500S CPU @ 2.70GHz 4.00 GB (2.92 GB 使用可能) システムの種類:32 ビット オペレーティング システム、x64 ベース プロセッサ Windows 10 Pro(20H2) 製造:2011年、もともとWin7でした。 ■状況 ①MicroSoftのページからメディア作成ツールを作成(USBとDVD) https://www.microsoft.com/ja-jp/software-download/windows10 ②BIOSの変更をするもUSBブートができず。よく調べたところ、非対応のようでした。 ③Plop Boot Managerというツールを使用し、USBブートを試みましたが、読み込みません。 ④念のため、USBのツール再作成しましたが、同様に不可。 ⑤DVDでのインストールをすべく、ツールをDVDに作成。BIOSのBOOT順序変更し、起動を試すも、真っ黒の画面にアンダーバーが点滅している状況から先に進まず。(DVDを読み込んでいる感じですがその先進まない) 以上です。よろしくお願いします。 ※OKWAVEより補足:「NEC 121ware : Windows」についての質問です

  • Windowsの32bitと64bitですが

    新しく出たWindows 10にも32bitと64bitの両方が用意されてます。 そこで質問ですが。 (1)Win10はこれまでのWindowsとはちがって、10よりバージョンが変わることはないということになってますが。ということは32bit版のアプリはまだまだこれからも出てくることもあるし、使えると考えていいのでしょうか。 (2)結局、32bit版がなくなるのはまだまだ先のことなんでしょうか。 (3)どうしても64bitでしか動かないアプリとは、具体的にどんなのがあるのでしょうか。 (4)32bit OSのメモリー4GBと64bit OSでのメモリー 8GBは相対的には同じ容量ということになると思うのですが、インターネットとエクセルくらいの使用なら64bitにする意味はないのでしょうか。 (5)マイクロソフトはこれまで、Win3.1,Win95,Win ME,Vista,XP,Win7,Win10というふうにOSそのものを変えてユーザーに買い替えさせてきましたが、それならなぜ、Win10で思い切って64bit版しかないものにしなかったのでしょうか。そこまでユーザーを裏切ることはさすがにできなかったということでしょうか。 そんな疑問がわきました。 よろしく。

  • 64bit版

    メモリを4GBにしたので、Vistaの64bit版を入れようかと思っているのですが、 32bit対応のアプリケーションはどんなのが使えますかね? 今後、64bit版に移行すると思うのですが、完全に移行する時期など教えて下さい。 よろしくお願いします。

  • 32bitから64bitのOracleDB移行

    32bit版で構築されているOracleDBを64bit版のOracleDBに移行しようとしているのですが、 下記の問題が生じています。 1)下記のストアド、曜日を取得する変数について、 SELECT TO_CHAR(TO_DATE('2012/02/01'),'Day') INTO v_YOUBI FROM DUAL; 32bit版では、6バイトの定義(v_YOUBI VARCHAR(6))でよかったのですが、 64bit版で、6バイトにすると、オーバーフローになってしまいます。 9バイトにしたところ、正常動作しました。 64bit版で、オーバーフローする理由をお教えください。 ※32bit版、64bit版は共にSHIFT-JISにしております。 2)Date型のテーブル項目にChar型の日付を挿入しようとするとエラーになります(32bit版では許容)。 64bit版では制限が厳しくなったのでしょうか? 32bit版、64bit版の違いをお教えください。 3)ほかに、32bit版から64bit版に移行することによる注意点をお教えください。