1. まとめトップ

この記事は私がまとめました

Y_akaikeさん

SDカードはリムーバブルディスク

ウルトラブックやタブレットPCでは内蔵ドライブの容量が小さいことが多く、SDカードなどを挿しっぱなしにしてストレージを確保しすることも多い。

 ですがSDカードはWindowsではリムーバブルディスク扱いをされてしまうために、プログラムのインストールや一部フォルダの移動に制限がかかってしまう。

SDカードそのものを内蔵ドライブと認識させるにはドライバの入れ替えなど、面倒くさい手順が必要なのだがWindows7以降ならば仮想HDDを使うことでこの問題を簡単に回避できる。

仮想HDDを使おう

仮想HDDとは仮想ハードディスクファイル(.vhd)を作成し、あたかもそれがひとつのHDDであるかのように使用することのできる機能である。
このVHDファイルはSDカードなどのリムーバブルディスク上にも作成できるため、SDカードの容量を内蔵ディスクのように使えるようになるのだ。

仮想HDD(VHDファイル)を作る

VHDファイルは、ディスク管理から簡単に作ることができる。

Winodws8.1ではスタートボタン上で右クリックしたメニューの中にディスク管理が有る。

メニューの[操作]から[VHDの作成]を選択

VHDファイルの位置・サイズを指定してVHDファイルを作成する。SDカード上も指定できる。

容量は固定のほうがややアクセス速度が向上する。

作成後、自動的にマウントされるので普通のHDDのようにフォーマットなどを行って使用する。

元のSDカードとは別に仮想HDDが追加された。

仮想HDDを自動でマウントする

VHDは再起動するとマウント解除されてしまう。常時マウントしておきたい場合は、以下の様な手順が必要になる。

(1) diskpart用のスクリプトを作成

 diskpartコマンドは、/sでスクリプトファイルを指定して実行する事ができる。必要なドライブをマウントするためのスクリプトを作成する。

select vdisk file="X:\Path\FileName.vhd"
attach vdisk

(2) diskpartを実行するバッチファイルを作成
 コマンドを実行するためのバッチファイルを作成する。

diskpart -s X:\Path\FileName.txt

(3) タスクスケジューラへの登録

 タスクスケジューラに(2)のバッチファイルを登録する。(2)の内容が1行なので、バッチファイルなしでも登録できるが、バッチファイルにしておいた方が変更がしやすい。
 タススケジューラには、アカウントをsystemで、起動時に実行されるように設定する。systemで実行する場合は、「最上位の特権で実行する」にチェックを入れる必要はない

注意点:
 この方法だと、起動直後にログインすると、マウントが完了していない事がある。スタートアップでVHDファイル上にアクセスしている場合は失敗するので注意が必要になる。

1