mattintosh note

どこかのエンジニアモドキの備忘録

🍎 OS X 10.6 で Mavericks のインストールメディアを作成する

Mavericks のインストーラーに入っているツールを試してみたら

Failed to start erase of disk due to error (-9999, 0).

というエラーで進めないので何かと思って調べてみた。そしたら、



10.6 では使えないらしい



なん・・・だと・・・


でもまぁ手動では作れるとのこと。

ただちょっと面倒で不可視属性付きのディスクイメージをマウントしたりしなくちゃいけないらしい。

情報を色々見てると全部シェルからいけそうだったので sh にやっていただくことにした。 disk1 をターゲットに Mavericks インストール用 USB フラッシュメモリを作成する。

コピペダメ!ゼッタイ!!(データ全損するかもよ)

#!/bin/sh -ex

############################
# This is dangerous script #
############################

PATH=/usr/bin:/bin:/usr/sbin:/sbin

### 1. Initialize target disk ###
test ! -e "/Volumes/OS X Base System" \
|| diskutil unmount "/Volumes/OS X Base System"

diskutil info /dev/disk1
printf '\e[1;31m%s\e[m\n' "Is this target disk? Select the number!"
select ans in yes no; do case $ans in
yes) break ;;
no) exit ;;
esac
done

diskutil eraseDisk JHFS+ Untitled GPT /dev/disk1

### 2. Mount source disk image ###
test -e "/Volumes/OS X Install ESD" \
|| hdiutil attach "/Applications/Install OS X Mavericks.app/Contents/SharedSupport/InstallESD.dmg"

### 3. Restore from BaseSystem.dmg ###
sudo asr restore -s "/Volumes/OS X Install ESD/BaseSystem.dmg" \
                 -t /dev/disk1s2 --erase

### 4. Copy Packages directory ###
rm    "/Volumes/OS X Base System/System/Installation/Packages"
ditto "/Volumes/OS X Install ESD/Packages" \
      "/Volumes/OS X Base System/System/Installation/Packages"

### 5. Unmount source disk image ###
diskutil eject  "/Volumes/OS X Install ESD"
diskutil umount "/Volumes/OS X Base System"

いつも思うけど diskutil とか newfs って管理者権限無しでできちゃうから恐ろしい。

一応これでブートディスク選択とインストール画面までは表示できたけど実際に Mavericks をクリーンインストールできるかはまだ試してない。やるのは来週かなぁ。

2014年06月14日、無事 Mavericks のインストール完了。BaseSystem.dmg で色々試してみた → http://mattintosh.hatenablog.com/entry/2014/06/14/220000

参考ページ

わかりやすく書いてくれていて非常に助かりました。


2014年06月14日:コード修正