« 某探偵フ○イルにB○ZZがまた書き始めたから記事が一気につまらなくなって | トップページ | CalDigitのUSB 3.0ExpressCardが届いたのですが、 »

2011年9月11日 (日)

LionのBoot Campパーティションのクローンとレストアをコマンドラインだけでやる方法






ただしWincloneみたくは手軽にいかないし、WincloneからBCDファイルとgptrefreshを取って使いますけどね。この二つさえ確保しておけば、将来的にWincloneがまったく動かなくなった時に条件付きで対処できます。Wincloneは手軽ですが、一方でイメージファイルの為にけっこう複雑なことをやっているので、Wincloneが使えなくなったら折角保存しているクローンイメージもアウトになる可能性が高いです。

あとWincloneで作ったクローンはイメージファイルを使っているのでコンパクトで手軽に保存できますが、それでも100GBのクローンイメージはOS以外入れてなかったとしても25GBぐらいにはなるでしょう。今回ご紹介する方法では時間はかかりますが、クローンファイルをgzipなどを使って保存すれば、OS以外入れてなかったとして100GBのファイルが6GB強の大きさですみます。

すべてコマンドラインでやりますしサポートはできませんので、全ては自己責任でやってください。不測の事態に陥っても自分で修復できる自信がない方は絶対にやるべきではないです。

手順は続きをどうぞ。

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


クローンの作成

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"

« 某探偵フ○イルにB○ZZがまた書き始めたから記事が一気につまらなくなって | トップページ | CalDigitのUSB 3.0ExpressCardが届いたのですが、 »

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

« 某探偵フ○イルにB○ZZがまた書き始めたから記事が一気につまらなくなって | トップページ | CalDigitのUSB 3.0ExpressCardが届いたのですが、 »

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          

最近のトラックバック