y2blog » OSX Mavericksのインストーラーについて

10

27

2013

OSX Mavericksのインストーラーについて

OSX Mavericks用の起動可能なインストールメディアを作成してみる

  

OSX Mavericksが一般向けに提供されるようになったので、今回はOSX MavericksでのOSアップデートインストールの仕組みについて簡単に触れておくことにします.尚、この記事ではOSX Mavericksの具体的なインストール手順については触れませんので、そのような情報が必要な方はどこかの入門記事でも探してください.


OSX Lion(10.7)からは、これまでの起動可能メディア(DVD or USBメモリなどの外付けデバイス)によるOSインストラーという形式から、”App Store.app” 経由でインストーラーアプリをダウンロードし、インストーラーアプリを起動してOSをアップグレードするという手順に変更されました.ダウンロードしたインストーラーアプリから起動可能なインストールメディアを作成するという方法については、以前にもこのブログの記事で紹介しているので、既存の古いOSを上書き(アップデートインストール)する意外にも、新しいOSを真っ新な状態で新規インストールすることも可能です.


今回この記事を書こうと思ったのは、今回のMavericksのアップデートではこれまでのアップデートインストールの仕組みとは少しばかり様子が異なっていたことがきっかけです.勿論一般のユーザの視点ではこれまでのアップデートインストールとまったく同じようにしか見えないと思いますが、注意深くアップデートインストールの様子を監察していると、”あれっ?”と思わせるような箇所がありました.


その一番の点は、これまでのような単独起動可能なインストールメディアの作成でつまづいた事でした.OSX Mavericksではこれまでと同じ手法が使えないのです.この点をハッキリさせるため、Mountain Lion と Mavericksのインストールアプリの中身を覗いてみます.


Mountain Lion Install Package
Mountain Lion のインストーラーアプリの中身を覗いてみたところ(上)
イメージファイル”InstallESD.dmg”の中身(下)


Mountain Lion のインストーラーアプリ “Install OS X Mountain Lion.app” を右クリックで “Show Package Contents” することで、アプリケーションパッケージの構成ファイルを覗くことができますが、”SharedSupport” フォルダの中に “InstallESD.dmg”というイメージファイルがあり、このイメージファイルをディスク等にリストアすることで起動可能なインストールメディアが作成できます.


Mt Lion Install Disk 起動可能なOSインストールディスクが作成された様子


一方、OSX Mavericksの方もアプリケーションパッケージの構成ファイルは殆ど似ており、個々のフォルダの中身を逐一比較しなければ違いは分かりませんが、”InstallESD.dmg”というイメージファイルの中身をマウントして覗いて見れば Mountain Lionの場合とは大きく異なっているのが分かります.Mountain Lionには含まれていた作業用の起動OSのシステム関連ファイルが全く見当たりません.これでは”InstallESD.dmg”というイメージファイルをディスク等にリストアしても起動可能なインストールメディアは作成できません.


Mavericks Install Package  Mavericks のインストーラーアプリの中身を覗いてみたところ(上)
イメージファイル”InstallESD.dmg”の中身(下)

OSX Mavericksのインストーラーアプリを実行すると、確かに既存のシステムとは別な領域にインストール用のOSシステムが作成され、再起動後にそのインストール作業用のOSシステムが起動しています.それではこのインストール作業用のOSシステムは一体何処に作成されているのでしょうか?
インストール作業用のOSシステムの確保場所を探るために、OSX Mavericksのインストーラーアプリを実際に動かしながら、その動きや振る舞いを注意深く監察して行くことにしましょう.

インストーラログ情報から起動可能なインストールメディアを作成するヒントが得られた


インストーラが吐き出すログメッセージを見ていたらインストーラがどのような処理を行っているのか窺い知ることができます.次に示すログは “ia.log” という名前のログファイルで、インストーラが一時的に吐き出した作業ログのようです.インストール作業が終われば恐らく消えてしまう(後処理で消されてしまう?)類の物なので、インストール作業を途中でストップするなどしてちょっとトリッキーな事をしないと見ることができないかもしれません.


通常 “App Strore.app”からダウンロードしたMavericksのインストーラアプリは “Application” フォルダ ( /Applications ) に置かれますが、ここでは”Tmp” という名前のボリュームにコピーしてからインストーラーアプリ( “/Volumes/Tmp/Install OS X Mavericks.app” ) を起動しています.


このログから、”Tmp” ボリューム配下に “.IABootFiles” という隠しディレクトリを作成し、そこにOSXのミニカーネルを作りEFIのブートローダー “boot.efi” を置き、テンポラリなOSX起動システムを作成しています.blessコマンドで起動ディスクを切り替えています.


Mavericksインストールメディアの作成方法


Mavericksインストーラアプリのコンテンツの中に “createinstallmedia” というコマンドが用意されています.このコマンドを起動することでMavericksインストール用の起動可能なメディアを作成することができます.


Create Install Media
インストーラアプリのパッケージ中に”createinstallmedia” というコマンドが用意されている


この”createinstallmedia”の使い方は、パラメータを何も指定せずに起動することで “Usage” を表示されることができる.


ここでは予め16GBのUSBメモリを “OSXMavericks” というボリューム名で作成(GPT形式)し、マウントしてあります.–volume パラメータでこのUSBメモリを出力先に指定し、コマンドを実行します.(バックスラッシュは空白をエスケープするためのメタキャラクタ)



USB Media
USB Bootable Disk 起動可能なMavericksのインストールメディアが完成



【補足】”Disk Utility”のデバッグメニューを表示させる方法


GUIベースの “Disk Utility” は標準状態では隠しパーティションが表示されませんが、隠しパーティションが表示されないと複雑なパーティション操作は行えません.コマンドラインベースで全て操作する場合は不要ですが、GUIベースの “Disk Utility.app” を使いこなすには隠しパーティションが表示されるように設定を変更する必要があります.


コマンドライン上で 下記の”default” コマンドを入力すれば “Disk Utility.app” の画面に隠しパーティションが表示されるようになります.


defaults write com.apple.DiskUtility DUShowEveryPartition -boolean YES


これ以外に、”Disk Utility.app”のメニューに “Debug” メニューを追加し、”Debug” メニューの項目を利用して隠しパーティションを表示させることもできます.


defaults write com.apple.DiskUtility DUDebugMenuEnabled -boolean YES


“Show every partition” をチェックすれば隠しパーティションが見えるようになります.


DiskUtil Debug ON
Disk UtilityにDebugメニューを追加して、隠しパーティションを表示させたところ


Local Search

Calendar

November 2017
S M T W T F S
« Oct    
 1234
567891011
12131415161718
19202122232425
2627282930  
  • Blogroll

  • Meta