目次
概要
OSをデュアルブートしていると、OS間のファイルの行き来が面倒な場面が多々あります。
また、その他のデバイスとの連携を考え、私はDropboxをはじめとしたストレージサービスを利用しています。
前提
この記事は下記に当てはまる人向けに書かれています。
- OSをデュアルブートしている
- クラウドストレージサービスを利用している
- 両OSでストレージサービスをインストールしている
- ディスク容量にそこまで余裕がなく、両OSにファイル同期したくない
ちなみに私は
- Surface Pro 3(ディスク:256GB)
- Ubuntu 15.10 (メインOS)
- Windows 10(サブOS)
- Copy (クラウドストレージ)
という環境なので、下記はUbuntuベースで説明をしていきます。
概念的にはすべてのOSに通ずるものだと思います。
作業概要
- Windowsでクライアントアプリをインストールして、ファイル同期を行う。
- UbuntuでWindowsのディスク領域をマウントする
- Ubuntuにクライアントアプリをインストールして、同期フォルダをWindowsで同期したフォルダを指定する
- Ubuntuのクライアントアプリの自動起動設定周りの調整
1.Windowsでクライアントアプリをインストールしてファイル同期
Windowsにあるクライアントアプリをダウンロードして、インストールする。
これは大体のクラウドストレージサービスも共通する項目だと思います。
私はクラウドストレージ「Copy」を使用しているので、Copyのダウンロードページよりアプリをダウンロードしてインストールします。
インストールした後は、ログインを行い、任意のフォルダに同期を行います。
2.UbuntuでWindowsのディスク領域をマウントする
次にPCを再起動させ、OSをUbuntuに切り替えます。
OSを切り替えた後、「Super」ボタンでランチャーを起動→「ディスク」と入力し、ディスクアプリを起動。
アプリ起動後、Windowsのパーティションのデバイスパスを確認します。
その後、ターミナル(端末)で下記コマンドを入力し、デバイスをマウントします。
$ gvfs-mount --device=[デバイスパス]
3.Ubuntuにクライアントアプリをインストールして、同期フォルダをWindowsで同期したフォルダを指定する
Ubuntuでもクライアントアプリをインストールします。
CopyやDropboxはLinuxでもGUIアプリがあって優しいですね。
インストールを完了したあとはWindowsと同じく、ログイン→同期フォルダの指定を行います。
この時、マウントしたWindows環境にすでに構築してある同期フォルダを指定します。
これで、大体の設定は完了です。
あとはUbuntu環境で、そのマウントディレクトリにアクセスしやすいようにシンボリックリンクでも貼りましょう。
$ ln -s [Windowsマウントのパス] [Ubuntu環境のシンボリックリンク設置先]
4.Ubuntuのクライアントアプリの自動起動設定周りの調整
最終調整です。
上記までで1箇所にまとめることは成功しましたが、このままだとUbuntuのクライアントアプリを立ち上げたタイミングではディスクがマウントされていないため、アプリが異常終了してしまうことがあります。
それを回避するための調整を行います。
4−1.OS起動時にWindows領域をマウントするように調整
下記のシェルファイルを作りましょう。
#!/bin/bash $ gvfs-mount --device=[デバイスパス]
4−2.上記シェルファイルを自動起動するように設定します。
作ったシェルファイルのパーミッションを変更し、コマンドとして実行できるようにします。
その後、「Super」→「自動起動」と入力し、「自動起動するアプリケーション」を立ち上げます。
自動起動するアプリの一覧に、先ほど作成したシェルファイルのパスを登録します。
これで起動時にWin環境がマウントされるようになります。
4−3.クライアントアプリの遅延実行
まだ、このままでもマウントされる前にクライアントアプリが立ち上がり、異常終了してしまいます。
その対策として、クライアントアプリを遅延実行しましょう。
遅延実行も簡単です。またシェルファイルを作成しましょう。
#!/bin/sh sleep 20 /home/user/copy/x86_64/CopyAgent
2行目は何秒遅延するのかの指定、3行目はクライアントアプリを実行させるコマンドです。
上記だと、20秒遅延させて、その後/home/user/copy/x86_64/にあるCopyAgentを実行する文になります。
あとは4-2で行った作業と同じく、実行権限を付与してやり、自動起動するアプリケーションに登録しましょう。
シンボリックリンクでの同期
ファイルをマウントしたパスに対し、シンボリックリンクを貼り、そのリンクを同期フォルダに指定した場合、Sync状態が終わらずループに陥ってしまいました。
Dropboxでも同じような状態になるという記事を見つけたので、Copy固有の問題ではないと思います。
なので、シンボリックリンクに対してCopyフォルダを指定するのではなく、実体フォルダに対して指定してあげることが必要です。
Copyとは
今さらながらCopyですが、これはDropboxやboxのようなクラウドストレージサービスです。
個人的にはその容量の大きさと対応デバイスの多さから最も使いやすいものだと感じています。
詳しくは下記記事にて紹介しておりますので、気になる方はぜひ御覧ください。