Windows 10/7でUSBメモリやSDカードをローカルHDDとして認識させる方法
本記事では、USBメモリやSDカードをWindows上で通常のローカルハードディスクとして認識させる方法を解説します。「なぜそんなことが必要なのか?」と思われるかもしれません。その理由は、WindowsはデフォルトではすべてのUSBメモリやSDカードを「リムーバブルドライブ」として識別し、Windows標準のツールでは複数のパーティションに分割できないためです。サードパーティ製ユーティリティ(例えばLinux環境など)を使ってUSBメモリを2つ以上のボリュームに分割しても、Windowsからアクセスできるのは最初のパーティションだけです。Windowsが複数パーティションをサポートするのは、ローカル(リムーバブル以外)ディスクとして認識されたハードディスクドライブのみだからです。
目次
- RMBビットとUSBドライブ
- Lexar BootItユーティリティでリムーバブルビットを切り替える
- USBフラッシュドライブ用Hitachi Microdriveフィルタードライバー
RMBビットとUSBドライブについて
WindowsがUSBメモリをリムーバブルデバイスとして認識するのは、各デバイスが持つ特別な記述子ビットRMB(Removable Media Bit)が関係しています。StorageDeviceProperty関数を使って接続デバイスをポーリングした際にシステムがRMB=1と判定すると、そのデバイスはリムーバブルドライブであると結論付けられます。したがって、USBメモリをハードディスクとして扱わせるには、この記述子を変更すればよいことになります。
変更方法には大きく分けて2つのアプローチがあります。1つはコントローラーのファームウェアを直接書き換える方法ですが、これはデバイス固有のハードウェア実装の違いによりリスクが高く、常に可能とは限りません。もう1つは、特殊なドライバーを使ってUSBデバイスからの応答情報をフィルタリングする間接的な方法です。
ヒント: 一部のメーカーはUSBドライブのコントローラー向けに専用の書き換えユーティリティを公開しています。まずはメーカーの公式サイトでそのようなユーティリティやファームウェアを探してみてください。これが最も確実な方法です。見つからない場合は、本記事で紹介する方法を試してください。
まず、USBメモリをコンピューターの任意のポートに接続し、ディスクの管理コンソール(diskmgmt.msc)を開いて、システムがそのデバイスを「リムーバブル」として認識していることを確認します。
また、ドライブのプロパティにある「ボリューム」タブでもデバイスタイプを確認できます(ここでは種類: リムーバブルと表示されています)。
または、diskpartコマンドでも確認できます:
diskpart
list volume
本記事では、USBメモリのRMBビットを変更する2つの方法を紹介します。Hitachiフィルタードライバーを使用する方法(ドライバーレベルでの変更であり、特定のコンピューターでのみ有効)と、LexarのBootItユーティリティを使用してコントローラーファームウェア内のリムーバブルビットを書き換える方法(より汎用的ですが制約があり、すべてのUSBメモリやSDカードのモデルに適用できるわけではありません)です。どちらの方法もかなり古く、筆者は当初Windows 7でテストしましたが、現在でも有用性は失われておらず、最新のWindows 10でも同様に機能します。
Lexar BootItユーティリティ:リムーバブルビットの切り替え
最近入手した興味深いツールがLexar BootItです。これは無料のポータブルプログラムで、リムーバブルドライブのRMBを変更し、リムーバブルUSBデバイスを固定型として認識させたり(またはその逆)、設定できます。Lexar BootItはLexar(Micron、Crucial)デバイス専用に開発されていますが、他のメーカーのフラッシュドライブでも動作する場合があります。Windows XPからWindows 10まで、すべてのバージョンのWindowsに対応しています。
重要: Lexar製フラッシュドライブでの動作は保証されていますが、レビューによると「Flip Removable Bit」機能は高速なUSB 3.0フラッシュドライブでは動作しないようです。さらに、コントローラーの書き換えによってUSBメモリの保証が無効になる可能性があり、最悪の場合デバイスが使用不能になることもあります。
BootItはLexarの公式サイトからダウンロードできます(lexar_usb_tool.zip)。
- exeファイルを管理者権限で実行します
- デバイス一覧から対象のUSBメモリを選択します
- Flip Removable Bitボタンを押します
- OKをクリックして変更を保存します
デバイスを抜き差しし、デバイスマネージャーで種類が「リムーバブル」から「基本(Basic)」に変わったことを確認してください。
BootItユーティリティでRMBビットを変更できなかった場合は、次に紹介するHitachi Microdriveフィルタードライバーを使った方法を試してください。
USBフラッシュドライブ用Hitachi Microdriveフィルタードライバー
USBメモリやSDカードをハードディスクとしてマウントするには、現在のデバイスドライバーのシステムスタックを通じて送信されるデータを修正できる特殊なフィルタードライバーが必要です。ここでは、Hitachi社が提供するUSBフラッシュドライブ用フィルタードライバー(Hitachi Microdriveドライバー)を使用します。このドライバーにより、OSのドライバーレベルでUSBデバイスのタイプをリムーバブルから固定型へ(USB-ZIP→USB-HDD)変更できます。このドライバーを使うと、接続されているデバイスがリムーバブルであることをシステムから隠蔽できます。結果として、システムは通常のハードディスクを扱っているものと判断し、複数のパーティションに分割して同時に利用できるようになります。
Hitachi Microdriveドライバーファイル:
- 32ビットシステム用 – Hitachi Microdrive x86(2.9 KB)
- 64ビットシステム用 – Hitachi Microdrive x64(3.6 KB)
お使いのシステムのビット数に合ったバージョンをダウンロードしてください。両アーカイブとも構成は同一で、以下の2ファイルで構成されています:
- cfadisk.inf – ドライバー設定を含むインストールファイル
- cfadisk.sys – Hitachiドライバーファイル本体
次に、お使いのUSB/SDフラッシュドライブのデバイスIDを特定します。デバイスマネージャーを開き、USBドライブのプロパティを選択します。「詳細」タブの「デバイス インスタンス パス」項目で、デバイスインスタンスのコードを選択してコピー(Ctrl + C)します。
この例では以下のようになります:
USBSTOR\Disk&Ven_Linux&Prod_File-CD_Gadget&Rev_0000\9876543210ABCDEF&0
64ビットシステムにインストールする場合を想定します。テキストエディターでcfadisk.infを開き、cfadisk_deviceセクションとcfadisk_device.NTamd64セクションを編集します。
[cfadisk_device]
%Microdrive_devdesc% = cfadisk_install,IDE\DiskTS64GCF400______________________________20101008
[cfadisk_device.NTamd64]
%Microdrive_devdesc% = cfadisk_install,IDE\DiskTS64GCF400______________________________20101008
DiskTS64GCF400______________________________20101008 の部分を、お使いのデバイスIDに置き換えます。
重要! デバイスインスタンスのコードでは、2番目の「\」以降の部分を削除してください(この例では 9876543210ABCDEF&0 を削除します)。
編集後は以下のようになります:
[cfadisk_device]
%Microdrive_devdesc% = cfadisk_install,IDE\USBSTOR\Disk&Ven_Linux&Prod_File-CD_Gadget&Rev_0000
[cfadisk_device.NTamd64]
%Microdrive_devdesc% = cfadisk_install,IDE\USBSTOR\Disk&Ven_Linux&Prod_File-CD_Gadget&Rev_0000
ファイルを保存します。
32ビットシステムにインストールする場合は、対応するアーカイブをダウンロード・解凍し、cfadisk.infを編集用に開きます。[cfadisk_device]セクションを見つけてください:
[cfadisk_device]
%Microdrive_devdesc% = cfadisk_install,USBSTOR\Disk&Ven_LEXAR&Prod_JD_LIGHTNING_II&Rev_1100
%Microdrive_devdesc% = cfadisk_install,USBSTOR\Disk&Ven_JetFlash&Prod_TS1GJF110&Rev_0.00
%Microdrive_devdesc% = cfadisk_install,USBSTOR\DISK&VEN_&PROD_USB_DISK_2.0&REV_P
最終行のデータを、お使いのフラッシュドライブのインスタンスIDに置き換えます。この例では以下のようになります:
%Microdrive_devdesc% = cfadisk_install,USBSTOR\Disk&Ven_LEXAR&Prod_JD_LIGHTNING_II&Rev_1100
%Microdrive_devdesc% = cfadisk_install,USBSTOR\Disk&Ven_JetFlash&Prod_TS1GJF110&Rev_0.00
%Microdrive_devdesc% = cfadisk_install,USBSTOR\Disk&Ven_Linux&Prod_File-CD_Gadget&Rev_0000
ヒント: デバイスマネージャー上でUSBメモリを特定の名前で表示したい場合は、Microdrive_devdesc変数を以下のように編集します:
Microdrive_devdesc = "Transcend 64 GB DIY SSD"
Hitachi Microdriveドライバーを純正USBドライバーの代わりにインストールする
あとは、USBフラッシュドライブが現在使用しているドライバーを置き換えるだけです。
重要! 64ビットシステムにHitachi Microdrive USBドライバーをインストールする場合、このドライバーはデジタル署名されていないため、システム側でドライバー署名の検証を無効化するか、ドライバーに自分で署名する必要があります。
ドライブのプロパティで「ドライバー」タブを開き、「ドライバーの更新」をクリックします。
先ほどダウンロードして解凍したHitachiドライバーのアーカイブがあるディレクトリへのパスを指定します。
新しいドライバーを選択します。
ドライバーにデジタル署名がないという警告は無視してください。
ヒント: Windows 10およびWindows 8でHitachi Microdrive USBドライバーをインストールすると、次のエラーが発生することがあります:
Windowsはお使いのデバイスのドライバーソフトウェアを見つけましたが、インストール中にエラーが発生しました
Hitachi Microdrive
サードパーティのINFにデジタル署名情報が含まれていません
ドライバーのデジタル署名検証を無効にするには、以下のコマンドを実行します:
bcdedit.exe /set nointegritychecks ON
bcdedit.exe /set TESTSIGNING ON
コンピューターを再起動してから、再度ドライバーのインストールを試みてください。
あとはコンピューターを再起動し、ディスクの管理コンソールを開いて、フラッシュドライブが通常のハードディスク(種類: 基本)として認識され、Hitachiドライバーが使用されていることを確認します。
エクスプローラーを開けば、フラッシュドライブのアイコンが変化していること(通常のハードドライブとして表示されること)も確認できます。
これで、このフラッシュドライブは通常のHDDと同じように使えます。パーティションの作成、アクティブパーティションの指定、ダイナミックディスクの作成、USBメモリからは動作しないソフトウェアのインストールなどが可能になります。
重要: このソリューションは、対応するドライバーがインストールされたシステムでのみ機能することに注意してください。ドライバーがない場合、デバイスの2番目のパーティションは他のWindowsコンピューターからは利用できません。
Hitachi Microdriveドライバーを削除する方法
Hitachi Microdriveドライバーを削除するには、ドライブのプロパティを開き、「ドライバー」タブの「ドライバーの更新」をクリックします。システムが自動的に純正ドライバーをインストールします。
ヒント: Hitachiドライバーのインストール後にシステムがBSOD(ブルースクリーン)で起動しなくなった場合は、Windowsインストールメディア(またはLiveCD)からコンピューターを起動し、以下のファイルを手動で削除してください:
- %windir%\System32\drivers フォルダー内の cfadisk.sys
- %windir%\System32\DriverStore\FileRepository 内の「cfadisk.inf_amd64_…」フォルダー
その後、コンピューターを再起動します。
-
Windows 10でローカルドライブを非表示にする4つの方法|ディスクの管理・コマンドプロンプト・レジストリ・グループポリシー
家族や同僚とパソコンを共有している場合、機密データを他人の目から守る手軽な方法として、特定のフォルダやファイルを非表示にすることが考えられます。では、ドライブそのものを非表示にするにはどうすればよいのでしょうか? Windowsでは通常、ファイルやフォルダのプロパティで「隠しファイル」にチェックを入れることで非表示にできます。しかし、この方法は信頼性が低いうえ、非表示にしたいファイルが大量にある場合は非常に手間がかかります。そこで効果的なのが、保護したいファイルをひとつのドライブにまとめて移動し、ドライブ全体を非表示にしてしまう方法です。 Windows 10では、「ディスクの管理」コンソール
-
USBメモリを暗号化する方法|WindowsのBitLockerでデータを保護する手順
サイバー犯罪の増加と高度なスキルを持つハッカーの存在により、データセキュリティは現代において最も重要な関心事の一つとなっています。情報漏えいは企業を倒産の危機に陥れることもあり、実際にそのような事例は後を絶ちません。スパイウェアによって機密情報がすべて盗まれてしまう可能性もあるため、デバイスの暗号化は極めて重要です。特に、データの転送や保存に使用するデバイスは必ず暗号化しておきましょう。そうすることで、万が一USBメモリを紛失しても、中のデータが盗まれたり悪用されたりするのを防げます。 2017年は、数々のランサムウェア攻撃によって私たちの脆弱性やセキュリティ上の抜け穴が露呈した年として記憶さ