回復パーティションを移動したときの話

(回復ドライブのことは書いてません。回復ドライブについてはマイクロソフト公式をどうぞ。 )

とっても長文です。下記目次を見て「あ、ダメだ」と思う方はもっとよいサイトへどうぞ。(作業に危険が多いので、できるだけ丁寧に説明したかったのです。)

環境

  • windows 10(Windows 7からのアップデート)
  • MBRディスク
  • ドライブ位置関係、こんな感じでした。 f:id:fortrand:20180422001318p:plain
  • Cドライブがいっぱいになり、拡張するために回復パーティションを移動しました。以下はその記録です。

準備するもの

パーティションコピーツール

今回は回復パーティションを削除でなく「移動」するため使用します。

Windowsのインストールディスク(ほぼ必須)

トラブル対応用です。インストールに使用したディスクを持っている人は不要ですが、そうでないひとは下記からツールをダウンロードし、ISO作成、DVD書き込みをします。30分程度で済みます。

Windowsが起動しないときにコマンドプロンプト、システム復元、その他が使えるので、システムをいじる人は保険に持っておきましょう。

Cドライブ、回復パーティションのバックアップ

本編で述べますが、作業中一度Windowsがブートしなくなりました。 復帰はできましたが、環境によっては何が起きる分かりません。 できる限り作業前の環境は残しておいたほうがいいです。別HDDを用意して、パーティションやHDD丸ごとを保管しておきましょう*1 復帰しなかったらOSの再インストールしかなくなります。

復元ポイントの作成など

その他、失敗しても戻せるよう、一般に考えられるトラブル対策は全部やっておきましょう。 パーティション管理はいろいろ事故が起きますし、解決法も一通りで無いようです。

その他欲しいもの

  • 作業PC以外のインターネット接続環境(ぐぐれないと解決できない)
  • オフライン作業手順書(ノート、Webの印刷など)
  • 十分な時間

作業前の準備・確認

以下、コマンドプロンプトが出てきますが、すべて管理者権限で使用します。

回復パーティションの確認

再起動時に回復メニューが出るか確認。管理者コマンドプロンプトで、

>reagentc /boottore

再起動するとメニューが出ます。 これが回復環境です。Windowsにログインできなくても、ブートの修正やコマンドプロンプト、システムの復元などができます。 (削除するとこれが使えなくなります。)

準備:回復パーティションの場所や中身を確認

削除に関係ない、コマンドの練習やファイル確認作業などです。

reagentcとdiskpart、コンピュータの管理(compmgmt.msc)を使います。*2

コンピュータの管理

コントロールパネルから開いて、「ディスクの管理」を見ます。 「回復パーティション」と書いてあるパーティションがどのディスクのどの場所にあるのかを覚えておきます。

回復環境の設定確認

コマンドプロンプトreagentc /info

>reagentc /info
Windows 回復環境 (Windows RE) およびシステム リセット構成
情報:

    Windows RE の状態:         Enabled
    Windows RE の場所:         \\?\GLOBALROOT\device\harddisk0\partition0\Recovery\WindowsRE
    ブート構成データ (BCD) ID: 00000000-1111-2222-3333-444444444444
    回復イメージの場所:
    回復イメージ インデックス: 0
    カスタム イメージの場所:
    カスタム イメージ インデックス: 0

REAGENTC.EXE: 操作は成功しました。

diskpart

コマンドプロンプトdiskpartと打つと起動します。 diskpartにはHDDのデータを1秒で全削除するコマンドも入っているため、余計な操作はしないこと*3

list diskで物理ディスクの一覧。

f:id:fortrand:20180422003538p:plain

ディスク選択→パーティション一覧

DISKPART>select disk 0  (0は操作したいディスク番号) 
DISKPART>list partition

パーティション一覧が出ます(450Mのパーティションがそれ。ドライブレターはありません)

回復パーティションを選択して情報表示

DISKPART>select partition 2  (2は回復パーティションの番号に合わせる) 
DISKPART>detail partition

画像のような情報が出ます。「種類:27」「隠し属性:はい」がポイント。 f:id:fortrand:20180422003745p:plain

回復パーティションのファイル確認

回復パーティション 引き続きdiskpart。

DISKPART>assign letter z

と入力すると、(現在選択している)回復パーティションがドライブZとして認識されます*4。(作業用なので、あとでドライブレターは解除します。)

もう一つ管理者コマンドプロンプトを開きます。

>z:
>dir /as /s

z:\Recovory\windowsRe にファイルが入っているファイルが回復環境のファイル(だそう)です。boot.sdi, ReAgent.xml, Winre.wimなどのファイルがあることを確認します。

確認が終わったら、diskpartに戻ってドライブ文字を削除し、元に戻します。

DISKPART>remove letter z

確認だけの人はここで終了です。

パーティションのコピーをする

重要:Cドライブと回復パーティションのバックアップ

重要(2回言う)。以下の削除をする前に、各自の方法でバックアップします。パーティション丸ごとでなくファイルだけコピーする方法もあるようですが、試していません。

本番:パーティション削除と、回復環境の再設定

回復環境をいったん無効化する

おまじない。

>reagentc /disable

回復パーティションの削除

準備編と同じ手順で、回復パーティションを選択します。detailを呼び出して念のため確認します。

DISKPART>select disk 999 (999は操作したいディスク番号) 
DISKPART>list partition

DISKPART>select partition 888  (888は回復パーティションの番号に合わせる) 
DISKPART>detail partition

list partition, detail partitionなどで、現在選択しているパーティションが確実に回復パーティションであることを確認します。間違ってCドライブ消したら取り返せないため、最低3回は確認します。

間違いないと確信できたら、deleteコマンドで削除します。

DISKPART>delete partition override

1秒で消えます。「コンピュータの管理」を見てパーティションが消えたことを確認します。

ここでいったん再起動します。起動しなくなるかもしれないですよ。というか起動しなかったです。

外伝:再起動しなかった

※無事起動できた人は次の章へスキップ

再起動したところ、Windowsが起動しなくなりました。起動直後に何やら英語(忘れた)メッセージが出て、Windowsのロゴには進まない状態でした。

事前作成したWindowsインストールディスクを使用して、色々やったところ再度起動できるようになりました。が、メモをし損ねて記憶があいまいです。

ダメだったもの

直った手順(最後のbcdboot以外は順番を覚えていません…)

  • diskpartでOSのドライブをアクティブに
  • bootsect /nt60 c: /mbr
  • bcdboot c:/windows /l ja-JP

再起動後、回復パーティションを再設定する

削除前にバックアップした回復パーティションを再設定します。reagentc /setreimage /pathにパスを渡す必要があるため、

  • diskpartで一時的にドライブレターを割り当てる
  • reagentcコマンドで、新しい回復パーティションを設定する
  • ドライブレター削除

という手順を踏みます。

DISKPART>diskpart 
DISKPART>select disk (ディスク番号)
DISKPART>list partition
DISKPART>select partition (バックアップしたパーティション番号)
DISKPART>assign letter z

コマンドプロンプト(管理者権限)

>reagentc /setreimage /path z:\recovory\windowsRe
>reagentc /info

diskpartに戻ってドライブレターを削除

DISKPART>remove letter z

再起動時に回復メニューが出るか確認

reagentc /boottore 再起動してメニューが出ることを確認します。

これで終了です。お疲れ様でした。

ダメだった場合

最初にとったバックアップから復元しましょう。

参考サイト

*1:その環境が用意できない場合は、作業しないことをお勧めします

*2:コンピュータの管理は開きっぱなしをオススメします

*3:経験者より。cleanは絶対使っちゃダメ

*4:間違った場合は再度assignをやり直すか、「コンピュータの管理」でドライブ文字をつけなおしてください