ぼやき

2

Mac mini に 240 GB の SSD を搭載して、120 GB ずつにパーティションに切って、Mac OS X 10.6 Snow Leopard と OS X Mavericks (10.9) をインストールして使っているのだけれど、最近常用している Mavericks の空き容量が少なくてきついのです。先日の記事に書いた modern.IE をダウンロードしてインストールしようとしていたら、空き容量が 6.4 GB とかになってしまいました。

20140326_1.png

Macのパーティションのサイズが変更できない

Mac OS 10.5 Leopard からマスターブートレコードパーティション以外のパーティションなら、どんなフォーマットのものでもパーティションのサイズの変更が可能になりました。
→Apple サポート:Mac OS X v10.5:ディスクパーティションの大きさを変更する

パーティションの容量を変更できるはずと思って、外付けから起動して、ディスクユーティリティ.app でパーティションを変更しようと思ったら、「選択したパーティションは変更できません。」と書いてあります。

20140326_2.jpg

もしかしたら Mavericks の空き容量が不足しているからかも、と Mavericks を起動して、ダウンロードした modern.IE の仮想マシンファイルを別の HDD に移して、VMware FUSION 上の Windows XP の中身もきれいにして、VMware Fusion 上の仮想マシンライブラリからクリーンナップしました。あと Java もアンインストールしました。しかし Mavericks の入ったパーティションは変更できる兆しはありません。

20140326_3.png

パーティションのサイズを変更している記事なんかを見てみると、1パーティションの空きに1つパーティションを追加しているいるものばかりです。もしかしてすでに2パーティションに分けられているパーティションを移動することはできないのでは、と思って調べてみたら、やっぱりパーティションの容量を変更するのはサードパーティ製のソフトが必要なようです。

既に2パーティションに分かれている場合はダミーパーティションを作成して結合する

いろいろなサイトを読んで総合すると、以下の方法で可能なようです。失敗するとデータが飛ぶのでバックアップが必須だとか。

  1. Snow Lepard用のパーティションのサイズを小さくしする
  2. 開いた領域に新しいパーティションを追加
  3. ターミナルで新しいパーティションと Mavericks 用と結合

→他愛もない日常が好き:BootCampが不要になったMacのパーティションをマージする
→Macとかの雑記帳:OS X 10.7 Lion の Recovery HD を削除する方法

Mavericks のバックアップ

まずは Mavericks のバックアップをします。Snow Leopard については移行前のデータがタイムマシンに残っているので OK ということにしよう。

HDD かディスクイメージにバックアップを取ればいいのだけれど、手元に Mac mini に入っていた 120 GB の HDD があるので、それにディスクユーティリティの「復元」を使ってコピーすることにしました。Snow Leopaerd のパーティションから起動して「復元」を行いました。(作業前に「ディスクのアクセス権を修復」を行いました。)

20140326_4.png

次にパーティションをいじるので、いじるディスク(今回の場合は SSD)以外から起動する必要があります。以前、Mountain Lion インストール時に作った外付けのインストールディスクから起動して作業を行うことにします。
Mac OS X Mountain Lionの起動ディスクを作る

Snow Leopard 用のパーティションのサイズを小さくし、「+」ボタンをクリックし Snow Leopard 用の下に新しいパーティションを作ります。

20140326_5.jpg

ターミナルを起動します。HDD 上パーティションの並び順を以下のコマンドを打って調べます。(起動ディスクからターミナルを使うと、$ じゃなくて # になるんですね。)

# diskutil list

20140326_6.jpg

「disk0s3」「disk0s4」を1つのパーティションにします。失敗するとデータが消失するのでバックアップは必ずとっておくこと!

# diskutil mergePartitions JHFS+ new disk0s3 disk0s4

※このコマンドを実行すると「disk0s4」のデータを消失します。

20140326_7.jpg

これでよし! と思って、ディスクユーティリティを見てみたら、Mavericks のデータが消えていました。

20140326_8.jpg

きっとコマンドが間違っていたんだと思います。下記サイトの該当箇所を読んでみたら、やっぱりコマンドが間違っていました。
→Mac Developer Library:diskutil(8) Mac OS Manual

mergePartitions [force] format name fromDevice toDevice
Merge two or more partitions on a disk. All data on merged partitions other than the first will be lost. Data on the first partition will be lost as well if the force argument is given.

「ディスク上の2つ以上のパーティションをマージします。マージしたパーティションのうち、最初以外のパーティションのデータはすべて失われます。 force 引数が指定されている場合、最初のパーティション上のデータも失われます。」

「disk0s3」は空のパーティションで、 「disk0s4」にMavericks のデータが入っていたので、順番が逆でした。それはデータ消失するわ。

# diskutil mergePartitions JHFS+ new disk0s4 disk0s3

試してはいませんが上記のコマンドで上手くいくはずです。

バックアップから Mavericks を復元

コマンドのミスでデータが全部消えてしまったので、ディスクユーティリティから Mavericks のパーティションを復元しました。

20140326_9.jpg

こんなことならパーティションのマージなんかせずに、Mavericks のパーティションを削除して新しくパーティションを作ってそこに復元すればよかったです。でも本当に取っててよかったバックアップ。

いろいろありましたが、これで Mavericks のパーティションが大きくなりました!

20140326_10.png

ついでにリカバリ領域の「Recovery HD」も削除しようかと思いましたが、またデータが消えたら大変なのでやめておきました。

関連記事

コメント (2)

  • 匿名

    この記事を参考にさせていただきました。どうもありがとうございました。私のMacで試したところ、パーティション番号の大きい方を優先して統合する形のマージはできませんでした。パーティション番号の小さい方を優先して統合することしかできないようです。つまり、「first partition」のfirstは、コマンドの中のfirstという意味ではなく、ディスク上のfirstという意味で、マージする際の優先順位は変えられないのだと思います。以上、何かのお役に立てれば幸いです。

  • あさこん

    ◇匿名さん◇
    コメントありがとうございます。
    パーテションの後ろを残して前と結合することはできないのですね。
    first partitionが番号が若いパーテションという意味なんですね。
    ご報告ありがとうございます。
    折を見て加筆します。

コメントを書く


*

トラックバック URL