|
現: 2021-06-07 (月) 09:25:58 yuji  |
| + | * Windows10のパーテーション構成 [#zc0e95b7] |
| + | Windows10でのパーテーション構成は,バージョンによっては変更されている。 |
| | | |
| + | 以下は,それを調べた情報です。 |
| + | |
| + | Windows10のパーテーション構成の説明の前に,私の現在のPCを例にしてWindows7のパーテーション構成がどうなっているか調べてみる。~ |
| + | このPCが使用しているストレージは2個ある。~ |
| + | |
| + | BIOS/MBRベースのdisk0~ |
| + | |Systemで予約 |C: |h |
| + | |100MB |465.7GB | |
| + | |NTFS |NTFS | |
| + | BIOS/MBRベースのdisk1~ |
| + | |D: |E: |未割り当て|h |
| + | |977.5GB |540.5GB |345.0GB | |
| + | |NTFS |NTFS | | |
| + | ''私の現在のWindows7のHDDのパーテーション構成(2個のHDD)'' |
| + | |
| + | Windows7では,Systemで予約(システムパーティション)とC:等のWindowsパーテーションがある。PCメーカーから販売されているPCでは,この他にリカバリ用のパーテーションがある。~ |
| + | Windows XPの時にはWindowsパーテーションしかなかったのですが・・・ |
| + | |
| + | システムパーティションには,bootmgr等のブートに必要なファイルがあって,ブートパーティション(アクティブ)になっています。 |
| + | |
| + | ** Windows7をWindows10にアップグレード後のパーテーション構成 [#f7aaf1d5] |
| + | 上記の私のWindows7をWindows10にアップグレード後のパーテーション構成はこのようになっている。~ |
| + | |
| + | BIOS/MBRベースのdisk0~ |
| + | |Systemで予約 |C: |回復パーテーション |h |
| + | |100MB |465.1GB |607MB | |
| + | |NTFS |NTFS |NTFS | |
| + | BIOS/MBRベースのdisk1~ |
| + | |D: |E: |未割り当て|h |
| + | |977.5GB |540.5GB |345.0GB | |
| + | |NTFS |NTFS | | |
| + | disk0は,C:に割り当てられていたパーテーションを465.7GBから465.1GBに縮小し,''その後に新しく607MBのパーテーションが作成されている。''~ |
| + | 新しく作成されたパーテーションは回復パーテーションと思われる。 |
| + | |
| + | Windows7をWindows10にアップグレードしようとしたところ,「アップグレードに失敗しました」でアップグレード出来なかった。~ |
| + | C:パーテーションをディスクデフラグした後,やっとアップグレードが出来ました。またアップグレードで非常に時間がかかったのも,パーテーションを縮小するのに時間がかかったんだと思う。 |
| + | |
| + | * MicrosoftからのWindows10の推奨パーテーション構成 [#u8e22737] |
| + | 現在のWindows10では,以下のようなパーテーション構成とするようにMicrosoftが推奨しています。(しかし,Windows10をクリーンインストールした時はこの推奨パーテーション構成にはならないが・・・) |
| + | |
| + | 最近販売されているWindows10がインストールされたメーカー製PCやMicrosoft Surfaceでは,この構成になっているようです。 |
| + | |
| + | BIOS/MBRベースのdisk0の推奨パーテーション |
| + | |System |Windowsパーテーション |回復パーテーション |h |
| + | |min 100MB |32bit:16GB以上 |500MB未満:WinRE +50MBの空き | |
| + | |BCDを配置 |64bit:20GB以上 |500MB以上:WinRE +320MBの空き | |
| + | |NTFS |NTFS |(1GB以上は1GB以上の空きを推奨)| |
| + | | | |回復ツール(WinRE)を配置 | |
| + | | | |NTFS | |
| + | |
| + | UEFI/GPTベースのdisk0の推奨パーテーション~ |
| + | |EFI System|MSR |Windowsパーテーション|回復パーテーション |h |
| + | |min 100MB |16MB |32bit:16GB以上 |min 300MB | |
| + | |FAT32必須 | |64bit:20GB以上 |500MB未満:WinRE +50MBの空き | |
| + | |BCDを配置 | |NTFS |500MB以上:WinRE +320MBの空き | |
| + | | | | |(1GB以上は1GB以上の空きを推奨)| |
| + | | | | |回復ツール(WinRE)を配置 | |
| + | | | | |NTFS | |
| + | ''現在のMicrosoftからのWindows10 推奨パーテーション''~ |
| + | |
| + | BCDは,ブート構成データ(Boot Configuration Data)で,ブートローダーが参照するためのデータとブートローダーが格納されている。~ |
| + | 回復パーテーションは,Windows10をいわゆる「工場出荷」時や「以前のバージョン」などの特定の状態へ戻すためのプログラムやデータを保存している特殊なパーティション。~ |
| + | 間違った操作での変更や削除を防止するため,回復パーティションには通常ドライブ文字が無く,Windowsエクスプローラーからは見えなくなっている。~ |
| + | |
| + | MSR(Microsoft Reserved Partition)は,GPTストレージでのみ使用されシステムパーテーションを管理するための情報が入っていて,Windowsの一部のアプリケーションで使用しているようだ。 |
| + | |
| + | * Windows10のクリーンインストール後アップデートした時のパーテーション構成 [#kaaa10f8] |
| + | 実際にWindows10(1709以前)のクリーンインストールを行った後,Windowsアップデートにより1709に更新し,さらに1803に更新した後のパーテーション構成は以下のようになっていた。 |
| + | |
| + | BIOS/MBRベースのPC:1803にアップデート後~ |
| + | |Systemで予約|C: |回復パーテーション |h |
| + | |500MB |59.03GB |493MB | |
| + | |BCDを配置 |NTFS |NTFS | |
| + | |
| + | UEFI/GPTベースのPC:1803にアップデート後~ |
| + | |回復パーテーション |EFI |MSR |C: |OEMパーテーション |h |
| + | |499MB |99MB |16MB |125.51GB |904MB | |
| + | | |BCDを配置 | |NTFS |NTFS | |
| + | ''Windows10 1709以前でクリーンインストール -> 1709アップデート -> 1803アップデート''~ |
| + | |
| + | Windows10 1709にアップデート時点では,''BIOS/MBRベースのPCでは3つ目(493MB)の回復パーティション,UEFI/GPTベースのPCでは5つ目(904MB)のOEMパーティションは存在しなかった。''~ |
| + | これらのパーティションは,WindowsアップデートによるWindows10 1803へのアップグレード時に,Windowsパーティション(C:)を縮小して自動で追加作成されたパーテーションと考えられる。~ |
| + | UEFIでは大きく変更されている。それは,回復/OEMパーティションが,ディスクの先頭と最後に2つ存在しているところ。~ |
| + | 実は,前方の回復パーティションは事実上空っぽであり,何の用途にも利用されていない。(無駄) |
| + | |
| + | 初期のWindows10をクリーンインストールする時は,Windowsセットアップが作成する既定のパーティション構成は現在の推奨パーティション構成とは異なっていて,従来のパーティション構成を引き継いでいた。~ |
| + | 従来のパーティション構成とは,Windows8.1の既定(Default)パーティション構成のそれに近いもの。 |
| + | |
| + | しかし,Windows10 1803ではそのサイズに収まりきらなくなり,アップグレード時(BIOS/MBRベースは2018/04のリリース時,UEFI/MBRベースは2018/07のリリース時)に回復パーティションが後ろに追加され,上記の表のようになったと考えられる。 |
| + | |
| + | * Windows10のクリーンインストール時のパーテーション [#w73cc994] |
| + | BIOS/MBRベースのdisk0(クリーンインストール時) |
| + | |System |Windowsパーテーション |h |
| + | |v511-1703: 500MB |disk0の残りの領域 | |
| + | |v1709-1803:549MB |v1803 2018/07リリース時はWinREがC:\Recovery\WindowsREにセットされる。| |
| + | |BCD+WinREを配置 |NTFS | |
| + | |
| + | UEFI/GPTベースのdisk0(クリーンインストール時) |
| + | |回復(回復ツール) |EFI System |MSR |Windowsパーテーション |h |
| + | |v1507-1704:4500MB |99MB |16MB |disk0の残りの領域 | |
| + | |v1709-1803:499MB |BCDを配置 | |v1803 2018/07リリース時はWinREがC:\Recovery\WindowsREにセットされる。| |
| + | |WinREを配置 | | | | |
| + | ''Windows10のクリーンインストール時のパーテーション'' |
| + | |
| + | Windows8.1では,BIOS/MBRベースのシステムパーティションの既定サイズは''350MB'',UEFI/GPTベースの回復ツール(WinRE Tools)パーティションの既定サイズは''300MB''。~ |
| + | Windows7のシステムパーティションの既定サイズは''100MB''だったが,それ以前のバージョンアップグレードした場合は,シングルパーティション構成の場合もあった。 |
| + | |
| + | Windows10の場合,Windows8.1とは異なり回復用のカスタムイメージを必要としなくなった。~ |
| + | そのため,Windows8.1の推奨パーティション構成にある回復パーティションを,Windows8.1と同じ用途(OEMベンダーが工場出荷時イメージを格納するため)に使用することはなくなった。 |
| + | |
| + | Windows10 1709までは,このパーティション構成で問題はなかった。 |
| + | なぜなら,1709までの回復ツール,Windows回復環境(Windows Recovery Environment:WinRE)のイメージ「WinRE.wim」のサイズが,要求される空き領域を考慮しても表4のパーティション構成に収まっていたから。 |
| + | |
| + | 自分でWindowsをクリーンインストールする場合,作成される既定のパーティション構成は,最新のWindows10 1803(2018/07リリース)でも変わっていない。~ |
| + | この結果,''先頭にある回復パーテーションに収まり切らなくなってしまったWinREは, C:\Recovery\WindowsRE にセットアップされてしまい,先頭の回復パーティションが使用されないという残念な問題が発生することになっている。'' |
| + | |
| + | つまり,アップグレードでは推奨パーティション構成の一部(ディスクの最後の回復パーティションに回復ツールを配置する)が作成される構成になるのだが,''クリーンインストールではそのようにならない。'' |
| + | |
| + | Windows10 1809(2018/10/02リリース,ただし,10/06より提供が停止されて,修正版が11/14に再リリース)のクリーンインストール時に作成される既定のパーティション構成もこの問題のまま変更されていません。(困ったものです。)~ |
| + | |
| + | ただし,WinRE.wimのサイズがコンパクト(32bit版で約321MB,64bit版で約442MB)になったため,先頭の回復パーテーションに配置はされるようにはなっている。(ただし,回復ツールのみで,回復時に使用するイメージファイルは含まれていない。) |
| + | |
| + | * 推奨パーティション構成でWindows10をクリーンインストールする方法 [#y80cdf6c] |
| + | これからWindows10を導入(Windows7からのアップグレード)するという企業も多い。~ |
| + | その際,大量のクライアントPCをセットアップするために,イメージ展開でのインストールをとることもある。~ |
| + | この場合は,Microsoftからの推奨パーティション構成をして,十分な容量の回復パーティション(最小1GB,推奨2GB程度)を準備するようにすべきです。 |
| + | |
| + | 推奨パーティション構成は,Windows10のどのバージョンをインストールするのかに関係なく,採用すべきです。~ |
| + | なぜなら,回復パーティションに十分な領域がない場合やWindowsセットアップの既定にまかせてインストールすると,Windows10 1803のクリーンインストールでは,WinREがC:ドライブにセットアップされるという問題が出るからです。~ |
| + | また,それ以前のWindows10をクリーンインストールする場合でも,1803以降へのアップグレード時に余計な回復パーティションが追加作成されることになるのも問題です。 |
| + | |
| + | Windowsセットアップメディアを使用して,推奨パーティション構成でWindows10をクリーンインストールするには,次の手順でWindows10をインストールするようにします。 |
| + | + Windows10のインストールメディアでPCを起動し,Windowsセットアップを開始する~ |
| + | + Windowsセットアップが表示されたら,Shift+F10を押してコマンドプロンプトを開く。 |
| + | このコマンドプロンプトは,Windowsプレインストール環境(Windows Preinstallation Environment:WinPE)のコマンドプロンプトで,X:ドライブ(RAMディスク)に展開されたWindowsイメージから起動される。 |
| + | + 以下のようにしてファイルを作成する~ |
| + | BIOS/MBRベースのPCの場合:~ |
| + | > notepad X:\CreatePartitions-BIOS.txt |
| + | select disk 0 |
| + | clean |
| + | create partition primary size=100 |
| + | format quick fs=ntfs label="System" |
| + | active |
| + | create partition primary |
| + | shrink minimum=1024 |
| + | format quick fs=ntfs label="Windows" |
| + | create partition primary |
| + | format quick fs=ntfs label="Recovery" |
| + | set id=27 |
| + | list volume |
| + | exit |
| + | UEFI/GPTベースのPCの場合: |
| + | > notepad X:\CreatePartitions-UEFI.txt |
| + | select disk 0 |
| + | clean |
| + | convert gpt |
| + | create partition efi size=100 |
| + | format quick fs=fat32 label="System" |
| + | create partition msr size=16 |
| + | create partition primary |
| + | shrink minimum=1024 |
| + | format quick fs=ntfs label="Windows" |
| + | create partition primary |
| + | format quick fs=ntfs label="Recovery tools" |
| + | set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac" |
| + | gpt attributes=0x8000000000000001 |
| + | list volume |
| + | exit |
| + | として,ファイルを作成する。 |
| + | ~この例では,回復パーティション用に1GBを割り当てている。これ以上のサイズを割り当てたい場合は,shrink minimum=<サイズ(MB)>の行で調整すれば良い。~ |
| + | また注意することとして,今ではもうほとんど使われてないとは思うが4KBセクターの場合は,size=260のようにしてサイズを大きくする必要がある。~ |
| + | + 以下のコマンドを実行する~ |
| + | BIOS/MBRベースのPCの場合:~ |
| + | > DiskPart /s X:\CreatePartitions-BIOS.txt |
| + | UEFI/GPTベースのPCの場合 |
| + | > DiskPart /s X:\CreatePartitions-UEFI.txt |
| + | これで,推奨パーティション構成がストレージに作成される。 |
| + | + コマンドプロンプトを終了する~ |
| + | + Windowsセットアップを使用してクリーンインストールを行う~ |
| + | 「Windowsのインストール場所を選んでください」で,~ |
| + | BIOS/MBRベースのPCの場合: |
| + | ドライブ0 パーティション2:Windows(プライマリ) |
| + | UEFI/GPTシステムの場合: |
| + | ドライブ0 パーティション3:Windows(プライマリ) |
| + | を指定する。 |
| + | + その後は,通常通りにインストールを進める~ |
| + | |
| + | この手順でクリーンインストールすると,最小のパーティション数と最適なパーティションサイズでWindows10とWinREを適切にセットアップ出来る。~ |
| + | |
| + | コマンドプロンプトやWindows PowerShellを管理者として起動し, |
| + | > reagentc /info |
| + | で,WinREのセットアップ状況を確認出来る。 |
| + | |
| + | イメージ展開用のマスターイメージを取得するためのPCにインストールする場合は,推奨パーティション構成にこだわる必要はない。~ |
| + | なぜなら,イメージ化するのはC:ドライブだけなのと,推奨パーション構成はイメージ展開の際に実装すれば良いから。 |
| + | |
| + | * MBRとGPTの違い [#x6334463] |
| + | 上記でBIOS/MBRやUEFI/GPTというのが出てくるが,このMBRやGPTというのはストレージのパーテーションを管理する手法のことです。~ |
| + | HDD/SSD等のストレージは,どちらかのパーティション管理を使って初期化され使用されます。 |
| + | |
| + | - MBR(マスタブートレコード)~ |
| + | - GPT(GUIDパーティションテーブル)~ |
| + | |
| + | BIOSとUEFIは,PCのファームウェアの仕組みの違いで,BIOSはIBM PC時代から使われているファームウェアの仕組みで,UEFIはそのBIOSを置き換えてより高度な処理ができるようにしたファームウェア。 |
| + | |
| + | Windows OSを使用する場合には,BIOSではMBRしか使えず,UEFIではGPTしか使えません。~ |
| + | 他のOS(Linux等)では,BIOSでGPTを使用するといったことが問題なく使用できます。 |
| + | |
| + | ** MBR [#x3bd24cf] |
| + | 昔から使われているパーテーションの管理方法。 |
| + | |
| + | 2TBを超えるストレージディスクは,制限により全容量を使用することが出来ず容量の一部が無駄になってしまう。 |
| + | |
| + | 作成できるパーティションは,プライマリとして4個,またはプライマリ3個+拡張1個の合計4個。(拡張パーティションの中に論理パーティションを多数作成可能) |
| + | |
| + | 起動することが出来る(ブートパーテーション)として1個だけをプライマリパーテーションに設定できる。拡張・論理パーティションはブートパーテーションに設定できない。 |
| + | |
| + | ** GPT [#c17a85c2] |
| + | MBRに変わって使われているパーテーション管理方法。 |
| + | |
| + | 2TBを超えるディスクを扱えるように開発された。古いWindowsでは使用できない。 |
| + | |
| + | GPTにインストール出来るWindows OSとしては,64bit版 Windows Vista SP1以降のWindows,Windows Server 2008以降になっていて,32bit版 WindowsではGPTを利用することはほぼ出来ない。 |
| + | |
| + | 設定できるパーティション数は,デフォルトで128まで可能になっている。 |
| + | |
| + | * Windows10のKB5034441更新が失敗する [#tb266e51] |
| + | 2024/01のWindows Updateで[[KB5034441>https://support.microsoft.com/ja-jp/topic/kb5034441-windows-10-%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3-21h2-%E3%81%8A%E3%82%88%E3%81%B3-22h2-%E7%94%A8-windows-%E5%9B%9E%E5%BE%A9%E7%92%B0%E5%A2%83%E3%81%AE%E6%9B%B4%E6%96%B0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0-2024-%E5%B9%B4-1-%E6%9C%88-9-%E6%97%A5-62c04204-aaa5-4fee-a02a-2fdea17075a8]]の更新があったが,この更新が0x80070643エラーで失敗する。失敗しても再度Windows Updateが自動的に更新を実行するが,毎回失敗してしまう ;( ~ |
| + | |
| + | 私のWindows10はWindows7からアップデートしたもので,上記のように回復パーテーションのサイズは607MBになっている。このパーテーションの空き容量は64MBになっていた。~ |
| + | |
| + | KB5034441は回復パーテーションを更新するようだが,正常に更新するには回復パーテーションの空き容量が250MB無いとサイズが足りなくて(パーテーションサイズは710MB程度必要)失敗してしまうようだ。~ |
| + | |
| + | たまたま回復パーテーションの後ろが未割り当になっていた(以前HDDを容量が大きいSSDに換装していたため)ので,回復パーテーションをちょっと多めだが1.0GBにパーテーションエディターで拡大した。~ |
| + | この後,再度KB5034441の更新を行ったところ無事問題なく更新ができた。~ |
| + | |
| + | 後ろに未割り当ての領域がない場合は,Windowsのシステム(Cドライブ)のパーテーションを足りない分を縮小して,後ろにある回復パーテーションを移動・拡大するような作業が必要になる。~ |
| + | |
| + | 2024/10/08のWindows Updateで[[KB5046400>https://support.microsoft.com/ja-jp/topic/kb5046400-windows-recovery-environment-update-for-windows-10-version-21h2-and-22h2-october-8-2024-62ea1496-d349-4dfb-b326-28dd7b9f99b9]]の更新があったが,同様に回復パーテーションを更新するようだ。~ |
| + | |
| + | ** 回復(WinRE)パーテーションを移動・拡大する。 [#w8857f2a] |
| + | Windowsのシステム(Cドライブ)のパーテーションを足りない分を縮小して,後ろにある回復(WinRE)パーテーションを移動・拡大するような作業がを行う場合,以下の方法で行える。~ |
| + | |
| + | 無料で使用できる[[MiniTool Partition Wizard>https://jp.minitool.com/partition-manager/partition-wizard-home.html]]などのパーテーションエディターを使用したほうが,より楽に回復(WinRE)パーテーションを拡大できる。~ |
| + | |
| + | *** コマンドプロンプトで作業する場合 [#h9d52eea] |
| + | コマンドプロンプトを管理者で起動する。~ |
| + | |
| + | WinREのインストール状態を確認する。~ |
| + | > reagentc /info |
| + | |
| + | WinREがインストールされている場合,WinREディレクトリへのパスが含まれた「Windows REの場所」が表示される。~ |
| + | |
| + | WinREのインストールを一旦無効にする。~ |
| + | > reagentc /disable |
| + | |
| + | システムパーティションを縮小して,新しい回復パーティションを用意する。~ |
| + | > diskpart |
| + | list disk |
| + | |
| + | 使っているストレージがMBRかGPTでコマンドが違うので,ストレージのタイプを確認する。~ |
| + | GPT列に「*」表示があればそのストレージはGPTタイプになっている。表示がなければMBRタイプのストレージ。~ |
| + | |
| + | select disk <OS disk index> <-- Windowsシステムがあるストレージを選択 |
| + | list part <-- パーテーションの表示 |
| + | select part <OS partition index> <-- Windowsシステムのパーティションを選択 |
| + | shrink desired=460 minimum=460 <-- 460Mbyte縮小する |
| + | select part <WinRE partition index> <-- 回復(WinRE)パーティションを選択する |
| + | delete partition override <-- 回復(WinRE)パーティションを削除する |
| + | |
| + | 新しい回復パーティションを作成する。~ |
| + | ストレージがGPTの場合は,以下のコマンドを使って回復(WinRE)パーテーションを作成する。~ |
| + | create partition primary id=de94bba4-06d1-4d40-a16a-bfd50179d6ac |
| + | gpt attributes =0x8000000000000001 |
| + | |
| + | ストレージがMBRの場合は,以下のコマンドを使って回復(WinRE)パーテーションを作成する。~ |
| + | create partition primary id=27 |
| + | |
| + | その後,以下のコマンドを使う。~ |
| + | format quick fs=ntfs label="Windows RE tools" |
| + | list vol |
| + | reagentc /enable |
| + | reagentc /info |
| + | |
| + | これで,回復(WinRE)パーテーションが前のものから460Mbyteサイズが拡大できた。~ |
| + | |
| + | *** PowerShellを使って作業する場合 [#y1d1964b] |
| + | PowerShellを使って回復(WinRE)パーテーションを拡大するのに,''fixwinre.ps1''スクリプトファイルを作成(未テスト!)してみた。~ |
| + | #code(text,,nonumber){{ |
| + | $syspart = (Get-Partition -DriveLetter $env:SystemDrive[0]) |
| + | $recpart = (Get-Partition).Where({$_.Type -eq 'Recovery' -or $_.MbrType -eq 0x27})[0] |
| + | $IsGpt = ($recpart | Get-Disk).PartitionStyle -eq 'GPT' |
| + | $dpscript = Join-Path $env:TEMP '\diskpart.txt' |
| + | $dparam = @("sel disk $($syspart.DiskNumber)") |
| + | $dparam += "sel part $($syspart.PartitionNumber)" |
| + | $dparam += "shrink desired=460 minimum=460" |
| + | $dparam += "sel part $($recpart.PartitionNumber)" |
| + | $dparam += "delete part override" |
| + | if($IsGpt){$dparam += "create part primary id=de94bba4-06d1-4d40-a16a-bfd50179d6ac"} |
| + | if($IsGpt){$dparam += "gpt attributes=0x8000000000000001"} |
| + | if(-not $IsGpt){$dparam += "create part primary id=27"} |
| + | $dparam += "format quick fs=ntfs" |
| + | if(-not $IsGpt){$dparam += "set id=27"} |
| + | $dparam | Out-File $dpscript -Force -Encoding ascii |
| + | if($stop = (-not $recpart -or $recpart.DriveLetter -or $syspart.DiskId -ne $recpart.DiskId -or $recpart.PartitionNumber - $syspart.PartitionNumber -ne 1)){throw 'This system is not supported.'} |
| + | reagentc /disable |
| + | if(-not $stop){diskpart /s $dpscript} |
| + | del $dpscript |
| + | reagentc /enable |
| + | }} |
| + | |
| + | 作成したfixwinre.ps1を右クリックで管理者権限で実行すると,回復(WinRE)パーテーションを拡大する事ができると思う。 |