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

SSD と HDD でFusion Drive を作成する

ドライブの確認

# diskutil 
/dev/disk0
  #:                       TYPE NAME                    SIZE       IDENTIFIER
  0:      GUID_partition_scheme                        *251.0 GB   disk0
  1:                        EFI EFI                     209.7 MB   disk0s1
  2:                  Apple_HFS Macintosh HD           +250.1 GB   disk0s2
  3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
  #:                       TYPE NAME                    SIZE       IDENTIFIER
  0:      GUID_partition_scheme                        *500.0 GB   disk1
  1:                        EFI EFI                     449.8 MB   disk1s1
/dev/disk2
  #:                       TYPE NAME                    SIZE       IDENTIFIER
  0:      GUID_partition_scheme                        *251.0 GB   disk2
  1:                        EFI EFI                     249.8 MB   disk2s1

ドライブをコンカチ(disk1 + disk2)

# diskutil cs create "Fusion Drive" disk1 disk2
...
Finished CoreStorage operation

ボリューム ID を調べる

# diskutil cs list
CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX  <--
    =========================================================
    Name:         Macintosh HD
    Status:       Online
    Size:         250140434432 B (750.1 GB)
    Free Space:   18882560 B (748 GB)
......

ボリューム作成

# diskutil coreStorage createVolume XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX jhfs+ "VolumeName" 100%

ちなみに,フージョンドライブを解除は

# diskutil coreStorage delete XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

で再起動.


apfs_hfs_convert

検証したい.


添付ファイル: filesmarterror.JPG 998件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-02-27 (火) 23:05:21