Hi's way

アクセスカウンタ

help RSS UbuntuとWindowsでファイル共有

<<   作成日時 : 2008/08/28 23:59   >>

トラックバック 1 / コメント 0

 先日VirtualBox上にUbuntuをインストールしてみましたが、少しずつ環境を整えて遊んでいます。まずやってみたのがホストOSであるWindwosとのファイル共有です。そもそもVirtualBoxはホストとゲストともにWindows同士であってもネットワーク越しにファイル共有するのは非常に面倒です。これはVirtualBoxのネットワークのデフォルト設定がNATになっているためで、この辺に関しては本当はまぁいろいろと利点欠点があるのですが、ともかくWindows同士であればそれでもちょっと設定してやるだけで簡単にファイルネットワーク越しにファイルの共有ができます。

 が、ホストがWindows,ゲストがLinuxとなると簡単にはいかないようです。それでもこれまたWindosw同士の場合と同様にいろいろとやり方はあるようですが、私なりの調査の結果、VirtualBoxが提供するファイル共有機能を利用するのが一番簡単確実だろうという結論になりました。
 で、今後のために備忘録として手順を書き留めておきたいと思います。

1. 共有元フォルダの設定(Windowsホスト上)
 まずはUbuntuを立ち上げる前にVirtualBox上でファイル共有の設定をします。ここで設定するのはホスト上の共有したいフォルダを指定し名前をつけるだけです。設定を何回も繰り返せば共有フォルダはいくつでも指定できます。仮にここでは、共有フォルダの名前を"windows_share"と名付けることにします。

画像
VirtualBoxの共有フォルダ設定画面


2. 共有先フォルダの作成(Ubuntuゲスト上)
 次に仮想マシン上でUbuntuを起動し、先ほどホスト上で指定した共有フォルダをUbuntu上にマウントします。まずは、ユーザー(=自分のアカウント)のホームフォルダなどに、共有先のフォルダを作成します。中身は空のままで。この作業はコマンドを打つことなくファイルブラウザでWindowsと同様な感覚でできます。もちろんコマンドラインでも可能。ここでは、共有元フォルダの名前と同様に"windows_share"というフォルダをホームに作成しました。

3. 共有フォルダのマウント
 ここからがLinux初心者には難しいところです。といっても、端末を開いて以下のようなコマンドを打つだけ。

 sudo mount.vboxsf windows_share /home/user/windows_share

 先頭の"sudo"はroot権限を得るためのおまじない。続く"mount.vboxsf"までがコマンドです。その次の"windows_share"は1.の作業で設定した共有フォルダ名を指定する部分。最後のhome以降の項でマウント先を指定しています。"user"の部分は自分のアカウント名が入ります。最後の"windows_share"は2で作成したフォルダ名です。必ずしも1.で設定した共有フォルダ名と同じである必要はありません。

画像
ホームフォルダ上に作成した共有先フォルダ(クリックで大きくなります)

 以上のコマンドを実行すると、自分のパスワードを聞かれ、その認証が通ると共有フォルダのマウントが完了します。2.で作成したフォルダを開くと、1.で指定したWindowsホスト上の共有フォルダの中身が見えているはずです。

4. ログオン時に自動的にマウントされるようにする
 そのままではUbuntuにログオンするたびに3.のコマンドを打たなくてはなりません。それはあまりにも面倒なので、ログオン時に自動的に共有フォルダに接続するようにするために、"/etc/rc.local"というファイルに3.のコマンドを書き加えておきます。ちなみにこのrc.localというファイルはroot権限がないと編集ができないので、下記のようにコマンドラインから起動します。

 sudo gedit /etc/rc.local

 このコマンドを実行するとgeditというテキストエディタが開いてrc/localが読み込まれます。初期状態ではこのファイルにはコメントのみで何もコマンドは書かれていないはず。最終行の"exit 0"の前に3. のコマンド(先頭のsudoは不要です)を書き加えておきます。

画像
geditでrc.localを編集中


 保存して閉じれば完了。次に起動したときは自動的に共有フォルダが見える状態になっているはずです。ちなみにこのrc.localにあらかじめ書かれているコメントにあるように、このファイルのアクセス権に実行可能な属性が付いていないと起動時に実行されません。ただし、デフォルトでは実行可能になっているはずです。

 もしアクセス権の確認はファイルブラウザでできますが、変更するにはroot権限が必要ですのでまたコマンドラインからsudoを頭につけて"chmod"コマンドを打つ必要があります。chmodコマンドの詳細な使い方はgoogleで。


-----
おまけ:Windowsゲストの場合
 ちなみにVirtualBox上のWindowsゲストとファイル共有するためには、VirtualBoxのファイル共有機能を使う必要はなく、ホストOSのIPアドレス(ゲストから見たホストの仮想的なIPアドレス)を"ファイル名を指定して実行"から指定することで、ホスト上の共有フォルダが見えるようになります。ちなみにホストOSのIPアドレスは10.0.2.2です。Windows上では"\\10.0.2.2"と打ち込めばOK。

画像
Windowsゲストの場合はIPアドレス直指定でホストにアクセス可能

 毎回IPアドレス打つのは面倒なのでショートカットを作っておけばなお便利です。(アドレスバーのアイコンをドラッグすればショートカットが作れます)

 ただし、ホストのファイヤーウォールの設定によってはゲスト上からのアクセスが拒否される場合があります。私が試した限りでは、Windows標準やウィルスバスターのファイヤーウォールは問題ありませんでしたが、カペルスキーをホストで使っていると、デフォルトのままではファイル共有できません。カペルスキーのファイヤーウォールの設定でパケットフィルタリングのルールを緩和してやる必要があります。が、ホストPCの置かれたネットワーク環境によってはセキュリティに大きな影響を与えるので注意が必要です。なので、ここでは詳細な設定は書かないことにしておきます。

 その場合、やはりVirtualBoxのファイル共有機能を使うか、ネットワーク設定をNATではなくブリッジにした方がいいかもしれません。

テーマ

関連テーマ 一覧


月別リンク

トラックバック(1件)

タイトル (本文) ブログ名/日時
[Ubuntu][メモ]共有フォルダ
またまたホストOS(Windows Vista)とゲストOS(Ubuntu)との間の共有フォルダの設定。 この前の時にコマンドをファイルに保存した筈が、そのファイルが行方不明なので、また血眼になって探す羽目にwLinuxも初心者だし、ホントコマンドは分からない。面白いけど。という事で、 ...続きを見る
有言実行。
2009/09/05 08:50
UbuntuとWindowsでファイル共有 Hi's way/BIGLOBEウェブリブログ
[ ]