パソコンよろずQ&A

よろずと言いつつ、すっかりBoot Camp Only Blogです。現在、更新・コメント返信は一時休止しております。

Mac OS XからWindowsパーティションをバックアップするには

2006年12月20日 | Mac
ごぶさたしております。

Windows VistaもRTMになって久しく、めっきり再インストールをする機会も減りました。その代わり、実用のため構築した環境をバックアップする必要性が出てきました。今回はMac OS XでWindowsのパーティションをバックアップする方法を紹介します。純粋にバックアップを取りたい方以外にも、いくつかの環境を入れ替えて試したい方(例えば、普段はWindows XPを使っているがWindows Vistaを試してみたい、など……)にもお役立ていただけるかと思います。

Unixな方にはお馴染みのddを使います。特別なことはしていませんが、Mac OS XとBoot Campといった環境での動作検証記事としてご笑覧いただければ幸いです。

■必要なものと制限事項
・Mac OS 拡張でフォーマットしたハードディスクが必要です
外付、内蔵いずれでも可能ですが、当然ながらバックアップ元のWindowsパーティションと同容量以上の空き領域を確保しておいてください。

・パーティション構成の変更は基本的にできません
Mac OS Xの再インストールやBoot Campアシスタントなどによりパーティションを切り直すと、Windowsパーティションをリストアできない可能性があります。パーティションはそのままでお使いください。

・バックアップ先のバーティション形式はMac OS 拡張のみ有効です
MS-DOSファイルシステム(FAT 32)のパーティションではコマンド実行時にエラーとなります。UNIXファイルシステムは試していませんが、UNIXコマンドを使うため恐らく問題ないと思います。

■Windowsパーティションをバックアップする
 アプリケーションフォルダのユーティリティフォルダから、ディスクユーティリティを起動する

 バックアップ元のWindowsパーティションを選択し、「マウントの解除」をクリック

 「情報」をクリックし、表示された「ディスク識別子」を確認
※Boot Campで作成した場合は、通常「disk0s3」となっています

 バックアップ先のMac OS 拡張パーティションがマウントされていることを確認する

 アプリケーションフォルダのユーティリティフォルダから、ターミナルを起動する

 以下のコマンドを実行する
macbook:~ user$ sudo dd if=/dev/(バックアップ元のディスク識別子) | gzip | dd of=/Volumes/(バックアップ先ボリュームの名前)/backup.gz

 管理者のパスワードを入力してバックアップを続行する

バックアップの進捗状況を確認したい場合は、ターミナルでCtrl+Tキーを押すと、転送済みのバイトサイズ、時間、転送速度が表示されます。上記のコマンドでは圧縮しながら転送しているため、2種類表示されるうち転送済みのバイトサイズが少ない方がバックアップ先、多い方がバックアップ元になります。

■Windowsパーティションをリストアする
 アプリケーションフォルダのユーティリティフォルダから、ディスクユーティリティを起動する

 リストア先のWindowsパーティションを選択し、「マウントの解除」をクリック

 「情報」をクリックし、表示された「ディスク識別子」を確認
※基本的にバックアップ時と同じディスク識別子です

 リストア元のMac OS 拡張パーティションがマウントされていることを確認する

 アプリケーションフォルダのユーティリティフォルダから、ターミナルを起動する

 以下のコマンドを実行する
macbook:~ user$ dd if=/Volumes/(リストア元のボリューム名)/backup.gz | gzip -d | sudo dd of=/dev/(リストア先のディスク識別子) bs=4096

 管理者のパスワードを入力してリストアを続行する

ディスク性能とサイズによって異なりますが、25GBのパーティションの場合、1時間前後で作業が完了します。リストアよりバックアップの方が1.5倍くらい余計に時間がかかります。

【07/07/18削除】参考値が現行HDDのパフォーマンスとかけ離れているため、削除いたしました。ちなみに計測は、BUFFALO社製のDiU-GT80GH(2001年8月発売)をFireWire接続にて実施しておりました。補足いただきました、Kirry様にはこの場を借りて御礼申し上げます。

bs=(ブロックサイズ)の値は、MacBookの環境でもっとも効果があった値を設定しています(バックアップ時はなぜかブロックサイズの指定をしてもパフォーマンスが変わりませんでした)。もしご自分の環境で値を変えてみたい場合は、512(バイト)の整数倍を設定してお試しください。

【補足1:Windows Vista BusinessやUltimateの場合は】
以前、Rydeen様にもコメントでご紹介いただきましたが、Windows Vista UltimateやBusiness(と企業向けライセンスのEnterprise)のエディションでは、標準で「Complete PC バックアップ」が搭載されています。半ば当然ながら、速度や使い勝手などddコマンドよりも断然良いため、これらのエディションではComplete PC バックアップを使うことをおすすめします。

【補足2:バックアップにかかる時間を短縮したい場合は】
本記事でご紹介した方法は、gzipコマンドを併用して圧縮しながらバックアップ、展開しながらリストアするため、どうしても時間がかかります。バックアップ先の容量に十分な余裕がある方は、この圧縮と展開を省略することで時間が短縮できます。

バックアップ時
以下のコマンドを実行する
macbook:~ user$ sudo dd if=/dev/(バックアップ元のディスク識別子) of=/Volumes/(バックアップ先ボリュームの名前)/backup

リストア時

以下のコマンドを実行する
macbook:~ user$ sudo dd if=/Volumes/(リストア元のボリューム名)/backup of=/dev/(リストア先のディスク識別子)

【07/07/18 追加】まっちゃん様からのご質問を受け、バックアップ時間の短縮方法についての補足を追加いたしました。まっちゃん様には、この場を借りて御礼申し上げます。

それでは、また。


最新の画像もっと見る

26 コメント

コメント日が  古い順  |   新しい順
なるほど (iKon)
2007-03-05 17:50:22
とても参考になりました。
ありがとうございます。
返信する
ご評価いただきありがとうございます。>iKon様 (管理人)
2007-03-06 05:38:09
ご評価いただきありがとうございました。>iKon様

今後ともよろしくお願いいたします。
返信する
Unknown (まっちゃん)
2007-03-24 11:29:10
貴重な情報ありがとうございます。
バックアップについては、私も悩んでいました。
WindowsXpであれば、NortonGhostが使えました。しかしVistaにすると、シマンテックのソフトは全滅!唯一利用できるTrueImage10.0はBootCampサポートできていないようで、インストールするとVistaが起動しなくなります。フロントライン社の CopyCatX4がMacOSX上でWindowsパーティションをバックアップリカバリできます。私も購入し、バックアップに使っています。試しのリカバリは怖くてやっていませんが。
試すときは、ここでの手順でバックアップしてから行おうと思っています。
この情報が皆様のお役に立てばと思います。
返信する
情報ありがとうございます。>まっちゃん様 (管理人)
2007-03-25 08:40:52
貴重な情報、ありがとうございます。>まっちゃん様

恥ずかしながら、バックアップツールにお金を出し惜しみをしまして、なんとか標準ツールでバックアップができないか……と検証いたしました結果が、本記事でございます。

CopyCatX4がバックアップできる、という情報は、サポートなどの安心が必要な方には大変有益な情報となるかと思います。

ちなみに、本記事でのバックアップは、ddコマンドの特性上、パーティション構成が変わるとリストアできなくなります。この仕様はWindows Vista Business以上に付属のCompletePCバックアップも同様です。あくまでも一度作成したWindowsパーティション上で再インストールするなどの用途でお試しいただけますよう、お願いいたします。

今後ともよろしくお願いいたします。
返信する
CopyCatX4について (まっちゃん)
2007-04-15 12:49:30
先日フロントライン社のCopyCatX4がMacOSX上でWindowsパーティションをバックアップリカバリできると書いたのですが、バックアップやリカバリは、BootCampで作成したWindowsパーティション単独のバックアップリカバリはできず、Macパーティション混みでバックアップリカバリする必要があるようです。ちょっと期待はずれでした。このページのddによるバックアップは、私のMacMini(30GBのWindowsパーティション)で1時間ちょっとかかり、スピードアップできる代替手段とpきたいしたのですが!
返信する
Windowsパーティションの扱いについて (まっちゃん)
2007-04-15 13:08:40
低レベルな質問ですが、外付けのFirewire接続のHDDにFAT32パーティションを確保した後、Vistaインストールしました。当然正常に認識されていましたが、その後、そのパーティションをもう1台のFirewireのHDDの方に移しました(前のを削除し、別の方にMacOSXのディスクユーティリティで作成)が、Vistaでは認識されません。何とか認識させる方法をご存じの方はいませんでしょうか?
返信する
パーティションマップをご確認ください。>まっちゃん様 (管理人)
2007-04-15 20:39:52
コメントありがとうございます。>まっちゃん様

CopyCatX4の追加情報、誠にありがとうございます。Windowsパーティションのみのバックアップができないとはいえ、システム全体の不慮のトラブルには有効ではないでしょうか。未だ有益な情報の一つと存じます。

話は変わりまして、Windowsパーティションの扱いについていただきましたコメントについて、ご確認いただきたい点がございます。実際に行われた操作の詳細は判じかねますが、「もう1台のFirewireのHDDの方に移しました」と仰っているHDDのパーティション方式は「Appleパーティションマップ」になっておりませんでしょうか?

Windowsから認識できるのは「GUIDパーティションマップ」か「マスター・ブート・レコード」のみですので、移動先のパーティション方式を上記いずれかにして再度お試しください。もし、Intel Macのシステムバックアップにもお使いであれば、GUIDパーティションマップを推奨します。

ただし、パーティション方式の変更はHDDのパーティションをすべて消去しますので、HDDのバックアップをくれぐれもお忘れのないようご注意ください。

認識違い等ございましたら、お手数ですが再度コメントいただければ幸いです。

よろしくお願いいたします。
返信する
パーティションマップについて (まっちゃん)
2007-04-16 00:24:10
ご返事、ありがとうございます。パーティションはすべてGUID で作成しています。ただ、Appleのディスクユーティリティで作成したHDDを、フロントライン社で扱っている「ボリュームワークス」というユーティリティで、FAT32パーティションを1台の方から削除し、もう1台に別のFAT32 を作成しました。「ボリュームワークス」では、Windowsで認識できなくなる可能性があるというアラームが出ました。ツールを混在して使ったせいかもしれませんので、また時間をみて、ディスクユーティリティのみでやってみようとおもいます。結果は、ご報告しようと思います。
返信する
GPTとMBRの非同期が原因かもしれません。>まっちゃん様 (管理人)
2007-04-16 06:02:09
ご確認ありがとうございます。>まっちゃん様

パーティショニングユーティリティをお使いになられた際のアラートは、おそらくGPTとMBRの同期がされないことを表していると思われます。GPTが更新されれば、Mac OS X側からはパーティションが分割されて見えますが、その際にMBRが同期していないとWindows側からはパーティションが見えない状態になります。

ご推察の通り、ディスクユーティリティは標準でGPTとMBRを同期させますので、ディスクユーティリティにて再パーティションを行なえば、問題なく動作すると思われます。また、既存のHFS+パーティションのデータは保持したまま分割したい、ということであれば、ターミナルからdiskutil resizeVolumeコマンドを利用するという方法もございます。

いずれにしても、ボリュームワークスで変更した(GPTとMBRが非同期の)パーティション構造は解消された方がよろしいかと存じます。まっちゃん様が仰るとおり、一度ディスクユーティリティにて再度パーティションを作成されることをおすすめします。

今後ともよろしくお願いいたします。
返信する
Windowsパーティションが認識できました (まっちゃん)
2007-04-16 17:39:05
たびたびの貴重な助言に感謝しております。1台のHDDを再度パーティション設定(MacとWindowsパーティション)してところ、予想通りVistaから認識できるようになりました。
このようなミス?によるパーティションの問題は、他の方でも役に立つのではと思います。
今後とも、貴重な情報に期待しております。{/hiyoko_thunder/
返信する