Mac 関係覚え書き

コマンドによるボリューム名の変更

# diskutil rename /Volumes/現在のボリューム名  新しいボリューム名

コマンドによるディスクイメージのマウント

マウント

# hdiutil mount イメージファイル

アンマウント

# hdiutil unmount マウントパス

マウントパスは例えば /Volumes/Firefox など.


ボリュームの再フォーマット

/usr/sbin/diskutil reformat /Volumes/${HOST}file

イメージのタイプを表示

$ hdiutil imageinfo -format System.dmg 

圧縮イメージを非圧縮イメージに

$ hdiutil convert System.dmg -format UDRW -o OutFile.dmg

ディスクイメージのフォーマットを増やす

ディスクユーティリティで作成できるディスクイメージの フォーマットを Mac 標準のもの以外のものに増やす.

$ defaults write com.apple.DiskUtility advances-image-options -bool ture

ボリュームが壊れてマウントできないときの対処

/Volumes/usr2 のマウントが外れている.

ディスクユーティリティでディスクをマウントしようとするが, 以下のようなエラーがsystem.logに記録されマウントされない.

Aug 27 12:58:53 macnfs1 kernel: jnl: open: journal magic is bad (0x0 != 0x4a4e4c78)
Aug 27 12:58:53 macnfs1 kernel: hfs: early jnl init: failed to open/create the journal (retval 0).

処置

管理者ユーザ(admin)でログインし,以下のコマンドを入力.

admin$ diskutil list

次のような出力があり,name 欄に usr2 と表示されている行があれば, OS からは認識されていると考えられる.

.... /dev/disk2

  #:                   type name               size      identifier
  0: Apple_partition_scheme                    *1.1 TB   disk2
  1:    Apple_partition_map                    31.5 KB   disk2s1
  2:             Apple_Boot                    8.5 MB    disk2s2
  3:              Apple_UFS usr1               992.3 GB  disk2s3
  4:              Apple_HFS space              144.7 GB  disk2s5

/dev/disk3

  #:                   type name               size      identifier
  0: Apple_partition_scheme                    *1.1 TB   disk3
  1:    Apple_partition_map                    31.5 KB   disk3s1
  2:             Apple_HFSX usr2               1.1 TB    disk3s3

....

1) でボリュームが認識されているようであれば,次のコマンドで ボリュームをマウントしてみてる.

admin$ sudo diskutil mount /dev/disk3s3
(ここで,disk3s3 の部分は,1) で出力させた結果の usr2 が書かれている行の
 identifier 欄に出ているデバイス名です.)
   % mkdir /tmp/a
   % sudo /System/Library/Filesystems/hfs.fs/hfs.util -MU disk3s3 \
   /tmp/a fixed readonly nosuid nodev

hfs.util コマンドに何もオプションを与えないと説明が出てくる. (あるいは "man hfs.util"). ここでは 「ジャーナル無効で /dev/disk3s3 を読み出し専用の固定ディスクとして, /tmp/a へ強制マウントせよ」 といった感じ.

マウントできたなら,あとは cp コマンドなどで別のディスクへ移す. 作業が終わったら一度シャットダウン.

で,一度これをやったらそれ以降は何もなかったように動くらしいのだが… ログになんか出てる(ジャーナル情報をリセットしたようなことが出力されて いる)

ちなみに,コマンドラインでジャーナリングの OFF をしてもいいかも.

macnfs1 $ sudo diskutil disableJournal /dev/disk3s3
Journaling disabled on /Volumes/usr2
Journaling has been disabled on /dev/disk3s3

tunefs


S.M.A.R.T エラー

ディスクに S.M.A.R.T エラーが検出されるとディスクユーティリティに 次のような表示さされる.. で,OS は電源を入れ,白い画面のまま進まなくなる.

smarterror.JPG

Live Verification

Mac OS X 10.4.3 移以降では 起動中に Mac OS X ボリュームを検証卯できるようだ. http://support.apple.com/kb/TS1417?viewlocale=ja_JP

方法 1

管理者でディスクユーティリティを使う.

方法 2

管理者で以下のコマンドを実行する.

$ diskutil verify /

方法 3

管理者で以下のコマンドを実行する.

$ df -hl   (起動ディスクを確認)
$ sudo fsck_hfs -l /dev/disk0s3

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS