バックアップ、ディスク、パーティション、ブート関係メモ
全体の簡単な目次
- 用語解説 必要な情報
- ディスクを GPT か MBR 形式にしてあるかの確認
- MBR -> GPT 変換 そして UEFI ブートするには
- Windows RE (Windows回復環境)
- wimを手に入れる方法
- 回復パーティションを作る方法(UEFIの場合)
色々書く前にこれから使うであろう用語を簡単に説明しておきます。
用語解説 必要な情報
- ベーシックディスク と ダイナミックディスク
- ディスクの種類。 ディスク管理をみていると種類という項目があり、 ベーシック や ダイナミック となっているはずだが ベーシック から ダイナミック への変換はできるが ダイナミック から ベーシックへの変換は フォーマット して中身のデータを消さないといけないとかなんとか。 そのほかどちらにもできるできないことがある。 なるべく ベーシック で済むようにしたほうがいいと思う。 今回はすべて ベーシック で考えていく。
- ボリューム と パーティション
- 同じような見えるかもだけど違うもの。 diskpart においては volume は partition や dvd-rom を含むが partition は dvd-rom を含まない。 dvd-rom つまり dvdドライブなど のことだが、それらは partition を持たない
- bios と uefi
- いわゆる bios 画面は bios の設定画面。 そしてその bios 設定で bios ブートがされるわけなのだが、 そこに新しい設定とブートができた。それが uefi であるわけ。 bios では パーティションのスタイルはマスターブートレコード(MBR) しか使えない uefi では GUIDパーテーションテーブル(GPT)が使える。os が対応していないと起動できない。
- MBR と GPT
- MBR は従来のパーティションスタイル。biosで扱えるのはこれ一択。 GPT は MBRより冗長性がある。uefiでしか扱えない。 MBR より大きなパーティションを起動ディスクで扱えるらしい。 パーティションのフォーマット形式はどっちも ntfs を主に使うことになるだろう 余談だけど回復パーティションとか uefi システムパーティションには fat32 が使われているはず
windows の回復のバックアップの win7 の バックアップ について パーティションスタイル は 統一 しといたほうがよさげ。エラーでるかもだから。 統一のためにも変換方法を知っておくといい。
ディスクを GPT か MBR 形式にしてあるかの確認
win+r msinfo32
BIOSモード
UEFI か レガシーか
セキュアブート
有効 か 無効か
winキー右クリックポップアップメニュー ディスクの管理 パーティション ではなく ディスク で 右クリック -> プロパティ -> ボリューム -> パーティションのスタイル GPT か MBR
両方確認しておくといいだろう。
ディスク管理については設定により非表示のものもありうるので
よりしっかり見ておくにはコマンドプロンプト
diskpart
list disk
select disk <ディスク番号>
list partition
exit
このあたりで見ることができるゾ
セキュアブートについては bios で設定が必要かもなので見ておくべき
参考URL:
UEFIやセキュアブートの勘違いしやすい設定30個 まとめ
セキュアブート、CSM、FastBootとかわかりやすくまとまってるたすかる
色々な設定が、場合があってトラブル時の原因特定は大変ですなぁ・・・
MBR -> GPT 変換 そして UEFI ブートするには
MBR だったどうしよう、フォーマットでデータ消えるのはヤだ。
だけど GPT にしたい、UEFI 使いたいさんって人向け
このヘッダーの内容は以下の参考URLとほぼおなじ流れになります。
参考URL:
gptgen で MBR → GPT 変換する
目次
- gptgen.exe 入手、mbr -> gpt 変換
- UEFI ブートするためのパーティション作成の前準備
- 領域を空ける。ディスク先頭にあるシステムの予約パーティションを削除
- EFI システムパーティション を作る
- Microsoft(R) 予約パーティション (MSR) を作る
- ドライブレター修正
- ブートローダー の設定
1. gptgen.exe 入手、mbr -> gpt 変換
gptgen.exeを手に入れる。検索してね。
コマンド例:
gptgen.exe -w \\.\physicaldrive0
ディスクの管理から対象のディスク番号を確認し、番号合わせてコマンド実行。
2. UEFI ブートするためのパーティション作成の前準備
ディスクの管理からシステムの予約パーティションを確認
BIOSの設定画面で セキュアブート を有効にする。
win10 インストールメディアから起動してコマンドプロンプトを使う。
diskpart を使っていく。
diskpartで使う基本コマンド一覧
list disk
select disk [disk番号]
list partition
select partition [partition番号]
delete partition override
list volume
select volume [volume番号]
assign letter=[ドライブ文字]
exit
3. 領域を空ける。ディスク先頭にあるシステムの予約パーティションを削除
必要なパーティションを作る場所を確保するために、まず ディスク先頭にあるシステムの予約パーティションを削除します。
使うコマンド
list disk
select disk [disk番号]
list partition
select partition [partition番号]
delete partition override
そして空いた先頭の領域に順番に
- EFI システムパーティション
- Microsoft(R) 予約パーティション (MSR)
を作る
4. EFI システムパーティション
UEFI システムパーティションを作る
これは EFI システムパーティションのことで ESP とも。
参考URL:
UEFI/GPT ベースのハード ドライブ パーティション
このページにもあるように
UEFI システムパーティションは
最小サイズは 100 MB
フォーマットは FAT 32
コマンド例:
DISKPART> create partition EFI size=100 offset=1
DISKPART> format quick fs=fat32
DISKPART> assign letter=I
5. Microsoft(R) 予約パーティション (MSR)
Windows 10 以降では、MSR のサイズは 16 MB です。
なので16より大きければ機能するはず。しかし
参考URL:
UEFI ベースの推奨ディスク パーティション構成
ここによると
説明 パーティション ID サイズ パーティションの種類 形式 ドライブ文字 EFI システム パーティション (ESP) 1 100 MB EFI FAT32 なし Microsoft 予約パーティション 2 128 MB MSR なし なし Windows 3 ディスクの残り プライマリ NTFS W
サイズが 128 MB とあるのでそれ以上にしたほうがいいかもしれない。
MSR は、パーティション ID が割り当てられない予約パーティションです。
これはディスクの管理からは確認できない。
しかし、 diskpart からは確認できる。
で、EFI システムパーティション と Windowsの入っているパーティションとの間に
Microsoft(R) 予約パーティション (MSR) を
サイズとオフセットをちゃんと指定して作ろうとしてエラーがでたので、
引数のoffsetを省略すると、
はじめのほうから見ていって最初に入るところに入れてくれた。
DISKPART> create partition msr size=400
6. ドライブレター修正
ドライブレターの確認と必要あれば修正。
パーティション一つ消して2つぶっこんだのだから後ろのレターがズレている可能性が大きい。
使うコマンド
list volume
select volume [volume番号]
assign letter=[ドライブ文字]
レター修正が終わったら
DISKPART> exit
これでdiskpart終了
最終的には以下のようになる。
DISKPART> list disk
省略
DISKPART> select disk 0
ディスク 0 が選択されました。
DISKPART> list partition
| Partition ### | Type | Size | Offset | 補足 |
| ------------- | ------------------ | ------- | ------- | --------------------------------------------|
| Partition 1 | システム | 100 MB | 1024 KB | EFI システムパーティション |
| Partition 2 | 予約 | 400 MB | 101 MB | Microsoft(R) 予約パーティション (MSR) |
| Partition 3 | プライマリ | 475 GB | 501 MB | Windowsパーティション |
| Partition 4 | 回復 | 871 MB | 476 GB | 回復パーティション |
7. ブートローダー bcdboot
例:
bcdboot C:\Windows /l ja-JP /s I: /f UEFI
EFI システムパーティション の指定としてドライブレター I: を指定している。
あとは再起動したら UEFIブートできるはず。
Windows RE (Windows回復環境)
インストールメディアなしで使えるようにする
uefiにしたのはいいけど今度はもしものときに
インストールメディア使わなくても
Windows回復環境 (Windows RE)が使えるようにしておきたい人向け
winre.wimがあれば
以下ページ参考。ただし、誤字がある。.winではなく.wim
参考URL:
[windows] Windows 回復環境 (WinRE) を修理する
reagentc /enable
これで winre.wim が設定される。これで Windows RE が使われるようになる。
このコマンドで同時に回復パーティションへのコピーも行われる。
回復パーティションの中身はこれで完成のはず。
もし回復パーティションをまだ作っていないのなら
一旦 reagentc /disable してから回復パーティションを作って、
また reagentc /enable すればいい
reagentc で RE設定のポイントは
C:\Windows\System32\Recoveryにwinre.wim を用意すること。
あと、
winre.wim は隠しファイル設定になる場合がある。
また、
windows がインストールされているパーティションと同じパーティションに windows RE があることになるから
このままだと windows がインストールされているパーティションに問題があれば RE 使えないよ。
でも windows RE は別パーティションに作ることもできるのよ。
bitLocker で暗号化されている場合でも別パーティションに回復パーティションを用意しなければ使えない
wimを手に入れる方法
なんらかの理由でwinre.wimがない人さん向け
参考URL:
WIMBoot イメージの作成
ここでいきなり .wim がでてくるけど、持ってない人はインストールメディアの x64 のほうのinstall.wim をコピーすればいいとおもう。もうみんな x64 だよね?
Copy C:\Images\install_updated.wim C:\Images\install_temp.wim
マウント先ディレクトリ作って
md C:\mount\Windows
マウントする。たぶんエラーでる。たぶん/ReadOnlyつければうまくいく
install.wim ファイルのマウント ディレクトリを作成して、そのイメージをマウントします。
Dism /Mount-Image /ImageFile:”C:\Images\install_temp.wim” /Index:1 /MountDir:C:\mount\Windows
そのイメージから winre.wim ファイルを移動します。
move C:\mount\Windows\Windows\System32\Recovery\winre.wim C:\images\winre.wim
Dismで.wimをマウントしたものをアンマウントするとき
参考URL:
DISM を使ってイメージをマウントおよび変更する
Dism /Unmount-Image /MountDir:C:\mount\Windows /Commit
msdn見てるとコミットが例になってるけどぶっちゃけ変更してないし間違ってなにか知らないうちに変更しちゃってたときにそれで更新しちゃうのは避けたいので
Dism /Unmount-Image /MountDir:C:\mount\Windows /discard
この/discardのほうにしといたほうが無難でしょう。
一応Dismの使い方公式ページ
参考URL:
DISM イメージ管理のコマンド ライン オプション
回復パーティションを作る方法(UEFIの場合)
なんらかの理由で回復パーティションがない人向け
参考URL:
UEFI/GPT ベースのハード ドライブ パーティション
create partition primary
format quick fs=ntfs label="Recovery tools"
assign letter="R"
set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
gpt attributes=0x8000000000000001
list volume
exit
500 MB 未満のパーティションの場合は、少なくとも 50 MB の空き領域が必要です。
500 MB 以上のパーティションの場合は、少なくとも 320 MB の空き領域が必要です。
1 GB を超えるパーティションの場合は、少なくとも 1 GB の空き領域を確保しておくことをお勧めします。
とあり、winre.wim 用に通常 250 ~ 300 MB が必要とあり、
また、たとえば 340 MB くらい使うときがあったので
回復パーティションの大きさは
500 MB 未満はちょい少ないと思うので 820 MB ~ 1 GB の間、たとえば 870 MB でよいだろう
上記ページには各種類のパーティションの最低サイズとか載っているので一応目を通しておくとなおよい
Comments