起動不能に陥った知人の Windows 7 の復旧でいろいろハマった話

起動出来ない。
どうやらディスクエラーらしい。

との相談を受けまして。
最初はメッセでやり取りしてましたが、そう簡単には直りそうにない、と判断しまして、PC を拝借しました。

ディスクエラーの場合に、お役に立てれば。

# 1. とりあえず起動してみる
まぁ当然立ち上がらず。
I/O エラーだか Read Write エラーだか、そんなメッセージが表示されてました。

# 2. メーカー固有のツールを BIOS から起動してみる
CHKDSK を実行したかったので、ツールからコマンドプロンプト起動出来るはず、と踏んでツールを起動。

...
......
.........

全然起動しない。。。

持ち主に聞いてみたら、すぐに起動できるときもあるけど半日経過しても起動しないときもある、とのこと。

こりゃ使いもんにならん。

# 3. まずはバックアップしよう
Ubuntu LTS バージョンのディスクと外付け HDD を用意し、バックアップの準備完了。
Ubuntu のダウンロードはこちら。

> https://www.ubuntu.com/download/desktop

DVD ドライブから起動。

Ubuntu を使うとバックアップできる、ってこと、実は知らなかったです。
詳細が知りたい方は検索してみてください。記事がたくさん出てきます。

...
......
.........

ディスクマウントできねぇし・・・。

どうやらマウントできない時は割と申告なディスクエラーらしい、と後で知った私。

# 4. ディスクを抜いて直接データを抜き出そう
専用のケーブルが必要になるので、Amazon 等で購入しておきましょう。

今回の PC は SATA 2.5 inch でした。
SATA も IDE も使えるモノがよいでしょう。

いざ私自身の PC へ接続したところ、認識したり、抜けたり、の繰り返し。
こりゃあ重傷だぞ・・・？と気づき始める。

# 5. Windows PE を使うしかなさそう
コマンドプロンプトを使いたいだけなのに、仕方なく WinPE のディスクを作ることに。

## 5-1. Windows ADK を使う
ちょっと嫌な予感はしたけど、"Windows 8.1 向け" である「ADK : アセスメント & デプロイメント キット」を私自身の PC へインストール。

参考手順
> [WinPE: 起動できる CD、DVD、ISO、VHD の作成](https://msdn.microsoft.com/ja-jp/library/dn293200.aspx)

Windows ADK のダウンロードはこちら。
> [Windows(R) 8 用 Windows アセスメント & デプロイメント キット](https://www.microsoft.com/ja-JP/download/details.aspx?id=30652)

インストーラーで下記を選択。

- 展開ツール
- Windows プレインストール環境 (Windows Preinstallation Environment)

インストール後、再起動。

スタートメニューから **展開およびイメージング ツール環境** を **管理者として実行** 。
以下、コマンドでの作業。

修復したい PC のアーキテクチャに合わせて ```x86``` か ```amd64``` を選んでください。

```
copype amd64 C:\WinPE_amd64
MakeWinPEMedia /ISO C:\WinPE_amd64 C:\WinPE_amd64\WinPE_amd64.iso
```

ISO ファイルをディスクに書き書きして、ディスクから起動。

...
......
.........

一瞬ブルースクリーンに :( な顔文字が移って強制再起動、の繰り返し。
やはり Windows 8.1 向けではダメか。。。（そりゃそうだ）

## 5-2. Windows AIK を使う
ちゃんと対象 OS に合わせた WinPE を使いましょう、ってことで「AIK : 自動インストールキット」を私自身のPCへインストール。

参考手順
> [チュートリアル: CD-ROM から Windows PE をブートする](https://technet.microsoft.com/ja-jp/library/dd744537(v=ws.10).aspx)

Windows AIK のダウンロードはこちら。
> [Windows® 7 用の Windows® 自動インストール キット (AIK)](https://www.microsoft.com/ja-jp/download/details.aspx?id=5753)

ADK の時と同様、下記をインストール。若干表現が違うかも知れないので注意。

- 展開ツール
- Windows プレインストール環境 (Windows Preinstallation Environment)

インストール後、再起動。

スタートメニューから、**Windows AIK** 配下の **Deployment ツールのコマンド プロンプト** を **管理者として実行** 。
以下、コマンドでの作業。ADK よりコマンド量が多いです。

```
copype.cmd amd64 c:\winpe_amd64
copy c:\winpe_amd64\winpe.wim c:\winpe_amd64\ISO\sources\boot.wim
Dism /Mount-Wim /Wimfile:c:\winpe_amd64\ISO\sources\boot.wim /index:1 /MountDir:C:\winpe_amd64\mount
copy c:\winpe_amd64\ISO\bootmgr c:\winpe_amd64\mount
mkdir c:\winpe_amd64\mount\boot
xcopy /cherky  C:\winpe_amd64\ISO\boot C:\winpe_amd64\mount\boot\
```

一旦休憩・・・。

```
Del c:\winpe_amd64\mount\boot\BCD
Bcdedit /createstore c:\winpe_amd64\mount\boot\BCD
Bcdedit /store c:\winpe_amd64\mount\boot\BCD -create {bootmgr} /d "Boot Manager"
Bcdedit /store c:\winpe_amd64\mount\boot\BCD -set {bootmgr} device boot
Bcdedit /store c:\winpe_amd64\mount\boot\BCD -create /d "WINPE" -application osloader
```

最後のコマンドを実行すると、メッセージ中に GUID が表示されます。

```
{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
```

こいつを以降のコマンドで使うのでコピーしてください。
**波括弧ごとコピーすること。**

```
Bcdedit /store c:\winpe_amd64\mount\boot\BCD -set {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} osdevice boot
Bcdedit /store c:\winpe_amd64\mount\boot\BCD -set {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} device boot
Bcdedit /store c:\winpe_amd64\mount\boot\BCD -set {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} path \windows\system32\winload.exe
Bcdedit /store c:\winpe_amd64\mount\boot\BCD -set {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} systemroot \windows
Bcdedit /store c:\winpe_amd64\mount\boot\BCD -set {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} winpe yes
Bcdedit /store c:\winpe_amd64\mount\boot\BCD -displayorder {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} -addlast
```

GUID を使うのはここまで。

```
oscdimg -n -m -o -bc:\winpe_amd64\etfsboot.com c:\winpe_amd64\mount c:\winpe_amd64\winpe_amd64.iso
```

```-b``` と ```c:``` の間はスペース空けないように！！！

ようやく ISO ファイルの出来上がり。
ディスクに書き書きしてください。
そしてディスクから起動。

...
......
.........

コマンドプロンプトが起動しましたね！

やっっっっっっとコマンドが打てる。。。

# 6. CHKDSK の前にバックアップしたいから xcopy
コマンドプロンプトが起動したので、とりあえずバックアップしようか。

...
......
.........

I/Oエラーで ```dir``` すらできない・・・。
これは重傷ですわ・・・。

# 7. バックアップは諦めて CHKDSK
バックアップする手段がなくなったので、持ち主にごめんなさいして、CHKDSK を走らせることに。

# あとがき
割と申告なケースにぶち当たったようです。
結局 CHKDSK もCドライブに対して2日間くらいやってました。
不良セクターたくさん。

Windows PE のディスク作成で何回かミスって、DVD を数枚葬りました。

今回は Windows 7 が対象でしたが、Windows 8.1 にも使える話ですね。
Win8.1 向けの WinPE ディスクは捨てずに残しておきます。