UbuntuでWindowsのアプリケーションを使うやり方

記事
IT・テクノロジー

UbuntuでWindowsのアプリケーションを使うやり方

古くなった PC に Linux (Ubuntu)をインストールしてサブ PC として利用する方法を色々試しています。 Web 開発の基本的な設定に関してはある程度方向性は見えてきて、基本的に同じ開発のためのアプリを利用できるようにしてみました。 それでも、時々 Windows のアプリがあると便利な場面があるので、Windows のアプリを使えるようにするために幾つかの方法を試してみました。この記事ではその比較をまとめてみました。

Ubuntu で Windows アプリを使う3つの方法

大きく分けて、3つの方法が考えられます。

* 同じ PC に2つの OS(Ubuntu と Windows10)を入れて切り替えて使用
* Ubuntu 上で仮想マシンを動かして、Windows を動かす
* Wine を使って Windows アプリを実行
それぞれの方法について簡単に説明しておきますね!

デュアルブート

同じ PC に2つの OS をインストールして、どちらを使うかを選択して利用する方法です。 別の OS のアプリを使う場合は一旦 OS を終了して、別の OS を起動し直す必要があります。 通常は、Windows10 を最初にインストールして後から追加で Ubuntu をインストールすると、Ubuntu のインストール時に起動時に OS を選べる仕組みを導入してくれます。

この方法では、メモリに関しては PC の全てのメモリを OS が使う事が可能です。ただし、OS を入れるドライブのスペースは、2つの OS で分ける必要があります。2つの OS でドライブのスペースを分けるのである程度大きなドライブのスペースは必要です。

この方法の欠点は2つの OS を同時に利用する事ができないので、Ubuntu と Windows10 でデータのやり取りをしたい場合は、USB ドライブなどを介すか、インターネット上のストレージスペースを利用してやり取りする必要があります。

仕事のタイプによって OS が分けられる場合はこの方法は選択肢の一つになります。

Ubuntu 上で仮想マシーンを動かす

Ubunts 上で仮想マシーン(VM:Virual Machine)を作ってその上で Windows10 を動かすという方法です。 もちろん、逆のケースもあるのですが、Web 開発で PC を利用する事を考えると、Windows より Linux (Ubuntu)の方が都合が良いことも多いので、今回は、あくまでメインは「Linux(Ubuntu)」を使うことを考えているので、Ubuntu を中心にこの記事も書いています。

仮想マシーンの良いところは、同時に、Linux (Ubuntu)と Windows10 を動かすことができるので、一々切り替えのために OS を起動し直す必要がないのも便利です。データのやり取りも、その場でデータの交換も可能なので同じように USB ドライブや、PC のストレージ、インターネットのストレージを介すにしても便利です。

欠点は、メモリを含めたリソースは2つの OS(ホスト OS とゲスト OS)で分ける必要があるので、全てのリソースを利用できない点があります。もう一つは、仮想マシーン上で動くゲスト OS は普通に OS を動かす場合に比べれば遅くなってしまうという点です。また、CPU のリソースも割り当てる必要があるため、ホスト OS の性能にも影響が出てきます。 ただし、これは、両方の OS を同時に使う場合の話であって、通常は仮想マシーンを動かさずにメインのホスト OS だけを使う場合は問題にはなりません。仮想マシーンのデータのためにドライブのスペースが必要になることぐらいが欠点ということになります。

仮想マシーンの環境としては、商用目的以外ならば無料で出来る仕組みが幾つかあります。 今回試したのは、

* VMWare Workstation Player
* Oracle Virtual Box
です。どちらも、無料でダウンロードして利用できます。Windows 版と Linux 版があります。(VirtualBox は Mac 版もあります) 実験としては、Windows 版と Linux 版の両方を試しましたが、個人的には Linux をメインにして Windows10 を補助的に使う方が便利なので、やはり、仮想マシーンで Windows10 を動かす方が使い勝手が良いと思います。

Workstation Player と VirtualBox では、どちらもインストールや仮想マシンの作成などの点では、殆ど変わらないと思います。しかし、実際に使う場合、Workstation Player の方が若干性能が良い感じがします。色々試した結果、現在では、VMWare Workstation Player で Windows10 を動かす方法に落ち着いています。

Wine で Windows アプリを動かす

理屈では、一番ベストな方法は Wine というモジュールを使って、Linux 上で Windows アプリを動かすのが理想です。これは、Windows のアプリを Linux の上で動かす仕組みです。Windows は一切必要がないというのが特長です。当然ですが、OS としては Linux しか動いていないので、Linux がメモリなど全ての PC のリソースを利用する事ができます。

アプリも、見かけ上は Ubuntu の他のアプリと同じ様に扱えるので使い勝手も良くアプリも普通に Windows で動かす場合と比べても殆ど遜色がありません。

一番の問題は、この方法の場合、全ての Windows アプリが動くわけでないというのが一番の欠点です。 今回試したアプリでは、Ubuntu(20.04)と Wine(6.1)の組み合わせで最新版の Microsoft Office365 のインストールができませんでした。問題は、インストーラが OS が何かをチェックしているようで、Windows10 ではないためインストールをさせてもらえませんでした。(2021 年 1 月現在) また、最新版の Kindle はインストールの途中でエラーになって使えませんでした。(これも 2021 年 1 月現在の状況です)

アプリ毎の状況は、Wine の Web サイトで確認できます。

有名なアプリの殆どはリストにありますが、Ubuntu/Wine のバージョンとアプリの組み合わせによって動くものと動かないものがあるので、やってみるのが手っ取り早いかもしれません。

元々は、この方法のみで対応を考えていたのですが、意外に使いたいアプリが動かなかったので、結果的に仮想マシーンも入れて併用する形で落ち着いています。

実際に使ってみて

当初は、デュアルブートを考えていましたが、一々 OS を切り替える度に再起動するのは面倒なので、Wine で対応をしようとしましたが、全ては動かないので結局 Wine と仮想マシーン(VMWare Workstation Player)を併用して使っています。 2種類の PC で試しています。

* Intel Core i5 (7th GEN 7500/4 cores)/16GB Memory/512GB SSD
* Intel Core i3 (4th GEN 4005/2 cores)/8GB Memory/512GB SSD
です。Ubuntu だけで使う分には8 GB メモリの PC でも十分ですが、仮想マシーンを動かすと性能に影響が出るのが分かります。しかし、仮想マシンに割り当てるメモリ容量が少ないとかなり遅くなるので、仮想マシーンにも4 GB のメモリを割り当てて使っています。2 GB だとかなり遅くなります。ドライブの容量はどちらも512 GB あるので特に問題はありません。

メモリが16 GB あると仮想マシーンにも8 GB のメモリを割り当てても問題ないため、この設定で使うとホスト OS の Linux (Ubuntu)もゲスト OS の Windows10 も殆ど問題なしで普通に使う事ができます。

実際は、仮想マシーンに割り当てるメモリ容量は仮想マシーン起動前ならば変更できるので利用する目的(アプリ)によって割り当てる量を調整すれば上手く利用できると思います。

まとめ
Ubuntu で Windows のアプリを使いたい場合、一番便利な方法は Wine の活用ですが、動かないアプリも多いので、仮想マシーン上で Windows10 を動かす方法と併用するのが一番無難で便利な方法だと思います。

仮想マシーンを Linux 上で動かす場合、8 GB メモリの PC だと少し性能に影響が出るので少し無理がありますが、16 GB メモリがあるとかなり快適に利用できます。1台の PC で2つの OS が同時に使えるととても便利です。ただ、2つの OS を同時に動かす場合、ディスプレーも2つあった方が圧倒的に便利です。

一つのディスプレーしかない場合はウインドウを切り替えるか、デュアルブートでも良いかもしれません。

仮想マシーンで動作する OS も予想以上に快適に動作するので少しメモリに余裕がある PC の場合は入れておくと便利だと思います。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す