「システムで予約済みのパーティションを更新できませんでした」というエラーでWindows 10 バージョン1607にアップデートできない場合、メディアによるアップデートならできる可能性があります。
システムで予約済みのパーティションを更新できませんでした
Windows Update経由で配信されているWindows 10 バージョン1607への更新プログラムでアップデートを行おうとすると、このようなエラーで更新できない場合があるそうです。
質問を受けていろいろ調べてみると大きく2つの場合に分かれます。
MBRディスクの場合
Windows 7からアップグレードした場合、大多数のPCのディスクはMBRディスクです。
MBRディスクではディスクの先頭に100MBの「システムで予約済み」というNTFSのパーティションがあり、この領域がシステムの起動に使用されるのですが、Windows 10では100MBでは足りないので問題となっているようです。
Windows 8.1でもMBRディスクにインストールできますが、その場合の「システムで予約済み」パーティションは350MBです。
GPTディスクの場合
Windows 8.1からアップグレードした場合はGPTディスクです。Windows 7(x64)からアップグレードした場合でも一部の機種はGPTディスクのようです。
GPTディスクは2TB以上のディスクを管理するためのもので、Windows 7でも64ビット版でしか使えませんでした。一部の高級なパソコンはWindows 7でもGPTディスクにインストールされて出荷されていたようです。
GPTディスクの場合はEFIブートのためブートパーティションは必要ありませんが回復用に回復パーティションとしてディスクの先頭に300MBのパーティションが作成されています。
アップデート方法による違い
Windows 10で必要な「システムで予約済み」のパーティションのサイズは450MBのため当然足りません。
そのためWindows 10にアップグレードした時に、システムパーティションの後ろを450MB縮小し、そこに「システムで予約済み」のパーティションを作成しています。
Windows 10 バージョン1511からWindows 10 バージョン1607にアップデートする場合、Windows Updateなどのオンラインアップデートでは、この450MBのパーティションを使ってアップデートするため、何かしらの問題でこのパーティションにアクセスできない場合、アップデートに失敗します。
ところが、メディアを使ったアップデートの場合は、このパーティションが使えないと判断すると、新たにパーティションを作成してアップデートを完了させてしまいます。
問題点
「システムで予約済み」のパーティションのサイズが不足する問題は以前からあり、そのためネット上には解決策があります。
ご質問を頂いた方はMSのサポートに問い合わせたところ、EaseUS Partition Masterを使って100MBのパーティションを500MBに増やすように言われたそうです。調べてみると、こちらの回答を鵜呑みにして指示したようです。
しかし、ご質問された方の環境はGPTディスクのため、EaseUS Partition Masterでパーティションサイズを変えてしまうとパーティションの種類が変わってしまい「回復パーティション」として認識されなくなります。そもそも指示していた100MBのパーティションとは「EFIシステム」で「回復パーティション」とは用途が違い、見当違いの指示をしていたことになります。
「EFIシステム」のサイズは通常は100MB、4KBセクターの場合は260MBで固定です。詳細はこちらの記事を参照願います。
実験
GPTディスクについて、メディアによるアップデートがどのような動作をするか実験してみました。
1.パーティションサイズを変更した場合
GPTディスクで「回復パーティション」をMSのサポートが指示したようにEaseUS Partition Masterでサイズを変更してみました。変更するには一度種類を変えないとダメなようで、変更後は通常のデータパーティションとなっています。
この状態でメディアを使ってWindows 10 バージョン1607にアップデートすると、元の「回復パーティション」は無視されシステムパーティションの後ろに新たな「回復パーティション」が作成されます。
2.壊れたパーティションを削除した場合
サイズを変更することで「回復パーティション」と認識されなくなったなら、パーティションを削除すれば、この領域に作り直してくれると期待したのですが、
結果は、削除した領域を無視して、システムパーティションの後ろに新たな「回復パーティション」が作成されました。
では、壊れた「回復パーティション」は使えないかと言うと設定し直すことで使えるようになります。
「システムで予約済みのパーティションを更新できませんでした」に有効なのはメディアによるアップデート
これまでの実験で分かるように、メディアを使ってアップデートを行うと、壊れた「回復パーティション」(システムで予約済みのパーティション)を無視して新たなパーティションを作成してアップデートを完了させてしまいます。
Windows Updateで「システムで予約済みのパーティションを更新できませんでした」とのエラーで進まない場合は、メディアを使えばアップデートできる可能性はあります。ただし、壊れたパーティションは壊れたまま放置されます。
壊れた「回復パーティション」を修復
MSのサポートの指示やネット上の情報でパーティションをいじってしまった場合、「回復パーティション」がシステムの後ろにあるなら削除してシステムパーティションを広げることで新たに作り直されます。
システムパーティションの前にある場合は、以下の手順で修復します。
まず、修復すべきパーティションをフォーマットします。種類の違いでフォーマットできない場合は、EaseUS Partition Masterでサイズを変更するとフォーマットできるようになります。
「ディスクの管理」で修復するパーティションを右クリックし、メニューから「フォーマット」をクリックします。
「クイックフォーマットする」にチェックが入っていることを確認して「OK」をクリックします。
パーティションを間違えていないことを確認して「OK」をクリックします。
この段階ではまだデータパーティションです。
画面左下のWindowsアイコンを右クリックするか[Windows]+[X]で表示されるメニューから「コマンドプロンプト(管理者)」をクリックします。
ユーザーアカウント制御では「はい」をクリックして進めます。
「diskpart」を起動します。
「list disk」でドライブの番号を確認します。通常システムドライブは「0」ですので「select disk 0」でドライブを選択します。
次に「list partition」でパーティションの番号を確認します。「ディスクの管理」で表示されるものと違う場合があるのでサイズなどで対象のパーティション番号を確認します。ここではパーティション1なので「select partition 1」でパーティションを選択します。
対象のパーティションの種類とIDを
gpt attributes=0x8000000000000001
set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
で設定します。
次に「detail partition」で正しく設定されたかどうかを確認します。
最後に「exit」でdiskpartを終了して、コマンドプロンプトのウィンドウを閉じます。
正しく設定できるとこのように「回復パーティション」に変わります。
この状態でWindows 10 バージョン1607にアップデートすると、システムドライブの後ろに新たな「回復パーティション」は作成されず、先頭の「回復パーティション」が使われたことが分かります。
なお、回復パーティションの作成についてはこちらのサイトで詳しく解説されています。
それでも「システムで予約済みのパーティションを更新できませんでした」と表示される場合
質問をされた方の環境ではメディアによるアップデートを行っても「システムで予約済みのパーティションを更新できませんでした」と表示され、結局、Windows 10 バージョン1607にアップデートできませんでした。
理由は、メーカーが用意した自社製のリカバリーシステムの不具合でした。
初期のWindows 10やWindows 10 バージョン1511では、とにかくWindows 7/8.1からWindows 10に移行させることを優先したためか、Windows 10にアップグレードすると回復パーティションを作成し、リカバリー動作で立ち上がるプログラムをメーカーが用意したものからWindows 10独自のものに書き換えていました。
そのため、Windows 10へのアップグレードに失敗することは少なくなる代わりに、メーカーの用意したリカバリーシステムが動作しなくなりました。
当然、メーカーは対策として最新のリカバリープログラムを用意して自社のリカバリーシステムが立ち上がるように書き換えました。
Windows 10 バージョン1607では従来のような強引な方法をとらず、メーカーの用意したリカバリーシステムがWindows 10に対応していない時点で「システムで予約済みのパーティションを更新できませんでした」と表示してアップデートを停止するように変更したようです。
Windows 10 バージョン1511からWindows 10 バージョン1607にアップデートする場合、一度、Windows 10が用意した回復パーティションにあるWindows REで立ち上げ、Windows 10をアップデートする必要があります。そのためにはメーカーが用意したリカバリーパーティション(システムで予約済みのパーティション)を一部書き換えて回復パーティションのWindows REが起動するようにしなければなりません。
メーカーの用意したリカバリーパーティション(システムで予約済みのパーティション)がこの書き換えに対応していなければ、「システムで予約済みのパーティションを更新できませんでした」となってしまいます。
解決策は各パソコンメーカーのサポートで調べて頂くしかありませんが、アップグレード前のWindowsでリカバリー用USBメモリーを作成していたり、リカバリー用DVDが添付されているなら、思い切ってメーカーの用意したリカバリーパティションを削除すればアップデートできるようになるでしょう。
この問題は、Windows 10がプリインストールされていたパソコンでは起きません。Windows 7など古いWindowsからアップグレードした場合に発生し、メーカーのサポートでもWindows 7からWindows 10へのアップグレードは保証しても、Windows 10の大型アップデートまでは保証していないようです。
Windows 7を使っていてWindows 10にアップグレードすれば、「ずっと今のパソコンを使い続けられると思っていたのに騙された」と思うかもしれませんが、メーカー製であるがゆえの縛り(リカバリーシステム)があることは仕方ありません。リカバリーシステムを捨ててクリーンインストールすれば使い続けることは可能です。
まとめ
Windows 10 バージョン1607へのアップデート方法はいろいろありますが、何かしらの問題でアップデートに失敗する場合はメディアによるアップデートで成功する可能性があります。
それでも失敗する場合はメーカーの用意したリカバリーシステムに不具合は無いか、メーカーのサポートページなどで確認してください。
コメント