PCごとにドライブが違ってもDropboxを快適に使う方法-2 (完結編)
2018/04/07
複数PCでDropboxを使う場合、どのPCも同じドライブを使っていればいいのですが、PCによってDropboxの場所がCドライブだったりDドライブだったりすると色々問題が起きます。
PCごとにDropboxのインストール先ドライブが異なっていても快適に使用する方法を紹介します。
今回は最善の方法を紹介する完結編です。
目次
解決方法③ ― 複数の場所に同時に同期する
いくらDropboxに大量のファイルが同期されているとは言っても、ファイルパスが問題になるようなアプリケーションはファイルサイズにすればほんの一部 で、容量の大半は動画や画像が占めていることでしょう。なので、ファイルパスが厄介なアプリケーション類だけ同じCドライブに同期して、残りはすべてDド ライブに同期することを考えます。
Dropboxは同期先を1箇所しか指定できないので、通常の方法ではできません。そこで、Windows上で2つのアカウントを使用します。
通常アカウントにインストールしたDropboxでは、Cドライブにアプリケーション類の入ったフォルダだけを指定して同期します。Windowsの設定/コントロールパネルから、Dropbox同期専用のユーザーを作成して、そのユーザーが実行しているという形態でもう一つのDropboxを実行し、こちらをDドライブに同期します。最初の設定だけは面倒ですが、上の画像のように2つのDropboxが実行できるようになります。
詳しくはこのサイトを参照してください → 【Windows】Dropboxを複数アカウント設定する方法
この方法でもまだ問題があります。
アプリケーションが動画や文書を参照していることもある
アプリケーションフォルダをうまく選んでおけば、ほとんどの場合ではパスに関する問題は発生しません。ですが、使うアプリケーションや作業内容によっては問題が発生します。
- 動画再生ソフトのポータブル版を使っていて、動画の続きを別PCで見ようと思ったら動画の場所が違っていた。
- 電子書籍ビューアーを使っていて、途中読みの書籍にしおりを設定していたのに、別PCでは反映されなかった。
こういう場合には、動画や文書が別ドライブに同期されていることで問題が発生します。こういう作業の対象になるファイルをCに移すのは面倒ですし、全部Cに移したら意味がありません。
アイコンの問題
仮想ドライブの場合とは少し異なるアイコンの問題が発生します。(片方は別ユーザー経由ですが)同じユーザーが同時に2つのDropboxを実行している場合、アイコンオーバーレイは先に起動したDropboxの同期先にしか表示されません。
先に自身のDropbox(Cに同期)を起動した場合、CドライブのDropboxフォルダにはアイコンオーバーレイが表示されますが、バッチファイルで起動されるDドライブにはアイコンオーバーレイは表示されません。各ファイルの同期状態が見えないのは地味に不便です。
この問題はPC②だけで発生するので、普段はノートPC(PC①タイプ)を使う人は大きな問題にはならないかもしれません。
惜しい!
この方法はそこそこ上手くいっていたので、1年半くらい使っていました。当時はメインがノートPCだったので、アイコンの問題に目をつむれば大半の作業では問題が発生しませんでした。
転換点はメインがデスクトップに移ったことです。普段使うPCでアイコンの表示が不確実なのを問題視しました。
過去には改造したDropboxを使って複数アカウントや複数起動をできるようにしたものもありましたが、Dropbox側の裁量次第で使えなくなる代物なので今回は取り上げませんでした。今もあるんですかね?
解決方法④ ― 仮想ドライブ+シンボリックリンク
現状最善の解決方法です。
解決方法②「Dropbox専用の仮想ドライブ」は複数のアクセス方法があることによって問題が発生してしまいました。Xドライブだけでアクセスして欲しいのにCやDでアクセスする可能性があるからです。
そこで、仮想と実体のどちらにアクセスされても問題が発生しないようにしてみましょう。
PC①ではCドライブにDropboxを同期して、Dドライブからもアクセスできるように設定します。PC②ではDドライブにDropboxを同期して、Cドライブからもアクセスできるように設定します。普段はそれぞれ実際の同期先フォルダを利用して、仮想で作られている方(灰色)は意識しません。
目立った問題は発生しない
この方法だと、アプリケーションの認識する設定ファイルの場所がCドライブでもDドライブでも、両方のPCから変わらずアクセスできるようになります。
アイコンについても、普段利用するフォルダは実際に同期する方のフォルダ(水色)なので、普段見る方にアイコンオーバーレイが表示されて利便性は損なわれません。
PC②では使用しないDドライブが新たに作られることになりますが、レジストリ設定によってエクスプローラ上では非表示にすることができます。
最重要ポイントとして、もし仮に仮想ドライブやシンボリックリンクに問題が発生したとしても、Dropboxのファイルは実体のある方に同期先が設定されているので、ファイルが削除される可能性はありません。安心して利用できることが最も重要ですからね。
セットアップ方法
まず前提として、この方法は以下の環境下でのみ使用可能な方法で説明します。
- ドライブレターはCとDでなくても可能だが、現実的に需要があるのは「Cと何か」の組み合わせだろう。ここではCとDとして説明する。
- PC①は「CドライブのみのPC」(ノートPCを想定)、
PC②は「Cドライブが存在するが、Dドライブに同期する」(デスクトップPCを想定)であることが必要。 - Cドライブは「C:\○○\Dropbox」に同期。直下にしない方が無難(後述)。説明では「C:\Soft\Dropbox」に同期する。
- Dドライブは直下の「D:\Dropbox」に同期。
作業内容を理解すれば、同期場所を3ヶ所以上にするとか、存在するドライブ同士とかも可能ですが、ここでは上記の状況のみを想定します。
PC①「CドライブしかないPC」
Dropboxの同期場所を「C:\Soft\Dropbox」に設定します。「Dropbox」フォルダは自動的に作成されるので、実際にはフォルダの移動で移動先に「C:\Soft」を選択します。
次に、「C:\Soft\Dropbox」を「D:\Dropbox」でもアクセスできるように設定します。「仮想ドライブ」という方法を使います。
※ ここから先はレジストリの編集を伴います。作業を間違えるとWindowsが起動しないなど重大な問題を引き起こす可能性があるので十分注意してください。
レジストリエディター(regedit.exe)を開いて、[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices]にたどります。
DOS Devicesを右クリックして[新規]→[文字列値]をクリックします。名前には仮想で作成するドライブ名「D:」、データには実体フォルダにオマケを付けて「\??\C:\Soft」と入力します。「\??\」は文字化けなどではなく必要な文字列です。
再起動するとDドライブが作成されます。容量やラベル(ここでは「Windows」)はCドライブと同じで、中身は[C:\Soft]と同一です。これで「C:\Soft\Dropbox」と「D:\Dropbox」のいずれでもDropboxにアクセスできるようになりました。
このDドライブ、Dropboxを快適に使うためには必要ですが、存在を見せておく必要はありません。ユーザーは普段Cドライブからアクセスするわけですから。そこで非表示に設定します。
非表示にしたいユーザーでログインして(複数ユーザーがある場合はそれぞれ設定が必要)、再びレジストリエディターを開きます。[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies]をたどり、Policiesにキー[Explorer](フォルダみたいなやつ)がなければ右クリック→[新規]→[キー]で作成します。Explorerに[新規]→[DWORD(32ビット)値]で「NoDrives」を作成します。
NoDrivesの値は少し特殊で、Z~Aを表示/非表示で0/1を割りあてた値を入力します。例えばCドライブとFドライブを非表示にするなら以下の通り。
16進数は、Windowsの電卓を 表示→プログラマ にすれば計算できます。「2進」で0/1を入力して「16進」に変えると値が表示されます。
今回はDドライブだけを非表示にしたいので、16進数で「8」と入れました。再起動するとエクスプローラーからはDドライブが見えなくなりますが、仮想ドライブが消えたわけではないので、アドレスに「D:」と入れれば中身が見られます。
これで設定完了です!
PC②「DropboxをCドライブ以外に同期するPC」
Dropboxの同期場所を「D:\Dropbox」に設定します。「Dropbox」フォルダは自動的に作成されるので、実際にはフォルダの移動で移動先に「D:」を選択します。
次に、「D:\Dropbox」を「C:\Soft\Dropbox」でもアクセスできるように設定します。「シンボリックリンク」という方法を使います。
シンボリックリンクは、実体ファイル/フォルダを別の場所からもアクセスできるようにする方法です。今回は、実体「D:\Dropbox」を「C:\Soft\Dropbox」にリンクします。
コマンドプロンプトを管理者権限で開き、以下のコマンドを入力します。
mklink /d "C:\Soft\Dropbox" "D:\Dropbox"
再起動不要で、C:\Softにリンク「Dropbox」が作成されます。見た目はショートカットと同じですが、シンボリックリンクが作成されました。(ちなみに削除は rmdir "[リンク先パス]" です)
これでPC②でも「C:\Soft\Dropbox」「D:\Dropbox」のいずれからもアクセスできるようになりました。シンボリックリンク「C:\Soft\Dropbox」が作られていますが、PC①の場合と違ってただのショートカットなので、わざわざ非表示にする必要はないでしょう。
これで完了です!
注意点
この方法には注意点があります。PC①で仮想ドライブ「D」にマウントしていますが、レジストリによって仮想ドライブがマウントされるよりも先に他のドライブが「D」に割りあてられてしまうと「D」にマウントできなくなってしまいます。具体的には、外付けHDDや光学ドライブ、SDカードなどが接続された状態で起動されると、Dドライブを先に取られてしまう可能性があるということです。
これを避けるためには、確実に取られる可能性の無いドライブにマウントしておくといいでしょう。例では「C:\Soft\Dropbox」と「D:\Dropbox」の組み合わせで紹介しましたが、「C:\Soft\Dropbox」と「S:\Dropbox」のような自分が割りあてることのないドライブレターにすればこの問題はほぼ無視できます。PC②ではこれに合わせてDropbox用ドライブを「S」に変更する必要があります。
とはいえ、仮にDドライブが先に取られていても一部のアプリケーションが「D:\Dropboxに無いよ!」って文句を言ってくるとかで不便になるだけです。前回紹介したXドライブに同期する場合のような「Dropboxからファイルが削除される危険性」ではありませんので、さほど深刻に考える必要はないと思います。
[補足]Cドライブ直下にしない理由
技術的には「C:\Soft\Dropbox」ではなく「C:\Dropbox」に置いてC・D共にドライブ直下にすることも可能です。ですがC直下にしていないのには理由があります。
PC① では「C:\Soft」を「D:」に仮想ドライブとしてマウントしました。PC②の同期先が「D:」ではなく「D:\Dropbox」である以上、「C:\Soft」を丸ごと仮想ドライブにしないと同じパスになりません。
この設定では、「C:\Soft\Dropbox」以外に例えば「C:\Soft\AAA」と いうフォルダ/ファイルがあれば、「D:\AAA」でもアクセスできるということです。
もし「C:\Dropbox」に同期していた場合、「C:」を仮想ドライブ「D:」にマウントすることになります。つまりCとDは全くの同一になるということです。マウント自体は可能です。ですが、「C:」には「C:\Windows」「C:\Users」「C:\Program Files」などのシステムの動作の根幹に関わるファイルがすべて含まれています。ページファイルやハイバネーションファイルすらも含まれます。
Windowsフォルダやページファイルなどが(実体は一つですが)複数の場所にあった場合にどんな問題が発生するかは予測できません。「すべてのドライブレターについて○○を探索」「すべてのドライブレター内の○○について××を実行」なんてプログラムが存在すれば、たちまちエラーの原因になるでしょう。
今回は「快適にDropboxを利用する」が主題ですから、未知のエラーの発生源になるような操作はしない方が賢明です。ですから「C:\Soft\Dropbox」に置くことにしています。
まとめ
私は解決方法③「複数場所に同期」を1年半使っていましたが、アイコンの問題や、動画や画像ファイルのパスが異なる問題が無視できなかったので、PCの入れ替えを機に解決方法④「仮想ドライブ+シンボリックリンク」を編み出しました。
解決方法④を数ヶ月使っていますが、今のところ問題は何も発生しておらず、実に快適に利用できています。お陰でデスクトップではOS外のドライブに全ファイル(600GB程度)を同期、ノートPCではCドライブに一部ファイルを同期という期待通りの動作を何のストレスも無く利用できています。
※追記 解決方法④を使って1年程になりますが、何の問題も発生しておりません。「DropboxをPCごとに別ドライブに同期する」という目的は完全に達成できたと思います。
この記事がDropboxの同期先ドライブについてお悩みの方の力になれればと思います。