現象
Windows 10 にアップグレードまたは更新すると、エラー "システム予約パーティションを更新できませんでした"、エラー コード 0xc1900104、またはエラー コード 0x800f0922が発生する可能性があります。
原因
システム予約パーティション (SRP) がいっぱいになる可能性があります。 システム予約パーティション (SRP) は、Windows のブート情報を格納するハード ドライブ上の小さなパーティションです。 一部のサード パーティのウイルス対策アプリとセキュリティ アプリは SRP に書き込み、それを埋めることができます。
解決方法
注意: これらの手順は複雑であり、いくつかのリスクを伴います。 これは、コマンド ラインを使用した経験を持つ上級ユーザーが行うのに最適です。 これらのコマンドを入力するときにエラーが発生した場合、デバイスが起動しない状態になり、デバイスに保存されているデータが失われる可能性があります。
デバイスをアップグレードするには、以下の適切な方法を使用して SRP で 15 MB の領域を解放してから、もう一度アップグレードを試す必要があります。 Windows 10を更新する場合は、13 MB を解放する必要があります。 まず、SRP が GPT パーティション スタイルか MBR パーティション スタイルかを判断します。-
Windows キーを押しながら R キーを押します。表示された [実行] ウィンドウで、「diskmgmt.msc」と入力し、Enter キーを押します。
-
SRP を含むディスク (ディスク 0 など) を長押しまたは右クリックし、[プロパティ] を選択します。
-
[ボリューム] タブを選択します。
-
パーティション スタイル: 行には、GUID パーティション テーブル (GPT) またはマスター ブート レコード (MBR) が表示されます。
次に、必要な方法を選択します。
-
cmd を検索します。 結果でコマンド プロンプトを長押しまたは右クリックし、[ 管理者として実行] を選択します。
-
コマンド プロンプトで、「 mountvol y: /s 」と入力し、Enter キーを押します。 これにより、システム パーティションにアクセスするための Y: ドライブ文字が追加されます。
-
「Y: 」と入力して Y ドライブに切り替え、Enter キーを押します。 次に、「 cd EFI\Microsoft\Boot\Fonts」と入力して Fonts フォルダーに移動します。 その後、 del *.* と入力してフォント ファイルを削除します。 続行するかどうかを確認するメッセージが表示される場合があります。 Y キーを押してから Enter キーを押して続行します。
-
Windows キーを押しながら R キーを押します。表示された [ 実行 ] ウィンドウで、「 diskmgmt.msc 」と入力し、Enter キーを押します。
-
[システム予約] とマークされたパーティションを選択します。 長押しするか、右クリックします。
-
[ ドライブ文字とパスの変更] を選択します。
-
[ 追加] を選択します。
-
ドライブ文字に 「Y 」と入力します。
-
[OK] をタップまたはクリックします。
-
[スタート] メニューから cmd を検索 します。 検索結果から [コマンド プロンプト] を右クリックし、[ 管理者として実行] を選択します。
-
コマンド プロンプトで「 Y: 」と入力し、Enter キーを押してそのドライブに切り替えます。 次に、「 cd Boot\Fonts」と入力して Fonts フォルダーに移動します。
-
次のように入力し、Enter:
takeown /d y /r /f キーを押します。注: スペースと "f" の後の期間を含める必要があります。または、コマンドが正しく機能しません。
-
次のように入力してドライブにアクセス許可をバックアップし、Enter キーを押します。
icacls Y:\* /save %systemdrive%\NTFSp.txt /c /t
注: すべてのファイルが成功として表示され、失敗として表示されていないことを確認します。
-
whoami と入力して Enter キーを押し、ユーザー名を記録します。 次のコマンドを入力し、Enter:
icacls . /grant キーを押します。 whoami>から取得したユーザー名を <する :F /t注: ユーザー名と ":F" の間にスペースを入れないか、コマンドが機能しません。
-
手順 8 で説明されているように、フォントの場所 (Y:\Boot\Fonts) にまだ配置されていることを確認します。 次に、「 del *.*」と 入力してフォント ファイルを削除します。 続行するかどうかを確認するメッセージが表示される場合があります。 Y キーを押してから、Enter キーを押して続行します。
アクセス許可の復元
-
次のコマンドを入力し、Enter キーを押します。
icacls Y:\ /restore %systemdrive%\NTFSp.txt /c /t
-
処理中に一部のファイルが失敗したことを示すメッセージが表示される場合があります。これは、バックアップ後にこれらのファイルが削除されるため、正常です。
-
成功したファイルの量が none の場合、コマンドが正しく実行されませんでした。続行する前に、いくつかのファイルが正常に処理されている必要があります。
-
次のように入力して ACL をシステムに戻し、Enter キーを押します。
-
icacls . /grant system:f /t
-
次のコマンドを入力して Enter キーを押して、ドライブの所有者を System に戻します。
icacls Y: /setowner "SYSTEM" /t /c
-
[ディスクの管理] と [データの更新] に戻るして、SRP の空き領域の割合が高いかどうかを確認します。 その場合は、この時点でドライブ文字を削除できます。
-
システム予約パーティションを右クリックします。
-
[ ドライブ文字とパスの変更] を選択します。
-
[Y: ドライブ] を選択します。
-
[ 削除] を選択します。
-
[OK] をクリックします。
-
cmd を検索 します。 結果で コマンド プロンプト を長押しまたは右クリックし、[ Administrato r として実行] を選択します。
-
コマンド プロンプトで、「 mountvol y: /s 」と入力し、Enter キーを押します。 これにより、システム パーティションにアクセスするために Y: ドライブ文字が追加されます。
-
「taskkill /im explorer.exe /f」と入力し、Enter キーを押します。 次に、「explorer.exe」と入力し、Enter キーを押して、管理 モードでエクスプローラーを再起動します。
手記: このモードでは、一部のアプリ (OneNote など) は実行されません。 -
エクスプローラーを開き、アドレス バーに Y:\EFI\Microsoft\Boot\ を配置し、Enter キーを押します。
-
削除する言語フォルダーを選択し、完全に削除します。 これらは、ハイフンで分割された 4 文字のセットで示されます。 たとえば、en-US は米国英語を意味します。de-DE はドイツ語を意味します。
-
省略可能: Y:\EFI\Microsoft\Boot\Fonts で未使用のフォント ファイルを削除します。
-
ファイルを削除した後、デバイスを再起動します。 これにより、ドライブ文字が削除され、explorer.exe 通常モードに戻ります。
これにより、SRP の使用可能な領域が永続的に増加しますが、小さくなります。
-
言語フォルダーを削除する
-
Windows キーを押しながら R キーを押します。 表示された [ 実行 ] ウィンドウで、「 diskmgmt.msc 」と入力し、Enter キーを押します。
-
[システム予約] とマークされたパーティションを選択します。 長押しするか、右クリックします。
-
[ ドライブ文字とパスの変更] を選択します。
-
[ 追加] を選択します。
-
ドライブ文字に 「Y 」と入力します。
-
[OK] をタップまたはクリックします。
-
[スタート] メニューから cmd を検索します。 検索結果から [コマンド プロンプト ] を右クリックし、[ 管理者として実行] を選択します。
-
コマンド プロンプトで「 Y: 」と入力し、Enter キーを押してそのドライブに切り替えます。
-
次のように入力し、Enter キーを押します。
takeown /d y /r /f .
-
次のように入力してドライブにアクセス許可をバックアップし、Enter キーを押します。
icacls Y:\* /save %systemdrive%\NTFSp.txt /c /t
-
whoami と入力して Enter キーを押し、ユーザー名を記録します。 次のコマンドを入力し、Enter:
icacls . /grant キーを押します。whoami>:F /t Note から取得したユーザー名 <: ユーザー名と ":F" の間にスペースを入れないか、コマンドが機能しません。 -
エクスプローラーで SRP ドライブを開き、Boot フォルダーにアクセスし、削除する言語フォルダーを選択し、完全に削除します。 これらは、ハイフンで分割された 4 文字のセットで示されます。 たとえば、en-US は米国英語を意味します。de-DE はドイツ語を意味します。
-
-
NTFS ログを切り捨てる
-
最初に NTFS ログのサイズを確認します。 コマンド プロンプトで次のように入力し、Enter:
chkdsk /L Y キーを押します。-
サイズが 5000 KB 未満の場合は、ファイルを切り捨てる必要はありません。
-
-
ファイルを切り捨てるには、次のように入力し、Enter:
chkdsk /L:5000 /X /F キーを押します。 -
[ディスクの管理] ウィンドウに戻るします。 [アクション] メニューをタップまたはクリックし、[最新の情報に更新] を選択します。 SRP の空き領域の割合が高いかどうかを確認します。 その場合は、 システム予約パーティション を長押しするか右クリックし、[ ドライブ文字とパスの変更] を選択します。 [Y: ] を選択し、[削除] を選択します。
-
-
NTFS ログを切り捨てても SRP の空き領域が増えない場合は、USN ジャーナルのサイズを変更します。
-
コマンド プロンプトで次のように入力し、Enter:
fsutil usn queryjournal Y キーを押します。-
これにより、サイズが 16 進値で表示されます。 値を 10 進数に変換し、1048576で除算すると、結果は MB 単位になります。 (16 進数から 10 進数に変換するには:Windows で電卓を開き、[表示] メニューを選択し、[プログラマ] を選択します。 [16 進] を選択し、[16 進] の値を入力して、[12 月] を選択します)
-
ジャーナルが 30 MB 以上の場合は、引き続き切り捨てます。
-
-
次のコマンドを入力し、Enter:
fsutil usn deletejournal /D /N Y キーを押して、ジャーナルを削除します。 -
新しいログ サイズ値:
fsutil usn createjournal m=1500 a=1 Y でジャーナルを再作成します。
-
-
アクセス許可の復元
-
次のコマンドを入力し、Enter キーを押します。
icacls Y:\ /restore %systemdrive%\NTFSp.txt /c /t
-
処理中に一部のファイルが失敗したことを示すメッセージが表示される場合があります。これは、バックアップ後にこれらのファイルが削除されるため、正常です。
-
成功したファイルの量が none の場合、コマンドが正しく実行されませんでした。続行する前に、いくつかのファイルが正常に処理されている必要があります。
-
-
次のように入力して ACL をシステムに戻し、Enter キーを押します。
icacls . /grant system:f /t
-
次のコマンドを入力して Enter キーを押して、ドライブの所有者を System に戻します。
icacls Y: /setowner "SYSTEM" /t /c
-
[ディスクの管理] と [データの更新] に戻るして、SRP の空き領域の割合が高いかどうかを確認します。 その場合は、この時点でドライブ文字を削除できます。
-
システム予約パーティションを右クリックします。
-
[ ドライブ文字とパスの変更] を選択します。
-
[Y: ドライブ] を選択します。
-
[ 削除] を選択します。
-
[OK] をクリックします。
-
これにより、SRP の使用可能な領域が大きくなりますが、一時的に増加します。
-
NTFS 形式の外部ドライブがあり、少なくとも 250 MB の空き領域があることを確認します。
-
Windows キーを押しながら R キーを押します。表示された [実行] ウィンドウで、「diskmgmt.msc」と入力し、Enter キーを押します。
-
[回復パーティション] を選択します。 長押しするか、右クリックします。
-
[ドライブ文字とパスの変更] を選択します。
-
[追加] を選択します。
-
ドライブ文字に「Y」と入力します。
-
[OK] をタップまたはクリックします。
-
スタート画面から右からスワイプし、[検索] チャームを選択するか、入力を開始して cmd を検索します。 検索結果からコマンド プロンプトを長押しまたは右クリックし、[管理者として実行] を選択します。
-
コマンド プロンプトで「Y: 」と入力し、Enter キーを押してそのドライブに切り替えます。
-
次のように入力し、Enter キーを押します:
takeown /d y /r /f . メモ スペースと "f" の後の期間を含める必要があります。または、コマンドが正しく機能しません。 -
whoami と入力して Enter キーを押し、ユーザー名を記録します。 次のコマンドを入力し、Enter:
キーを押します icacls . /grant <username from whoami>:F /t 注: ユーザー名と ":F" の間にスペースを入れないか、コマンドが機能しません。 -
そのコマンドが完了したら、次のように入力するか貼り付けて、Enter キーを押します。
attrib -s -r -h Y:\Recovery\WindowsRE\winre.wim
-
エクスプローラーを開き、使用している外付けドライブのドライブ文字を書き留めます (残りの手順では、F: の例を使用します。これらの手順で F: が表示されている場合は、外部ドライブのドライブ文字を意味します)。
-
コマンド プロンプトで、次のように入力し、Enter キーを押します。
mkdir F:\Recovery\WindowsRE
-
次に、次のように入力し、Enter キーを押します。
xcopy Y:\Recovery\WindowsRE\winre.wim F:\Recovery\WindowsRE\winre.wim /h
-
次のコマンドを入力し、Enter キーを押して、新しいパスをマップします。
C:\Windows\System32\Reagentc /SetREImage /Path F:\Recovery\WindowsRE /Target C:\Windows
-
コピーが正常に行われたのを確認したら、次のように入力して Enter キーを押します。
del Y:\Recovery\WindowsRE\winre.wim /F
-
[ディスクの管理] ウィンドウに戻るします。 [アクション] メニューをタップまたはクリックし、[最新の情報に更新] を選択します。 SRP の空き領域の割合が高いかどうかを確認します。 その場合は、アップグレードを続行します。
-
アップグレードが完了したら、wim ファイルを回復パーティションに戻し、場所を再マップします。
-
コマンド プロンプトで、次のように入力し、Enter キーを押します。
xcopy F:\Recovery\WindowsRE\winre.wim Y:\Recovery\WindowsRE\winre.wim /h
-
元のパスに再マップします。 次のように入力し、Enter キーを押します。
C:\Windows\System32\Reagentc /SetREImage /Path Y:\Recovery\WindowsRE /Target C:\Windows
-
-
[ディスクの管理] ウィンドウに戻るします。 回復パーティションを長押しまたは右クリックし、[ドライブ文字とパスの変更] を選択します。 [Y: ] を選択し、[削除] を選択します。