ぼやき

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 とかになってしまいました。

Mavericks 用パーティションの残量が少ない

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


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

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

パーティションが変更できない

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

Snow Leopard の容量の余りを Mavericks に分けたい

パーティションのサイズを変更している記事なんかを見てみると、 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 のパーティションから起動して「復元」を行いました。(作業前に「ディスクのアクセス権を修復」を行いました。)

Mavericks のバックアップを取る

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

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

Snow Leopard のパーティションを小さくして、新しいパーティションを追加する

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

# diskutil list
disk0s3 と disk0s4 をマージする

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

# diskutil mergePartitions JHFS+ new disk0s3 disk0s4

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

パーティションをマージするコマンド(※間違っています。)

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

マージしたパーティションが消えてしまった

きっとコマンドが間違っていたんだと思います。下記サイトの該当箇所を読んでみたら、やっぱりコマンドが間違っていました。
→ 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 のパーティションを復元しました。

ディスクユーティリティでシステムの復元

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

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

Mavericks 用のパーティションが増えた

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

関連記事

コメント (2)

  • 匿名

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

  • あさこん

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

コメントを書く

トラックバック URL