2018.04.01:「どうしてもうまくいかない場合」のヒントを修正
2016.08.29:「元に戻したい場合」を修正
2016.08.28: 初出
Windows 10およびWindows 8.1で システムファイルを TrustedInstaller から所有権を変更し、アクセス許可を取得する方法の紹介です。
(Windows7 の場合の手順はこちら)
システムフォルダ内のファイルを手動で変更しようとしても、以下のようなメッセージが出てファイルの変更が出来ない場合があります。
このファイルを変更するには、TrustedInstaller からアクセス許可を得る必要があります。」
これは、Windowsが重要なファイルの所有者をTrustedInstallerとして管理している為です。これらのファイルを変更・削除したい場合は、ファイルの所有者を変更する必要があります。
TrustedInstallerとは
「TrustedInstaller」=UACにより信頼・許可を与えたインストーラーのみが変更を加える事の出来るファイルです。システムにより厳重に保護されています。通常の操作では、これらのファイルを変更したり削除したりできません。
これらのファイルを操作したい場合、以下のような特殊な手順が必要になります。
注意1: 変更は自己責任で
以下の操作を行うと、
・PCのセキュリティが弱くなります。
・操作を間違えると、Windowsが起動しなくなる等、重大な障害が出ます。
システムのバックアップを取るなど、もしもの備えを行ってから自己責任で実施しましょう。
注意2:システムの復旧を行うと、効果が切れる
TrustedInstallerから所有権を変更してファイルを操作した場合でも、以下の操作でシステムファイルが元に戻ってしまう場合があります。
・システムの復元を利用する
・イメージファイルからOSを復旧する
・「sfc /scannow」の実行
上記の操作を行った後は、もう一度該当ファイルを変更しなおす必要が出る場合があります。
以下、実際の手順の紹介です。
操作対象PC
手元のPCでは、以下の環境でこの操作ができる事を確認しています。
・Windows10 Pro版 Ver 1607 (RS1)
・Windows10 Home版 Ver1511 (TH2)
・Windows8.1 Enterprise 90日評価版
Windows 8.1/10、Home版/Pro版 およびTH2/RS1等、いずれも場合も有効で、OSの内部バージョン等で操作に違いは無い模様です。
前準備
- 管理者権限のあるアカウントでログオンする
- UACのレベルを下げる
▲クリックで拡大
- 「コントロールパネル」>「セキュリティとメンテナンス※」>「ユーザー アカウント制御の設定」
※Windows8.1の場合ここは「アクションセンター」 - 最低レベル、もしくは「デスクトップを暗転しない」までUACレベルを下げる。
- 「コントロールパネル」>「セキュリティとメンテナンス※」>「ユーザー アカウント制御の設定」
- 場合によってはDEPの設定を下げる。
▲クリックで拡大
- 「コントロールパネル」>「システム」>「システムの詳細設定」>「詳細設定」タブ>「パフォーマンス」
- 「データ実行防止」を「重要なWindowsのプログラムおよびサービスについてのみ」に設定する。
- ※この操作が必要なPC、必要でないPCがある模様。
手元のPCでは操作不要だった。
この違いがドコで発生するのかは未調査。
- 「コントロールパネル」>「システム」>「システムの詳細設定」>「詳細設定」タブ>「パフォーマンス」
- エクスプローラーは1個だけ起動している状態にする。
ブラウザを含め、余計なアプリは終了させておく。
- 変更するファイルによりますが、変更したいシステムファイルが利用中の場合は以下一連の操作が無効化されます。
- Windows を セーフモードで起動してから操作する方が無難かもしれません。
実際の操作(コマンド)
以下、コマンドプロンプト(管理者)で入力する。
※コマンドから操作する場合はUACの無効化は不要。
※アクセス許可の変更は行われない。
次項「実際の手順(GUI操作)」の「5.」を実行する。
以下は一例。
- takeown /f C:\Windows\SysWOW64\mfds.dll
mfds.dllの所有権を外す - takeown /f C:\Windows\SysWOW64\mfds.dll /A
所有者をAdministratorsに変更する - takeown /f "C:\Windows\SysWOW64\mfds.dll"
ディレクトリやファイルに スペース が含まれている場合は引用符で囲む。 - takeown /f C:\Windows\SysWOW64\*.*
「*.*」を指定することで、ディレクトリ内すべてのファイルの所有権を一括して変更できる。
コマンド操作が難しい、階層入力が面倒、という場合は次項、GUIでの操作手順を「1.」から順に実行します。