Literary Blog

世の中の動きと文学について

ストレージ容量不足を解消するためのSDカードの仮想ディスク化

スティックPCの使い勝手は結構良い

スティックPC

マウスコンピューター製のスティック型パソコン「m-Stickシリーズ MS-CH01F」

スティックPCを4年以上継続使用しています。
購入したスティックPCは、マウスコンピューター製の「m-Stickシリーズ MS-CH01F」です。
そして、搭載OSは Windows10。

4年過ぎても故障せずに、正常稼働しているので、購入して正解でした。
試しに購入した製品でしたが、性能などに関しても特に不満はありません。

クラウドストレージやネットサービスを利用することが多い方なら、快適に使用できるでしょう。
ただ、このスティックPCのストレージ容量は32GB。
OSはWindows10ですが、アップデートを繰り返していると、容量不足になります。

対処として最初に行ったのが、Windows10の標準アプリの中から不要なものをアンインストールする作業でした。
Windows PowerShellを使うと、一部を除く標準アプリの削除が可能です。

しかし、それだけでは容量不足は続きます。
そこで、ストレージ容量不足を根本的に解決するために、SDカードを仮想ディスク化しました。
VHDを作成し、バッチファイル作成とタスクスケジューラの設定を行います。
作業が終わって再起動しても自動接続するので、その後はそのまま通常通りに使用できます。

ただし、SDカードをカードリーダーにセットしたままにしなければなりません。
SDカードを使ってデータのやり取りをしない方には、有効な対処法です。
たまに必要になるくらいでも、問題ないでしょう。

VHDファイルとは

VHDとは、Virtual Hard Diskの略で、拡張子は「.vhd」。
SDカード上に作成することで、ドライブとしてマウントできます。
マウントしたSDカードは、ハードディスクと同様に扱うことができます。
つまり、リムーバブルディスクであるSDカードを、仮想化してプライマリーパーティションとして使用できるのです。

Windows10でVHDファイルを作成

Windows10でVHDファイルを作成する手順は次の通りです。

  1. Windowsエクスプローラーを開き、SDカードを右クリックし、メニューから[フォーマット]を選択
  2. [フォーマット]ダイアログが開いたら、容量を確認し、フォイルシステムは「NTFS」を選択して[開始ボタン]をクリック
  3. SDカードをNTFSファイルにフォーマットしたら、[スタート]ボタンを右クリックし、メニューから[ディスク管理]を選択
  4. [ディスク管理]ダイアログが開いたら、SDカードをフォーマットしたドライブを確認、ディスクはリムーバブルとなっている
  5. [ディスク管理]ダイアログに表示されるディスクの中から、VHDファイルを作成するドライブを選択
  6. [ディスク管理]ダイアログの[操作]メニューから[VHDの作成]を選択
  7. [仮想ハードディスクの作成と接続]ダイアログが開く
  8. [参照]ボタンをクリックし、適当なファイル名を付ける
  9. 「仮想ハードディスクのサイズ」でサイズを指定、SDカード容量いっぱいにせずに空き容量を残すことをお勧めする
  10. 「仮想ハードディスクフォーマット」として「VHD」または「VHDX」を選択、SDカード上であれば「VHD」で十分
  11. 「仮想ハードディスクの種類」で、推奨の「容量固定」を選択
  12. VHDファイルが作成され、新たなディスクとして表示されることを確認
  13. 「不明」と表示されるので、該当ディスクを選択し、右クリックメニューから[ディスクの初期化]を選択
  14. [ディスクの初期化]ダイアログが表示される
  15. 「選択したディスクに次のパーティションスタイルを使用する」で「MBRマスターブートレコード)」を選択
  16. 初期化が終わったら、[ディスク管理]を確認
  17. 「不明」から「ベーシック」となっている
  18. 「未割り当て」と表示されるので、右クリックメニューから[新しいシンプルボリューム]を選択
  19. [新しいシンプルボリューム]ウィザード画面が開始されるので、[次へ]をクリックし、順次進める
  20. Windowsエクスプローラーの画面で、VHDファイルがマウントされているのを確認

ただし、このままでは再起動するたびに、VHDファイルをダブルクリックする必要があります。
あるいは、[コンピューターの管理]画面や[ディスク管理]画面から手動で[VHDの接続]をクリックする必要があるのです。

電源を入れたり、再起動したりするたび、VHDファイルをダブルクリックするのは、いささか面倒です。
自動マウントさせる方法は、いくつか考えられますが、どうせなら[タスクスケジューラ]を利用する方法が良いと思います。
この方法だと、設定後は全く操作が不要となり、パソコンを起動したらすぐに作業に取り掛かれるからです。

テキストファイルとバッチファイルの作成

タスクスケジューラで設定をする前に、テキストファイルとバッチファイルを作成し、フォーマットしたリムーバブルディスクに保存します。

先ずは、次のように記述したテキストファイルを作成し、保存します。

sel vdisk file="D:\VHDファイル名.vhd"
attach vdisk

ファイル名はvhd.txtなど、任意のテキストファイル名にしてください。
保存先は、この場合だとDドライブです。Dドライブは、SDカードを指しています。

次は、バッチファイルの作成です。
バッチファイルは、メモ帳などで作成します。
次のように記述してください。

diskpart -s D:\vhd.txt

保存する際のバッチファイルの拡張子は「.bat」です。
バッチファイルも、任意のファイル名を付けて、Dドライブに保存してください。

タスクスケジューラを利用して自動マウントする方法

タスク スケジューラ

タスク スケジューラ

タスクスケジューラで新規タスクを作成し設定する方法を説明します。
[タスクスケジューラ]は、[スタート]メニュー、[Windwos管理ツール]、[タスクスケジューラ]の順に選択して開くことができます。
タスクスケジューラの利用の仕方も幾通りかあり、細かい設定は状況によって変わります。

タスクスケジューラを利用する方法は次の通りです。
私の場合は、次のように設定しました。

  1. [タスクスケジューラ]を開いたら、右ペインの操作の中の[タスクの作成]をクリック
  2. [タスクの作成]ダイアログが開く
  3. [全般]タブの「名前」に、仮想ディスクマウントであることが分かるように、適当なタスク名を入力
  4. [全般]タブの「セキュリティオプション」では、「ユーザーがログオンしているときのみ実行する」を選択
  5. [トリガー]タブでは、[新規]ボタンをクリックし、[新しいトリガー]ダイアログを開く
  6. [トリガー]タブの「タスクの開始」では、プルダウンメニューから「ログオン時」を選択し、[OK]ボタンをクリック
  7. [操作]タブでは、[新規]ボタンをクリックし、[新しい操作]ダイアログを開く
  8. [操作]タブの「操作」で、プルダウンメニューから「プログラムの開始」を選択
  9. [操作]タブ「プログラム/スクリプト」に「D:\バッチファイル名.bat」と入力
  10. [操作]タブの[OK]ボタンをクリック

これで、[タスクスケジューラ]の設定が完了です。
設定してから、しばらく経過しましたが、パソコンは問題なく稼働しています。
ストレージ容量不足を心配する必要はなくなりました。

2020年3月29日