2006/05/29

diskutilでデュアル・ブート

ポスト @ 1:45:35 | Software

Mac OS X 10.4.6 以降のdiskutilコマンドは大幅に強化され、Intel Mac で採用されているGUIDパーティション・テーブルならば、ボリュームがオンラインのままでもサイズを変更することが可能になった。Boot Camp アシスタント も裏ではこのdiskutilを使っていると思われるが、Boot Camp アシスタント ではMac用パーティション1つ、Windows用パーティション1つしか作れないものが、diskutilを手動で使うことでもっと柔軟にパーティショニングすることが可能となる。

フォーマット後に92.8MBのHDDを、今回はMac用システム領域35GB、Windows用システム領域25.8GB、ユーザー領域32GBに分割したいと思う。ユーザー領域はMacとWindowsで完全に共有するつもりだ。

まず、事前要件として既存のパーティションは1つでないといけない。また、起動しているプロセスが使用しているファイルがあればあるほどオンライン・パーティションができない可能性が高まるので、できれば Mac OS X 再インストール直後が望ましい。

Boot Camp をインストールし、Boot Camp アシスタントを起動する。Macintosh Drivers CD のみ作成し、Boot Camp アシスタントは終了しよう。

それでは Boot Camp ではなく、diskutilを使用してパーティションを切ろう。今回作成するパーティションは下記のとおり。

ID 容量 ファイルシステム 用途
1 200MB EFI EFI
2 35GB Journaled HFS+ Mac OS X 用システム領域
3 32GB FAT32 ユーザー領域
4 25.8GB NTFS Widows用システム領域

NTFSはWindowsから読み書きできるが、Mac OS X から書けない。FAT32はWindowsからも Mac OS X からも読み書きできる。HFS+は Mac OS X から読み書きできるが、Windowsから認識すらできない。ただ、Windows用システム領域をFAT32にするのは問題ないが、Mac OS X 用システム領域をFAT32にするのはお勧めできない。ID1はEFI領域として Mac OS X インストール時に暗黙的に確保されている。

ところが、Windowsインストール時にはWindowsが認識できるパーティションは1つでないといけない。つまり、上記ではID3がWindowsから認識できてしまうため、インストール後にHal.dllが存在しないというエラーで起動できなくなる。そのため、一旦下記のような構成でパーティションを作成する。

ID 容量 ファイルシステム 用途
1 200MB EFI EFI
2 35GB Journaled HFS+ Mac OS X 用システム領域
3 32GB Journaled HFS+ ユーザー領域
4 25.8GB NTFS Widows用システム領域

これによってWindowsから認識できるパーティションは1つになる。

オンライン・パーティショニングを成功させる確率を高めるため、CommandキーとSキーを押しながらMacを起動し、Mac OS X にシングル・モードでログインする。

まずは最低限の下準備のために、下記のコマンドを実行する。

localhost:/ root# sh /etc/rc

現状を確認してみよう。

localhost:/ root# diskutil list /dev/disk0 /dev/disk0 #: type name size identifier 0: GUID_partition_scheme *93.2 GB disk0 1: EFI 200.0 MB disk0s1 2: Apple_HFS Macintosh HD 92.8 GB disk0s2

ID2のdisk0s2パーティションを分割する。書式がやや煩雑で、diskutil resizeVolume [パーティション識別子] 対象パーティションの変更後のサイズ [新規パーティションのファイルシステム 新規パーティション名 新規パーティション容量[ ]]...となる。manにresizeVolumeの記述はないので、詳しくは diskutil resizeVolume を実行しよう。

localhost:/ root# diskutil resizeVolume /dev/disk0s2 35G "Journaled HFS+" user 32G "MS-DOS FAT32" win 25.8G Started resizing on disk disk0s2 Macintosh HD Verifying Resizing Volume hfs_truncatefs: shrank "Macintosh HD" to 9175040 blocks (was 24337468 blocks) Adjusting Partitions Finished resizing on disk disk0s2 Macintosh HD You will need to manually reformat your new partitions. WARNING: You must now reboot!

再起動する。

localhost:/ root# shutdown -r now

再びシングル・モードで起動し、状態を確認してみよう。

localhost:/ root# sh /etc/rc (略) localhost:/ root# diskutil list /dev/disk0 /dev/disk0 #: type name size identifier 0: GUID_partition_scheme *93.2 GB disk0 1: EFI 200.0 MB disk0s1 2: Apple_HFS Macintosh HD 35.0 GB disk0s2 3: Apple_HFS 31.9 GB disk0s3 4: Microsoft Basic Data 25.8 GB disk0s4

Windows CDをドライブに入れ、optionキーを押しながらMacを再起動し、Windowsのインストールを行う。自動で作成された128MBの「未使用の領域」がいくつかあるが、気にせず「C:パーティション4:[不明]」にインストールすること。また、ここでパーティションをいじらないこと。次の画面で「NTFS ファイル システムを使用してパーティションをフォーマット (クイック)」を選択する。

Windowsのインストールが終わったら、Mac OS X DVD で起動し、メニュー「ユーティリティ > ディスクユーティリティ...」でディスクユーティリティのdisk0s3となっているボリュームを選択し、タブ「消去」を選び、ボリュームフォーマット「MS-DOS ファイルシステム」を選択し、ボタン「消去」をクリック。ちなみに、Windows XP は32GBまでしかFAT32でフォーマットできないが、Mac OS X からは2TBまでフォーマット可能だ。

以上で目的のボリューム構成は実現された。面倒なわりにどこかで間違えると最悪 Mac OS X の再インストールからやり直さなくてはいけないが、ぶっ壊れやすいシステム領域と大事なユーザー領域を論理的に分けるのは重要なことである。

参考:Intel Mac/Triple Boot

4 Trackbacks

Boot Camp 1.1.2でWindows Vista製品版をセットアップするには(1)

すでにMSDNなどでWindows Vista RTMを入手されている方もいらっしゃると思いますが、1/30のリリースに合わせて、Boot Camp 1.1.2 BetaでのWindows Vista製品版インストールマニュアルを公開いたします。 Boot Camp製品版ではWindows Vistaが正式対応されるようですので、リリースまでの短い間ではございますが、このマニュアルがMacとWindowsの橋渡しの一助となれば幸いです。

From : パソコンよろずQ&A @ 2007-02-05 06:23:02

Start Mac [7]

 アップル社による「Start Mac体験モニター」プログラムの借用品である、「iMac 20インチモデル(MA589J/A)」へ、「Windows Vista Ultimate」をインストールしてみた。ただし今回のStart Macレポートは、アップル社

From : 清水 隆夫の「Good Job !」 @ 2007-02-18 00:31:38

[MacOS] Boot Camp使用時の注意点

hal.dllが見つからない iMacにBootCampを使ってWindowsを入れてみました。 まずBootCampで普通にパーティションを切り、その後WindowsとMac共通のデータ領域をとるために、Windowsのインストーラでパーティションを再構成をしたんです。 しかしどうやらこれがいけなかったら

From : ゑぶ屋(web-ya) @ 2007-08-14 17:27:32

MacとWinの共有パーティション

詳しい方法をエントリーしてくれている方を発見。(TBしました。) ただ、それなりに複雑。 そこまでして共有が欲しいか現在悩み中・・・。 パーティション分け作業とかは使い始めあた...

From : GN @ 2007-11-15 14:48:42

Track from Your Website

http://rewse.jp/fukugan/trackback/tb.php?id=761

13 Comments

Re: diskutilでデュアル・ブート

はじめまして。
ミクシーのBootCampコミュから来ました。
こちらに書かれている方法でwindowsをインストール後、Windowsの再インストールをする場合、
MS-DOS形式でフォーマットした領域を、再度HFSにしないと
Windowsの再インストールは、不可能なのでしょうか?
突然の質問で、申し訳ありません。

From : sin @ 2006-12-29 18:58:00 編集

Re: diskutilでデュアル・ブート

やったことがないので正確なところは分かりませんが、ID#4にアクティブ・フラグがすでに立っているはずなので、パーティションをいじらない限りは大丈夫なような気がします。ただ、GUIDパーティションにもアクティブ・フラグとかがあるのかがかなり怪しいです。

From : ガヂェット @ 2007-01-02 12:30:11 編集

Re: diskutilでデュアル・ブート

はじめまして。
デュアル・ブートで検索してこちらにたどりつきました。
こちらに書かれている方法でWin・Mac両方からアクセスできるMS-DOSフォーマットのパーティションを作成したのですが、諸事情によりこのパーティションをMac側のパーティション(こちらでいうdisk0s2)に復元したいのですが、diskutilで可能な事なのでしょうか?
BootCampですと一度作成したWin用パーティションを単一パーティションに復元できるのですが・・・。
私も突然の質問で申し訳ありません。
宜しくお願いいたします。

From : ice @ 2007-02-24 02:00:15 編集

Re: diskutilでデュアル・ブート

使っていない外付けディスクを使っていろいろ試してみたのですが、やり方が分かりませんでした。うーん、Boot Camp はどうやっているのだろう……。

From : ガヂェット @ 2007-02-24 12:07:53 編集

Re: diskutilでデュアル・ブート

ガヂェット 様
はじめまして、Tomosanといいます。(^^ゞ
こちらを拝見し、とてもわかりやすい解説で、デュアルブードに挑戦してみようと思いました。

そこで、質問です。
Boot campでWindowsをインストール後、Macのパテーション(disks2)をdiskutilで分割可能でしょうか?(Mac,Win → Mac,FAT,Win)

こちらの手順で3パテーションに分割後、Vistaをインストールしようとしたのですが、こちらにStart Mac[7]でトラックバックされている清水 隆夫さんのようにエラーが出てインストールできませんでした。(手元にXPがないので清水 隆夫さんのような回避策がとれません・・・)
っということで別の方法として考えたのですが・・・。単一パテーションでないとdiskutilでの分割は無理?でしょうか・・・。
よろしくお願いします。m(_ _)m

From : Tomosan @ 2007-03-24 10:42:09 編集

Re: diskutilでデュアル・ブート

私はやったことないですが可能なはずです。

From : ガヂェット @ 2007-03-25 21:40:54 編集

Re: diskutilでデュアル・ブート

ガヂェット 様
早速のレス、ありがとうございます。m(_ _)m
単一パテーションでなくてもdiskutilでの分割が可能とのことをうかがい、安心しました。
ガヂェット様の今後の活躍、期待しております。(^^ゞ

From : Tomosan @ 2007-03-26 10:31:48 編集

Re: diskutilでデュアル・ブート

ディスク関係は失敗すると致命傷になりかねませんから、必ずバックアップを取ってからやってくださいね (Wink)

From : ガヂェット @ 2007-03-26 22:25:35 編集

Re: diskutilでデュアル・ブート

ガヂェット 様
お心遣い、ありがとうございます。(^o^)
バックアップといえばMacは.Macを利用、VistaはWindows Complete PC バックアップを利用という感じでしょうか!?
(^^ゞ
どちらも未使用、未経験な者ですので、この機会に使ってみてもいいですね。基本的には仕事やプライベートのデータはまだなにも入れてないのですが、再セットアップはなるべく避けたいものです・・・。
(^_^;)

From : Tomosan @ 2007-03-29 14:32:29 編集

Re: diskutilでデュアル・ブート

私の毎日のバックアップは、MacはIndelibleで、Windowsは Acronis True Image、Linuxはdump/restoreです。

要件の優先順位は「1. 増分バックアップ可能」「2. 履歴バックアップ可能」「3. ファイルシステム・レベルでバックアップ可能」「4. スナップショット可能」です。True Image とdump/restoreは全要件を満たせてかなりいけてるんですが、Indelibleは1と2のみなんですよね……。ただ、2を満たすソフトがMacにはあまりなく……。

一時は Roxio Toast におまけでついている Deja Vu を使ってたのですが、動作が不安定なのでIndelibleに乗り換えました。LeopardのTimemachineには激しく期待です。

Windows Complete PC は以下の記事を読むと悪くなさそうなんですが、増分バックアップができないので、四半期に一回とかしかやらなさそうです。

@IT: より高機能になったVistaのバックアップ機能
http://www.atmarkit.co.jp/......

From : ガヂェット @ 2007-03-31 11:47:06 編集

Re: diskutilでデュアル・ブート

ガヂェット 様
バックアップについてのコメント、ありがとうございます。バックアップもそう考えると奥が深いな〜・・・。クラッシュしたとしても、再セットアップ後、すぐに元の環境に戻せるのが理想的ですからね。もうちょっとバックアップについても勉強してみます。

From : Tomosan @ 2007-03-31 15:03:24 編集

Re: diskutilでデュアル・ブート

はじめまして
ガヂェットさんと全く同じことをしようと検索していて
ここにたどり着きました。
ガヂェットさんの手順をヒントにして以下の手順で
コマンドライン操作を一切使わずにできました。
MacOSはLeopardです。

1.ディスクユーティリティで上から順に
   #2 Mac用
   #3 データ用
   #4 Win用
  のパーティションを用意する。
2.ディスクユーティリティの“消去”で#4をFATで
  フォーマットする
3.ドライブにWinのセットアップディスクを入れて電源
  投入。#4をNTFSでフォーマットしてインストール。
  再起動するときは必ずOptionキーを押して#4を起
  動するようにする。
4.Winのセットアップに成功したらMacを起動して
  ディスクユーティリティの“消去”で#3をFATで
  フォーマットする

この状態からさらに
5.Winの起動ディスクを入れてOptionキーを押しながら
  電源投入。
  CDドライブから起動して再度Winをセットアップ。
  再起動するときはOptionキーを押して#4を起動する
  ようにする。

5の手順も上手く行ったのでパーティションの構成を変更
しなければWinの再インストールも大丈夫でしょう。

ここまでやって気になったのが最初から複数の
FATパーティションがある状態でインストールを行った
場合に再起動の度にOptionキーで適切なドライブを選択
した場合でも失敗するのかどうかということです。

ガヂェットさん有益な情報ありがとうございました。

From : bebop @ 2008-03-08 00:17:01 編集

Re: diskutilでデュアル・ブート

LeopardだとMacの起動ディスク・パーティションの分割がディスクユーティリティからできるんですね。便利かも。

> ここまでやって気になったのが最初から複数の
> FATパーティションがある状態でインストールを行った
> 場合に再起動の度にOptionキーで適切なドライブを選択
> した場合でも失敗するのかどうかということです。

けっこう前の記事なんでちょっと忘れてしまいましたが、確か「Hal.dllがない」のエラーでダメだったはずです。

From : rewse @ 2008-04-02 23:47:08 編集

Post Your Comment


(Smile) (Wink) (Laugh) (Foot in mouth) (Frown) (Gasp) (Cool) (Tongue)

*は入力必須です。E-Mailは公開されません。