Windowsでディスク(ドライブ)を書き込み禁止(読み取り専用)にする方法

Windowsでディスク(ドライブ)を書き込み禁止(読み取り専用)にする方法

Windowsでは、USB接続している外付けハードディスクやUSBメモリ、SDカードへの書き込みを制限したい場合、レジストリ設定やグループポリシーで対応する方法が一般的ですが、別の方法として、Windowsが標準機能として搭載しているDiskpartツールで対応する方法があります。

Diskpartツールによる設定では、上に挙げたリムーバブルストレージに加えて内蔵ディスクに対しても、ディスク単位やドライブ単位で書き込みを制限することができます。

そこでここではWindows 10を例に、Diskpartツールで特定のディスク(ドライブ)を書き込み禁止(読み取り専用)にする方法を紹介します。

この記事は、以下の環境で実行した結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
Windows 10 Pro 64bit21H2

ディスクへの書き込みを制限する

ディスクへの書き込みを制限するときの手順は、次のとおりです。

まず、管理者権限でコマンドプロンプトかPowerShellを起動し「diskpart」と入力してエンターキーを押します。

C:\> diskpart

Windowsでディスク(ドライブ)を書き込み禁止(読み取り専用)にする方法

diskpartツールが起動して、プロンプトが「DISKPART>」に変わっていることを確認したら「list disk」コマンドを実行してディスクの一覧を表示し、設定対象ディスクの番号を確認します。

どれが設定対象のディスクかは、ディスクのサイズから判別します。

DISKPART> list disk

Windowsでディスク(ドライブ)を書き込み禁止(読み取り専用)にする方法

次に「select disk」コマンドを実行して、設定対象のディスクを選択します。

<n>には、list diskコマンドで確認した設定対象ディスクの番号を入力します。

DISKPART> select disk <n>

Windowsでディスク(ドライブ)を書き込み禁止(読み取り専用)にする方法

次に「attributes disk」コマンドを実行して、設定対象ディスクの現在の属性を確認します。

DISKPART> attributes disk

Windowsでディスク(ドライブ)を書き込み禁止(読み取り専用)にする方法

次に「attributes disk set readonly」コマンドを実行して、設定対象ディスクに読み取り専用(書き込み禁止)属性を設定します。

DISKPART> attributes disk set readonly

コマンド実行後「ディスクの属性が正しく設定されました。」と表示されていればOKです。

Windowsでディスク(ドライブ)を書き込み禁止(読み取り専用)にする方法

Memo

逆に、設定対象ディスクの読み取り専用(書き込み禁止)属性を解除したいときは「attributes disk clear readonly」コマンドを実行します。

DISKPART> attributes disk clear readonly

最後に、もう一度「attributes disk」コマンドを実行して、対象ディスクに読み取り専用(書き込み禁止)属性が設定されていることを確認します。

DISKPART> attributes disk

Windowsでディスク(ドライブ)を書き込み禁止(読み取り専用)にする方法

以上で設定完了です。

ドライブへの書き込みを制限する

ドライブへの書き込みを制限するときも、diskpartツールを起動し、まず「list volume」コマンドを実行してドライブの一覧を表示し、設定対象ドライブの番号を確認します。

DISKPART> list volume

Windowsでディスク(ドライブ)を書き込み禁止(読み取り専用)にする方法

次に「select volume」コマンドを実行して、設定対象のドライブを選択します。

<n>には「list volume」コマンドで確認した設定対象ドライブの番号を入力します。

DISKPART> select volume <n>

Windowsでディスク(ドライブ)を書き込み禁止(読み取り専用)にする方法

次に「attributes volume」コマンドを実行して、設定対象ドライブの現在の属性を確認します。

DISKPART> attributes volume

Windowsでディスク(ドライブ)を書き込み禁止(読み取り専用)にする方法

次に「attributes volume set readonly」コマンドを実行して、設定対象ドライブに読み取り専用(書き込み禁止)属性を設定します。

DISKPART> attributes volume set readonly

コマンド実行後「ボリュームの属性が正しく設定されました。」と表示されていればOKです。

Windowsでディスク(ドライブ)を書き込み禁止(読み取り専用)にする方法

Memo

逆に、設定対象ドライブの読み取り専用(書き込み禁止)属性を解除したいときは「attributes volume clear readonly」コマンドを実行します。

DISKPART> attributes volume clear readonly

最後に、もう一度「attributes volume」コマンドを実行して、設定対象ドライブに読み取り専用(書き込み禁止)属性が設定されていることを確認します。

DISKPART> attributes volume

Windowsでディスク(ドライブ)を書き込み禁止(読み取り専用)にする方法

以上で設定完了です。

なお、ドライブへの書き込み制限は、USBメモリやSDカードなどのリムーバブルストレージには設定できません。

あとがき

なお、WindowsではUSBメモリやSDカードなどのリムーバブルストレージに割り当てられるディスク番号が固定されないため、接続の都度ディスク番号を確認してから設定しないと、意図しないディスクが読み取り専用となってしまう危険性があります。

そのため、Diskpartツールで書き込みを制限するのは、内蔵ディスクを対象にするときに限定するのがよさそうです。