
2026/08/23 4:04
macOS 27 Golden Gate では、hdiutil が廃止されました。
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Jeff Johnson 氏による「My apps」と題した記事(2026 年 8 月 14 日付)は、macOS 27.0「Golden Gate」ベータ版における変更点について詳述しており、
hdiutil の廃止に伴い diskutil image が採用される点を扱っています。diskutil は、ホームフォルダーのバックアップ時間を約 115 秒から約 45 秒に短縮するなど著しいパフォーマンス向上をもたらす一方、ASIF 形式のサポートも可能ですが、旧来のツールと比較して機能制限や不足した機能が導入されています。具体的には、diskutil image は、attach、resize、info、chpass といった重要なサブコマンドに加え、-puppetstrings、[no]crossdev、[no]scrub、[no]atomic などを含む各種オプションを欠いており、これらは hdiutil に存在するものです。これらの欠落は、既存のスクリプトやアプリケーションとの互換性問題を引き起こし、Knox などのツールに特に影響を及ぼしています。
さらに、この移行は重要なワークフローの破断を示しており、
hdiutil は root オーナファイルに対して認証プロンプトをトリガーすることでエラーを防いでいたのに対し、diskutil image は同等な条件下では「Operation not permitted」というエラーが発生し、認証プロンプトメカニズムを備えていないためです。ユーザーはこれらの問題ファイルを手動で削除して初めて作業を成功させる必要があります。追加の問題点としては、作成されたイメージの違い(例:diskutil が ~/.Trash を -scrub 有効状態のように除外する)、および Apple が iOS 固有の診断データ収集を要請しているにも拘わらず、.bnnsir ファイルが macOS Sequoia 上で両ツールともにアクセス不能となる永続的なバグが含まれます。本文
macOS 27「Golden Gate」での hdiutil
廃止と diskutil
の現状
hdiutildiskutil概要
macOS 27(コード名:Golden Gate)のベータ版では、ディスクイメージ管理ツールである
が非推奨(Deprecation) となりました。代わりに、すべてのディスクイメージ操作に hdiutil
を使用するよう移行が求められています。diskutil image
主要な変更点
の廃止: macOS 27.0 ではhdiutil
はサポート終了し、非推奨となりました。hdiutil- 代替ツール: アタッチ、作成、リサイズ、情報表示、パスワード変更などの機能はすべて
に統合されています。diskutil image - フォーマット制限: ASIF(Apple スパースイメージフォーマット) は
のみ対応し、diskutil image
ではサポートされていません。hdiutil - 非推奨代替リスト:
の「DEPRECATION NOTICE」セクションに、各サブコマンドへのman hdiutil
での代替手段が明記されています。diskutil
機能とオプションの差異
進捗表示機能 (-puppetstrings
)
-puppetstringshdiutil で使用できた -puppetstrings オプションは欠落しています。これは、別のプログラムによる進捗レポート解析を目的としていた機能です。
参照:
hdiutil -puppetstrings
- 別のプログラムによって解析しやすい進捗状況レポートを出力。
- PERCENTAGE(パーセンテージ)形式の出力には
という値が含まれることがあり、完了時間が不確かな操作を示します。-1- 結論: このオプションは
では利用不可です。diskutil
欠落しているオプション (diskutil create
)
diskutil create以下のように、
hdiutil create -srcfolder に固有の機能やオプションが diskutil では対応していません。
| オプション名 | 状態 | 備考 |
|---|---|---|
| 利用不可 | での実装なし |
/ | 動作違い | 直接利用不可。デフォルト動作が異なる(後述) |
| 利用不可 | サポートなし |
| 利用不可 | サポートなし |
/ | 機能違い | は のみ存在し、挙動が異なる |
| 利用不可 | サポートなし |
実機検証:MacBook Pro (macOS Sequoia → Golden Gate)
ユーザーホームフォルダのバックアップ作成を比較テストとして実行しました。
1. 旧メソッド (hdiutil
)
hdiutilコマンド例:
time hdiutil create -encryption -format UDZO -noatomic -noscrub \ -srcfolder /Users/stupiduser -stdinpass -verbose \ /Users/Shared/hdiutil.dmg
- 所要時間: 平均 110〜115 秒
- 認証プロンプト: 発生
- 対象ファイルの一部が
ユーザーに所有されている場合、エラーが発生し認証が必要です。root - エラー例:
copy-helper[...]: uid 501 does not have ownership of ... Error 80 (Authentication error). - 管理者権限で認証通过后に正常完了します。
- 対象ファイルの一部が
2. 新メソッド (diskutil
)
diskutilコマンド例:
time diskutil image --stdinpassphrase --verbose create --encrypt from \ --format UDZO /Users/stupiduser /Users/Shared/diskutil.dmg
- 失敗要因:
オプションをつけても原因が明らかならず、以下のエラーで停止。--verbose[100% completed] Error: Failed to create disk image: The operation couldn't be completed. Operation not permitted - 解決策: 原因は root 所有のファイル です。
はdiskutil
と異なり認証プロンプトを発行しないため、所有者変更(root 所有ファイルの削除)を事前に行う必要があります。hdiutil- 解決後:正常に完了
[100% completed] /Users/Shared/diskutil.dmg created
- 解決後:正常に完了
3. パフォーマンスと結果比較
| 項目 | (旧) | (新) | 差 |
|---|---|---|---|
| 所要時間 | 約 110〜115 秒 | 約 40〜45 秒 | が 1 分以上速い |
| 出力サイズ | 2.89 GB | 2.8 GB | の方が 小さい |
| 進捗表示 | あり | インプレース更新 (機能類似) | - |
4. コンテンツの違い(FileMerge による比較)
生成された
.dmg ファイルをマウントし比較した結果、主な違いは以下の通りです。
:hdiutil
フォルダを含んでいる。~/.Trash/
:diskutil
フォルダを含んでいない。~/.Trash/
この動作は、
hdiutil の -scrub オプションを有効にした状態と同様です。
-[no]scrub (ボリュームイメージ化時の一時ファイル扱い):
- [しない]: スキャン対象のルートがマウントボリュームの場合、デフォルトで scrubbing(削除処理)が有効。
- Scrubbing 対象:ゴミ箱、一時ディレクトリ、スワップファイルなど。
課題と今後の要望
diskutil が大幅に高速化され機能も継承されていますが、以下の改善が必要です。
- 詳細なログ表示の向上
- エラー発生時などに具体的な理由を提示してほしい。
- ファイル権限問題への自動対応
特有の「認証プロンプト」挙動(root 所有ファイル時)は維持すべきか、あるいは改善すべきか明確化が必要。hdiutil
- オプションの追加
/-scrub
の明文化機能の実装。-[no]scrub
結論と懸念点
hdiutil の機能を完全に diskutil に引き継いであるのに、あえて廃止してしまう理由が理解できません。Apple は意図的に長年のワークフローやスクリプトを破壊しようとしているように見えます。
- サードパーティ製アプリへの影響: 過去に
を直接呼び出すアプリ(例:Knox)の開発にも携わった経験がありますが、ツールが廃止されればこれらのアプリは完全に動作しなくなります。hdiutil
バグに関する余談:.bnnsir
ファイルの問題
.bnnsirGolden Gate ベータ版における
hdiutil と diskutil は、昨年の記事で指摘された macOS Sequoia のアクセス不可 .bnnsir ファイル の影響をまだ受けています。
- バグ報告: Apple へ提出した報告(FB17162985)に対し、以下の奇妙な対応がありました。
「hdiutil create コマンドで Siri CoreSpeech の
ファイルとコピーエラーが発生する」.bnnsir - Apple の要求: 再現手順を提供しても「最新のベータ版でも発生しているか確認し、iOS の sysdiagnose を提出してほしい」と求められました。
- 現状: macOS のバグに対して iOS の診断データを求める姿勢は驚異的ですが、最新ベータ版ではこのバグはまだ解決されていません。