アプリケーションから、X:に割り当てていたボリュームに書き込みが出来なくなった。
タイミング的には、Googleのトラブルの後なんだけど、関連性は分らない。
直後に、会社のMDMの再設定をしたので、それも影響があるかもしれない。
ちょうど、ストレージを増設したかったので、新しいPCを用意して作業をしていると、突然同じ現象に襲われて途方に暮れた。
本腰を入れて調べてみたところ、以下のことが分かった
- 原因
- 会社のアカウントを登録したことでMDMが有効になり、"Bitlockerが無効な固定ドライブは書き込み禁止"になるレジストリがセットされた
-
BitLocker で保護されていない固定ドライブへの書き込みアクセスを拒否する
- 固定ドライブが、ソフトウェアRAIDを組んでいたため、BitLockerを利用することができない
-
BitLocker で保護されていない固定ドライブへの書き込みアクセスを拒否する
- 解決するには、このレジストリを1から0に書き換えてリブートを行う
- Registry Hive: HKEY_LOCAL_MACHINE
- Registry Path: System\CurrentControlSet\Policies\Microsoft\FVE
- Value Name: FDVDenyWriteAccess
- Value Type: REG_DWORD
- Enabled Value: 1
- Disabled Value: 0
- 会社のアカウントを登録したことでMDMが有効になり、"Bitlockerが無効な固定ドライブは書き込み禁止"になるレジストリがセットされた
またまた、怪しくなった (2023.10.02)
またまた、ファイルの書き込みが出来なくなってしまった。
ドライブのエラーも考えたが、やはり、上記レジストリが原因みたい。
Windows Updateか、MDMの更新でレジストリを書き込むタイミングが変わったようで、立ち上がりは0になっているのだけれd、何かのタイミングで1が書き込まれている。
原因を追究する手もあるのだが、レジストリが1になったタイミングでは、ライトプロテクションがかからないようなので、定期的にレジストリを0にするスクリプトを動かしてみることにした。
UIのタスクスケジューラだと、1日単位の設定しかできないので、コマンドラインを利用。
/rl highestは、管理者権限での実行指定。
また、タスクスケジューラで見ると、準備完了のステータスだが、これはこれで良いみたい(確信は持ってないんだけど)。
schtasks /create /sc minute /mo 60 /tn "remove protect" /tr "C:\Users\xxxx\wpr.bat" /rl highest
ちなみに、レジストリの状態はこちらでモニタ
1..10000000 | ForEach-Object {date; reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Policies\Microsoft\FVE" /v "FDVDenyWriteAccess"; start-sleep 5 }
自動設定
自動設定のバッチファイル
# Windows Registry Editor Version 5.00
#
# [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Policies\Microsoft\FVE]
# "FDVDenyWriteAccess"=dword:00000000
#
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Policies\Microsoft\FVE" /v "FDVDenyWriteAccess"
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Policies\Microsoft\FVE" /v "FDVDenyWriteAccess" /t REG_DWORD /d "0"
Regieditで起動時スクリプトに登録する
コンピューター\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
#現象
- LightRoomからのファイルの書き出しでエラーになる。
- ubuntsuでマウントすると、roになって書き込みができない
- Exploreでフォルダを作ろうとして右クリックをすると、「新規作成」が出てこない
権限関係の調査
アプリケーションが誰の権限で動いているかを見る
Liveでログオンしてるけど、ローカルドメインのアカウントで動いていることを知る。
ローカルアカウントを作成した記憶はないが、セットアップしたときに作ったアカウントと考えられる。機会があれば確認したい。
##権限を調べる
caclsを使って問題のドライブの権限を調べる。
「BUILTIN\Users:R」が気になるが、AdministratorsでFullになっているので、権限の問題ではなさそう。
> cacls X:
F:\ BUILTIN\Administrators:F
BUILTIN\Administrators:(OI)(CI)(IO)F
NT AUTHORITY\SYSTEM:F
NT AUTHORITY\SYSTEM:(OI)(CI)(IO)F
NT AUTHORITY\Authenticated Users:C
NT AUTHORITY\Authenticated Users:(OI)(CI)(IO)C
BUILTIN\Users:R
BUILTIN\Users:(OI)(CI)(IO)(特殊なアクセス:)
GENERIC_READ
GENERIC_EXECUTE
【windows】ファイル、フォルダの権限の確認と変更のコマンド
権限エラーではなくてWriteProtectの模様
sysinternalsで、procmonを起動してみると、MEDIA_WRITE_PROTECTEDのエラーになっている。これは、権限の問題じゃなさそうだ。
diskpartで読み取り専用になっていないか確認する
diskpartを使ってメディアがWrite Protectになっていることを調べる。
調べてみると、Write Protectにはなっていない。
DISKPART> list disk
ディスク 状態 サイズ 空き ダイナ GPT
### ミック
------------ ------------- ------- ------- --- ---
ディスク 0 オンライン 7452 GB 0 B * *
ディスク 1 オンライン 7452 GB 0 B * *
ディスク 2 オンライン 1863 GB 0 B *
ディスク 3 オンライン 3726 GB 0 B *
DISKPART> list volume
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ---- ---------- ------- --------- --------
Volume 0 F DATA NTFS ストライプ 14 TB 正常
Volume 1 C Windows NTFS Partition 1861 GB 正常 ブート
Volume 2 SYSTEM FAT32 Partition 100 MB 正常 システム
Volume 3 Recovery to NTFS Partition 1000 MB 正常 非表示
Volume 4 D Unkno Partition 3725 GB 正常
DISKPART> select volume 0
ボリューム 0 が選択されました。
DISKPART> attribute volume
読み取り専用 : いいえ
隠し属性 : いいえ
既定のドライブ文字がありません: いいえ
シャドウ コピー : いいえ
DISKPART>
sfc /scannow :システムファイルチェッカーでエラーをチェックする
sfcを使った、システムチェックをすることを推奨している記事もあったので実施してみるが、問題なしとの結果。
- The media is write protected error and how to fix it
- システム ファイル チェッカー ツールを使用して不足または破損しているシステム ファイルを修復する
BitLocker で保護されていない固定ドライブへの書き込みアクセスを拒否する
レジストリを、1から0に変更することで解決したとの投稿。
This regedit resolved my issue!
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Policies\Microsoft\FVE]
"FDVDenyWriteAccess"=dword:00000000
Ran diskpart clean after editing the registry and all is well.
Time to offload my full solid state!
And thanks for all input!
調べてみると、この設定が該当する模様
BitLocker で保護されていない固定ドライブへの書き込みアクセスを拒否する
コンピューターの固定データ ドライブが書き込み可能になるためには、BitLocker による保護を必要とするかどうかを決めます。このポリシー設定は、BitLocker をオンにしたときに適用されます。
このポリシー設定を有効にすると、BitLocker で保護されていない固定データ ドライブはすべて読み取り専用でマウントされます。ドライブが BitLocker で保護されている場合は、読み取りと書き込みアクセス権付きでマウントされます。
このポリシー設定を無効にした場合や構成しなかった場合は、コンピューターのすべての固定データ ドライブが読み取りと書き込みアクセス権付きでマウントされます。
おまけ(EFS)
新しいPCに、外付けHDにバックアップをしていたファイルをコピーしようとしたところ、EFSががっちりかかっていて、コピーができない問題が発生。
こちらもメモとして記録
-
暗号化ファイルシステムEFSを読み出すために証明書をエクスポート/インポートする (1/2)
- ファイル -> プロパティ -> 詳細設定 -> 「内容を暗号化してデータをセキュリティで保護する(E)] 詳細 -> キーのバックアップ
-
Windows10 暗号化キー・証明書をバックアップする方法
- これは、EFSのカギを再設定して、バックアップを取るやり方みたい。
- 迂闊に、走らせてしまったが、数週間かかったりするのだろうか。