仮想ハードドライブの導入

Windows8.1のノートPCのハードディスク増設の代わりとしてSDカードを購入し、その使い勝手の改善として仮想ハードドライブを作成、設定しました。

その手順をレポートします。

はじめに

ノートPCのディスク容量がなくなってきたので、ディスク増設の代わりにSDカード(64GB、class10、UHS-I。本当はmicroSD)を買いました。(他の機器とのデータのやり取りをする用途は考えていません。)

そしてGoogle Driveの同期ディレクトリをまるごと移動するために、NTFSでフォーマットし直し、Bドライブに割り当てました。ところが…。

尚、以下のレポートはWindows 8.1が対象です。

SDカードをHD代わりに使うことの問題点

読み書きが遅いのは仕方ないと思っていました。

しかし実際に使ってみると、以下のように使い勝手はあまり良くありません。

  • ゴミ箱がない
  • エクスプローラーを含め、アプリが引っかかったような動作になる。
  • ぐるぐるマークで数秒黙ることも。

これらは、SDカードは「リムーバブルディスク」なので致し方ないのかもしれません。

1点目は、いざという時がありそうで不安です。(ゴミ箱は空っぽにしないと容量を食うので、リムーバブルディスクには不向き、ということなのでしょう。)

2点目と3点目は、複数のアプリが同時に読み書きするような状態の時に顕著のように感じました。いつ抜かれるかわからないので、書き込みキャッシュをしておらず、待ち状態になりがちなのでしょう。

しかも私のような用途の場合、Google Driveの同期アプリが常にアクセスします。

VHD(仮想ハードドライブ)の導入

そこで、仮想ハードドライブ(以降、VHDと記載)を導入に有することにしました。

VHDは、実物はディスク上のファイルですが、ドライブとしてマウントできます。

VHDのドライバが、実際のドライブ(SDカード)への読み書きを適当にキャッシュしつつ、シリアライズしてくれれば、上の使い勝手の悪さを改善してくれるのではないかとの期待です。

結論

結論を先に書きますと、VHDにて先の3点の問題は改善しました。

仮想ドライブを作らなくても、SDカードの書き込みキャッシュを有効にすることはできるようです。(「ボリュームの設定」の節を参照。)
しかしこの場合、ゴミ箱はできないように思います。

作戦

現在の私の環境では、Bドライブに割り当てたSDカードにGoogle Driveの同期ディレクトリなどのデータがあります。

まずSDカード上にVHDを適当なドライブ(Yドライブ)で作成し、データをそこに移動。その後、SDカードを適当なドライブに割り当て、VHDをBドライブに割り当て直します。

そうすれば、Bドライブの内容の見た目変わらず、SDからVHDにすり替わり、今まで設定したアプリもそのまま使えるのではないかと。

ここでも結論を書くと、Google Driveの同期アプリは騙されてくれませんでした。(ownCloudの同期アプリは騙されてくれました。)

VHDの作成と設定

では、実際にWindows8.1でのVHDの作成をレポートします。

VHDの作成

Windowsキー+Xで開くシステムメニューより「ディスクの管理」を選択し、「ディスクの管理」ツールを起動します。

ディスクの管理ツール

ディスク1がVHDを作成するSDカードです。

ディスクの管理ツール:メニュー

メニューより「操作>VHDの作成」を選択します。

「仮想ハードディスクの作成と接続」ダイアログが開きますので、VHDのファイルの場所と、その他もろもろを指定します。

「仮想ハードディスクの作成と接続」ダイアログ

私は上のようにしました。

場所は、SDカードのBドライブ、VHDのサイズは50G、フォーマットは新しい方のVHDXです。容量固定の方が早いらしいですが、バックアップすることも考えて可変容量にします。

設定が終わったら、「OK」をクリックします。

水色のディスクが出来上がりました。

ディスクの管理ツール

「初期化がされていま…(せん)」ということなので、左側のディスクの説明を右クリックし、「ディスクの初期化」を選択します。

ディスクの初期化

ブートはしないので、GPTのまま「OK」をクリックします。

ディスクの管理ツール

「オンライン」になりました。しかし右側のボリュームの説明部には「未割り当て」と表示されています。

そこでボリュームの説明の上を右クリックし、「新しいシンプルボリューム」を選択します。

「新しいシンプル ボリューム ウィザード」が始まりますので、適当に「次へ」をクリックしていきます。

新しいシンプル ボリューム ウィザード

新しいシンプル ボリューム ウィザード

私の場合は、後でBドライブにするので、ここでは適当にYドライブにしています。フォーマットはNTFSのまま。

ウィザードを「完了」すると、フォーマットが始まります。

ディスクの管理ツール

しばらくして、フォーマットが完了しました。

ボリュームの設定

再び、ボリュームの領域を右クリックし、メニューより「プロパティ」を選択します。

ボリュームのプロパティ

「全般」のタブで、適当な名前(ここでは「SYNC_VHD」)を付け、「適応」をクリックします。

ここで試しに「ハードウェア」のタブを選択します。

ボリュームのプロパティ

ドライブのリストに「Microsoft 仮想ディスク」があるので、それを選択します。(上図では「Microsoft 仮想ディスク」が2つありますが、はじめての時は1つだけです。画面取りのために作り直しましたので2つになっています。)

そして「プロパティ」をクリックします。「Microsoft仮想ディスクのプロパティ」ダイアログが開きますので、「ポリシー」タブを開きます。

Microsoft仮想ディスクのプロパティ

書き込みキャッシュが有効になっていることが確認できました。

(ここで仮想ドライブを作らなくても、SDカードの書き込みキャッシュを有効にできることに気が付きました。)

全てのダイアログを閉じて、VHDの作成は終了です。

ドライブのレターの割り当て

ここで、私はSDカード直下に作っていた同期ディレクトリを、VHDのYドライブにコピーしました。

実態はSDディスク内のデータの書き換えなのですが。(数時間かかりました。)

そして現在BドライブになっているSDカードをXドライブにして、VHDをBドライブに割り当てます。

作業の前に、Google Driveなどの同期アプリは全て終了します。

最初に、一旦VHDをアンマウントします。

Windowsキー+Xのシステムメニューより「ディスクの管理」を選択し、再び「ディスクの管理ツール」を起動します。

ディスクの管理ツール

VHDの説明部を右クリックし、「VHDの切断」を選択します。確認のダイアログが表示されますが「OK」をクリックします。

そして、SDカードをXドライブにします。

ディスクの管理ツール

SDカードのボリューム(Bドライブ)を右クリックし、メニューより「ドライブ文字とパスの変更」を選択します。

ドライブ文字とパスの変更

ダイアログで「変更」をクリックします。

ドライブ文字とパスの変更

「次のドライブ文字を割り当てる」で適当なラベル(X)を選択し、「OK」をクリックします。確認のダイアログでも「OK」をクリックします。

ディスクの管理ツール

SDカードがXドライブになりました。

今度はVHDをBドライブに割り当てます。

メニューより「操作>VHDの接続」を選択します。

ディスクの管理ツール

SDカード(X:)にある、VHDのファイルを指定し、「OK」をクリックします。

VHDがYドライブとして復活しました。

ディスクの管理ツール

先ほどのSDカードと同様、「ドライブ文字とパスの変更」から、VHDをBドライブに割り当てます。

ディスクの管理ツール

以上で、BドライブがSDカードからVHDに入れ替わりました。

Google Driveとの同期

Google Driveを起動します。すると…

Google Drive

「フォルダが見つかりません」とエラーがでました。

ここをクリックして「フォルダを探す」とやっても、「そこは前とちがうよ」と怒られてしまいます。(ファイルシステムにNTFSを指名するところからも、かなり深いところを操作しているのですね。)

ここは潔くGoogle Driveの同期ツールを再インストールして、ログアウトして接続し直します。(ちゃんと「詳細」からBドライブのフォルダを指定して。)

これでBドライブのGoogle Drive同期ディレクトリが復活しました。

以上で作業は終了です。

まとめ

SDカード上のファイルとして、仮想ハードドライブを作成しました。

削除したファイルはゴミ箱に入りますし、アプリの動作も快適になりました。

ということで、ノートPCでHD増設の代わりにSDカードを使う場合は、仮想ディスクにすることをお勧めします。

一点、再起動をするとVHDが切断状態になるようです。(その時は、ディスクの管理ツールのメニュー「操作>VHDの接続」より接続し直します。)

くれぐれも、使っている最中に取り外ししないようにご注意下さい。

コメントを残す