LionでWinclone 2.3とコマンドラインを使ってBoot Camp上のWindows 7をレストア


このブログにも沢山の方がこの問題のために来ていただいて、過去記事の編集を何度もするのも大変なので、ウェブページの方に掲載した内容を別ページとして簡単にまとめました。


 

有志の方がWincloneの開発を受け継いだみたいで、今2.3.3まで出ています。詳細及びダウンロードはこちらへどうぞ。

クイックリンク

1.Winclone 2.3を途中まで使ってクローン及びレストアをするやり方の手順

2.Wincloneのパーツを使ってコマンドラインでクローン及びレストアをするやり方の手順



前提条件

開発が中止されてサポートされていないアプリを使ってやることですし、個人的なサポートはほとんどできませんので、全ては自己責任でやってください。このオペレーションは最低でもターミナルでUNIXコマンドを使ったことがないとハードルが高いかと思います。ということで自己責任でも初心者の方にはおススメしません。重要なのは今ある資産を失わないことです。

わたしが試したのはWindows 7 SP1(64ビット OEM)だけですので、正確な情報としてはWindows 7 SP1限定です。おそらくVistaではうまくいくと思われますが、試した訳でないので保証はできません。XPについては完全に未知です。また海外のフォーラムを覗くと、Windows 7でも同じような方法でうまくいっていない人もいるようです。わたし自身三回実行して確認し、友人達もこの方法でやった人全員(6名)うまくいっていますが、失敗するリスクが伴うということをお忘れなく。

わたしと全く同じ条件なのにうまくいかないという方は、Wincloneではなく別の問題かと思われます。一番考えられるのはハードディスクに論理もしくは物理障害が発生していること。普段大きなファイルを扱っている方は、fsckを実行するなりして論理障害のチェックと修復はしておいた方がいいです。ファイルの断片化が激しいと、そもそもBoot Campパーティションを作る段階でこけてできないですが、こればかりはまず何らかの方法でデフラグしないとどうしようもないです。

これはSnow Leopardでも同じなのですが、Boot Campパーティションを作り直して大きくする時にMac側では十進法表示ということをお忘れなく。例えばMac側で120GBに拡張しても、Windows側では112GB(= GiB)表示になります。後から作り直しにならないようにしっかり計算しましょう。

以前に載せていたBoot Campパーティションを縮小するやり方は検証したらうまくいきませんでしたので削除しました。

Boot Campパーティションのレストアはいくつかやり方がありますが、Snow Leopardを持っている方はSnow LeopardとWinclone 2.2を使ってやった方が確実です。Snow LeopardとWinclone 2.2を使ってやる方法は他のサイトやこちらを参照してください。このまとめページではWinclone 2.3を途中まで使ってクローン及びレストアをするやり方と、Winclone 2.3nパーツを抜き取って全てコマンドラインでクローン及びレストアをやる方法を紹介します。

Boot Campパーティションに関する前提条件としては、わたしはMacBook Proでやっていますので一つの内蔵ハードディスクにOS X LionとBoot Campパーティションしかないことです(EFIパーティションとRecovery HDは数に入れていません)。パーティションを細切れにして使っている方や内蔵ディスクがいくつもあるマシンの方はBoot CampパーティションのDevice Identifierが違いますので、手順の7、8、9でコマンドラインのアクアの部分をいじらないとダメです。細かくいじる方法が解らない方は止めておいた方がいいです。参考までにわたしのMacBook ProのパーティションはWindowsのディスクマネージャーで見ると次のようになっています。括弧内のdisk0s〜という部分はdiskutil infoコマンドで見ることができます。diskutil infoコマンドを使わなくても、Wincloneを起動してImageを選ぶとパーティションを選択しますが、その画面でディスクの情報が見れますので、その情報を使ってください。








EFI (disk0s1) HFS+(OS X, disk0s2) Recovery HD (disk0s3) NTFS (Windos 7, disk0s4)

Winclone








Winclone 2.3を途中まで使ってクローン及びレストアをするやり方の手順 (ページトップへ)

1.Winclone 2.3をどこかでダウンロードしてきます。(例えばこちらからダウンロードできます)

2.Winclone 2.3を立ち上げて、設定を下の画像のようにします。Winclone 2.3は反応が遅いので、この後の行程で反応がすぐになくても慌てないでください。

Winclone




3.この後クローンイメージを作って、Wincloneを終了します。わたしの場合、クローンイメージはWin7SP1という名前を与えてデスクトップに保存しました。そうするとWin7SP1.wincloneというファイルがデスクトップにできます。クローンにはそれなりに時間がかかります。Winclone 2.3の場合、クローンがうまくいったというメッセージが出た後もプログレスバーが最後まで行かずにアクティブなままですが、普通にメニューバーから終了しても問題ないです(強制終了ではないです)。ここで注意すべきは、アクティベートした後のWindowsのクローンを作らないと、後々折角レストアしてもブラックスクリーンが待っている恐れがあることです。アクティベートした後のWindowsのクローンは、そのクローンを使って後でまた入れなおすことになってもアクティベートする必要はありません。レストアの後すぐにアクティベートするんなら、アクティベートしていないクローンでも問題ないですが、しばらくして入れなおす時に時間切れにならないように気をつけてください。

Clone




4.Boot Campアシスタントを立ち上げて古いパーティションを削除して一旦終了。この後に普段大きなファイルを扱っている方は、fsckを実行するなりして論理障害のチェックと修復はしておいた方がいいです。その後再びBoot Campアシスタントを立ち上げてWindows用の新しいBoot Campパーティションを作り終了。

5.Winclone 2.3を立ち上げて、Restore ImageとDestinationを選んでレストアを開始します。

Restore




6.レストアは最後の最後で下の画像のようにエラーが出て失敗しますが、慌てる必要はありません。レストア失敗のメッセージの後Wincloneを終了します。この後Boot Campパーティションを右クリックするかディスクユーティリティを立ち上げてマウント解除します。

Fel

Unmount




7.アプリケーションフォルダー内のユーティリティフォルダーにあるターミナル.appを起動してまずは下記のNTFSボリューム拡張コマンドをターミナル.appのウィンドウにコピーしてエンターを押し実行。ここで違ったパーティション形態をお使いの方は、disk0s4の部分を編集するのをお忘れなく。管理者権限が必要で、パスワードを入力することになります(実際には改行は入りませんので注意。コピペすると一部のスペースがタブになってしまうかもしれません。タブになっているとエラーが出ますのでチェックしてみてください)。

sudo /Library/NTFSProgs/ntfsresize -f -f /dev/disk0s4




8.その後に下記のコマンドをターミナル.appのウィンドウにコピーしてエンターを押し実行。管理者権限が必要で、パスワードを入力することになります(実際には改行は入りませんので注意。コピペすると一部のスペースがタブになってしまうかもしれません。タブになっているとエラーが出ますのでチェックしてみてください)。パーティションを細切れにして使っている方や内蔵ディスクがいくつもあるマシンの方はdisk0s4の部分を編集してください。

sudo /Library/NTFSProgs/ntfscp -f /dev/disk0s4 /Applications/Winclone.app/Contents/Resources/BCD /Boot/BCD


9.下記のコマンドのイエローになっているユーザの部分(misabazooka以降)を自分のものに編集してウィンドウにコピーしてエンターを押し実行。今までターミナル.appを使ったことのない方は、ターミナル.appが起動したらウィンドウにpwdと書いてエンターを押してください。そうすると/Users/xxxと出てきます。xxxの部分がユーザです。もしクローンイメージをデスクトップ以外の場所に保存した場合はパスをそれに合わせて修正してください。下に書いてあるのを丸ごとテキストエディットなんかにコピペして、編集してからターミナルのウィンドウにコピーしてエンターを押すと速いかと思います。実行には管理者権限が必要で、パスワードを入力することになります(実際には改行は入りませんので注意。コピペすると一部のスペースがタブになってしまうかもしれません。タブになっているとエラーが出ますのでチェックしてみてください)。パーティションを細切れにして使っている方や内蔵ディスクがいくつもあるマシンの方はアクアの部分(4disk0)の編集をお忘れなく。

sudo /Applications/Winclone.app/Contents/Resources/gptrefresh -f -w -m /Users/misabazooka/Desktop/Win7SP1.winclone/boot.mbr -a 4 -u -i 0x07 /dev/disk0

10.この後にディスクユーティリティを立ち上げてBoot Campパーティションをマウントします。

11.システム設定でBoot Campパーティションを起動ボリュームとして選ぶか、オプションキーを押しながらWindowsを起動してオペレーションは終了です。Windowsは起動時にCHKDSKを起動してエラーチェックをしますが、これはそのまま実行しておいた方がいいでしょう。その後は普通にログインして使用開始します。








Wincloneのパーツを使ってコマンドラインでクローン及びレストアをするやり方の手順 (ページトップへ)

クローンの作成

1.Wincloneから次のものを適当なフォルダーにコピーして保存します。この例ではデスクトップ上のBootCampRecoveryというフォルダーに保存することにします。これはWincloneを以後使う必要をなくすための処置です。

a) BCD(パスは/Applications/Winclone.app/Contents/Resources/BCD)

b) gptrefresh(パスは/Applications/Winclone.app/Contents/Resources/gptrefresh)

BCDは別の方法でも何とかなりますが、gptrefreshは事実上Wincloneに含まれているものを使う以外ないみたいです。

2.NTFSprogsをインストールします。Wincloneを使っていた方は既にインストールされているのでインストールする必要はありません。Wincloneを使っていなかった方はこちらのサイトでプレコンパイルされたバイナリが手に入ります。

3.Boot Campパーティションのデバイス識別子(Device Identifier)をdiskutil infoコマンドを使って得ます。以下の例ではBoot Campパーティションのデバイス識別子はdisk0s4とします。

4.diskutilコマンドでBoot Campパーティションのマウントを解除します。

diskutil unmount "/dev/disk0s4"

5.ddコマンドでboot.mbrを作成し、BootCampRecoveryフォルダーに保存します。管理者権限が必要です。イエローとアクアの部分を編集することをお忘れなく。

sudo dd if="/dev/disk0" of="/Users/misabazooka/Desktop/BootCampRecovery/boot.mbr" bs=446 count=1

6.ntfscloneコマンドを使ってBoot Campパーティションのクローンファイルを作ります。管理者権限が必要です。例ではデスクトップ上のBootCampRecoveryフォルダーにWindows7SP1というクローンファイル作っています。クローンファイルはBoot Campパーティションと同じサイズになりますので、ディスクに充分な容量がない方はパスを変更して外付けディスクに直接クローンファイルを作成すると良いでしょう。100%完了のメッセージの後Syncing...という表示になってかなりの時間がかかります。途中で中断しないよう気をつけてください。

sudo /Library/NTFSProgs/ntfsclone -f -f -O /Users/misabazooka/Desktop/BootCampRecovery/Windows7SP1 "/dev/disk0s4" 1>&2

7.全てが完了したらdiskutilコマンドでBoot Campパーティションをマウントしてクローンファイル作成は完了です。

diskutil mount "/dev/disk0s4"

8.できあがったクローンファイルはBoot Campパーティションと同じサイズですので、何らかの形で圧縮して保存すると良いです。例ではgzipを使ってWindows7SP1というクローンファイルをWindows7SP1.gzipというファイルに圧縮しています。クローンファイルは管理者権限で作っていますので圧縮するのにも管理者権限が必要です。もしくはクローンファイルの情報ウィンドウでアクセス権限を変更してください。

gzip -c /Users/misabazooka/Desktop/BootCampRecovery/Windows7SP1 > Desktop/Windows7SP1.gzip




レストア

1.Boot Campアシスタントで旧Boot Campパーティションを削除して、新しいBoot Campパーティションを作ります。以下の例では新しいBoot Campパーティションのデバイス識別子はdisk0s4とします。

2.diskutilコマンドでBoot Campパーティションのマウントを解除します。

diskutil unmount "/dev/disk0s4"

3.ntfscloneコマンドでクローンファイルを使ってレストアを開始します。管理者権限が必要です。例ではデスクトップ上にあるBootCampRecoveryというフォルダーのWindowsSP1というクローンファイルを使っています。100%完了のメッセージの後Syncing...という表示になってから終了まで時間がかかります。途中で中断しないよう気をつけてください。

sudo /Library/NTFSProgs/ntfsclone --rescue -f -f -O "/dev/disk0s4" /Users/misabazooka/Desktop/BootCampRecovery/WindowsSP1 1>&2

4.ntfsresizeコマンドでクローンされたWindows領域を新しいBoot Campパーティションのサイズに合わせます。管理者権限が必要です。

sudo /Library/NTFSProgs/ntfsresize -f -f "/dev/disk0s4"

5.Wincloneから取ってBootCampRecoveryフォルダーに保存していたBCDファイルをntfscpコマンドでコピーします。管理者権限が必要です。

sudo /Library/NTFSProgs/ntfscp -f "/dev/disk0s4" /Users/misabazooka/Desktop/BootCampRecovery/BCD /Boot/BCD

6.Wincloneから取ってBootCampRecoveryフォルダーに保存していたgptrefreshを使ってboot.mbrをコピーします。管理者権限が必要です。

sudo /Users/misabazooka/Desktop/BootCampRecovery/gptrefresh  -f -w -m "/Users/misabazooka/Desktop/BootCampRecovery/boot.mbr" -a 4 -u -i 0x07 "/dev/disk0"

7.diskutilコマンドでBoot Campパーティションをマウントしてレストアは完了です。

diskutil mount "/dev/disk0s4"

 

2019年9月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

最近のトラックバック