構造やターミナルといった機能が使いやすいのでLinuxでプログラミングをしたいのですが、諸事情により手元にWindowsのPCしかありません。Ubuntuを入れてしまうとそれはそれで困るので、仮想マシンでubuntuを入れて使おうと思うのですが、このやり方にデメリットはあるのでしょうか?
また、Ubuntu上のファイルははWindows側からアクセス可能なのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答5件
0
何と比べてのデメリットでしょうか?
ケース1:WindowsとLinuxのデュアルブートにする(電源オン時にどちらのOSを使うか選択)
ケース2:Windowsの中の仮想マシンにLinuxをインストールして両方同時に使う
の比較で言うと、
ケース1:PC起動毎に、どちらか一方しか使えない。しかし、使っている間はCPUとメモリを占有できる。ディスクをパーティションに分割してそれぞれ分け合う。
Windowsを起動した状態でLinuxのパーティション上のファイルを読み書きは出来ないんじゃないかな(ツールがあるかも。よく知りません)。逆にLinuxを起動してWindowsのパーティション上のファイルを読み書きは出来る。
ケース2:CPUとメモリを分け合う感じになるので、単純に言えば2倍必要(CPUは2倍無くていいですが、LinuxでもGUIを使うならメモリは少なくとも8GBくらいは欲しい)。複数OSを同時に使える。同時に3つのOSを起動することも可能だが、当然メモリは3倍必要。LinuxからのLinuxファイルアクセスは、仮想ディスクのアクセスになるので、物理的なディスクアクセスよりは遅い。
トータルのメモリが足りない場合、ケース1にくらべ性能ががくんと落ちる可能性有り。
WindowsからはLinuxのディスクは大きなWindows上のファイルに見える。ネットワーク経由でその中の個別のファイルに読み書き可能。LinuxからWindowsのファイルアクセスもネットワーク経由で読み書き可能。ネットワーク経由なので、当然遅い。
総合的に考えると、メモリが足りなくない限りはケース2がいいでしょう。
投稿2017/08/30 12:36
総合スコア86281
0
仮想マシン上にubuntuを入れる選択肢はありだと思います。プログラミングはlinuxを使わなくてもできますが、linuxを使うことでCUIになれ、vimなどを使いこなせればスピーディーにプログラミングできるようになるかもしれません。
かといって、すべてのプログラマーがlinux環境でプログラミングしているわけではありません。windows環境のみで開発している会社もたくさんありますし、windows上で開発しても構わないと思いますが、仮想環境を構築する勉強にもなるし、ubuntuに慣れるのもいいかと思います。
デメリットとしては、仮想環境を構築するのに多少時間がかかることでしょうか。
vagrantなりdockerなり設定ファイルを書いたり、環境を構築できてもlinuxのコマンドがわからないと何も開発できませんので。
まずは基礎的なlinuxコマンドを覚えて、それからモジュールをインストールしたり、フレームワークやらデーモンやら触って覚えていけばいいと思います。
teratailの方に教えてもらったことですが、linuxのカーネル部分も難解ですが、linuxの基幹部分ですので仕組みを理解するにはそうしたファイルも読んだり、いじってlinuxを壊しながら覚えればとても勉強になると思います。
投稿2017/08/30 13:43
編集2017/08/30 13:44総合スコア1161
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
こんにちは。
私もWindowsにVirtualBoxを入れてubuntuを使ってます。
基本的には使えますが、細々した問題はあります。別マシンにubuntuをいれたことはないので仮想マシン特有の問題ではないかもしれません。
一番鬱陶しのは、Windows上のHDDを共有ドライブに設定した時、その上でubuntu側でビルドするとファイルの時刻とubuntuの時刻がずれるのでmakeシステムが時間がズレている旨警告してきます。
私はほとんどの場合リビルドしているので事実上問題にはなりませんが、普通に開発する場合はかなり痛いのでubuntuネイティブのドライブ上でビルドするべきでしょう。
それをWindows側からアクセスできるようにすることは恐らく可能な筈ですが、やったことはありません。恐らくファイヤウォールの設定も必要だろうと思います。
投稿2017/08/30 11:05
総合スコア23274
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
最近のPC(メモリ4G以上/i5程度)であれば仮想マシン上で,Ubuntuは動くと思います.
ゲストOSには,メモリ4GB/ハードディスク24GBくらい割り当てれば十分です.割り当てるメモリはホストOSの半分程度を上限にしてください.システムが遅くなってしまいます.
メモリ2GBなどでも動きますが,ヘビーユースするとちょっともっさりするかもです.
デメリットといえば,HDDやSSDを圧迫することでしょうか.もし残量が少ないようであれば,USB3.0やUSB-Cの早い外付けハードディスクなどに入れて起動すれば十分に使えます.
Ubuntu上のデータへは,VMware toolsやVirtualBoxのGuest Additionsを入れれば,ドラッグ&ドロップでファイル移動できます.また,ホストOS(Windows)上に共有フォルダを作ることもできます.ゲストOS上に共有フォルダのデータを保持できるかはわかりません.すみません.
もし,ターミナルだけで十分なのであれば,"Bash on Ubuntu on Windows"がおすすめです.ターミナルを使ったプログラミングやサーバへSSH,Linuxのコンソール操作であれば,結構普通に使えます.
投稿2017/08/30 10:09
総合スコア16
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。