dmgファイルが開けないとき|警告で止まっているのか中身が欠けているのか

dmg ファイル 開けないで検索している人の状況は、大きく2つに分かれます。ダブルクリックしても何も起きないか、警告のダイアログが出て止まるか。この2つは原因の層がまったく違うため、同じ対処法を当てても片方にしか効きません。この記事では、dmgを開く操作が内部で何段に分かれているかを先に整理し、そこから症状別にどこを見るかを順番に並べます。

dmgを開く操作は、取り付けとマウントの2段に分かれている

dmgは、ディスクそのものを真似た入れ物です。中にファイルシステムが入っていて、外付けドライブと同じ扱いで接続されます。この性質を知らないまま「圧縮ファイルの一種」として扱うと、症状の読み方がずれます。

ダブルクリックしたときにmacOSが行うのは2つの別の操作です。1段目は取り付けで、入れ物を外付けドライブのように装置として繋ぎます。2段目はマウントで、繋がった装置の中を調べ、見覚えのあるファイル構造が見つかったものをボリュームとしてデスクトップやFinderのサイドバーに出します。macOSに入っているディスクイメージ操作用のコマンドの説明でも、この2段は別のものとしてはっきり分けて書かれています。

区別が効くのは、症状の読み分けです。デスクトップに白いディスクのアイコンが一瞬出てすぐ消えるなら、1段目は通って2段目で失敗しています。何も出ないなら1段目で止まっています。警告のダイアログが出るなら、そもそも操作が始まる前にセキュリティの層で止められています。

この記事で扱う層は3つです。セキュリティの層、入れ物の中身の層、そして開く相手の割り当ての層。どの層かを決めてから手を動かせば、関係のない設定を触る場面が消えます。

何も起きないのか、警告が出るのかを最初に分ける

判定の手順は単純です。dmgをダブルクリックして、画面に何が出るかを言葉にします。

  • 文字が並んだダイアログが出る。開発元やApp Storeに関する文面が含まれる。この場合はセキュリティの層です
  • 「壊れているため開けません」「マウントできるファイルシステムがありません」のような文面が出る。この場合は中身の層です
  • 「開くために設定されているアプリケーションがありません」のような文面が出る。この場合は割り当ての層です
  • 何も出ない。アイコンが一瞬沈むだけで終わる。この場合は割り当てか中身のどちらかで、次の節の順番で絞ります

同じ文面が出るかどうかを、別のdmgでも確かめます。手元に以前ダウンロードして開けたdmgが残っていれば、それを開いてみます。そちらが開けるなら問題は個別のファイルにあり、そちらも開けないならMacの設定側にあります。この1手で、調べる範囲が半分になります。

dmgがMac固有の形式であることも、前提として押さえておく価値があります。Windowsの環境に渡しても標準では開けません。

アプリケーション固有のファイル: .dmg (Macのディスクイメージ)、.exe (Windowsの実行ファイル) など、特定のOSのアプリケーションでしか開けないファイルは、互換性がありません。 出典: note.com

同僚に転送して「そちらでは開けるか」を確かめる場合は、相手もMacであることを先に確認します。

警告で止まっている場合は、セキュリティの層を通す

App Store以外から受け取ったアプリやインストーラを最初に開くとき、macOSは開発元の署名と、Appleによる公証の有無を調べます。この検査で答えが出せないと、実行の前に止めます。

dmgファイルをダブルクリックすると、「Mac App Storeからダウンロードされたものではないため開けません」と表示される場合があります。 出典: jp.easeus.com

似た文面がいくつかあり、意味は少しずつ違います。開発元を検証できないという文面は署名か公証が確認できない状態、悪質なソフトウェアかどうかを確認できないという文面は公証の検査で答えが得られなかった状態、App Storeからダウンロードされたものではないという文面は設定で許可の範囲を絞っている状態です。壊れているという文面が出た場合だけは別で、改ざんか破損の可能性を示しています。

信頼できる配布元から受け取ったものだと自分で判断できる場合、macOSには例外として通す道が用意されています。Appleの資料には手順が書かれています。

「プライバシーとセキュリティ」をクリックし、下にスクロールして「このまま開く」ボタンをクリックして、アプリを開く、またはインストールする意思を確認します。 出典: support.apple.com

このボタンは、一度開こうとした直後にだけ出ます。何も試していない状態でシステム設定を開いても項目は並びません。順番は、ダブルクリックして止められる、システム設定のプライバシーとセキュリティを開く、このまま開くを押す、もう一度出る確認で開くを押す、です。一度通したアプリは例外として記録されるため、次回からは通常の操作で開きます。

判断の基準は配布元です。公式サイトのダウンロードページから直接受け取ったものか、検索結果に出てきた転載サイトから受け取ったものかで、通してよいかどうかは変わります。転載サイトから受け取ったものは、公式の配布ページを探して取り直すほうが安全側に寄ります。

入れ物そのものが欠けている場合の確かめ方

壊れているという文面や、マウントできるファイルシステムが無いという文面が出る場合は、入れ物の側を疑います。いちばん多いのは、ダウンロードが途中で切れているものです。

確かめる手は2つあります。1つは容量で、配布元のページに書かれている数値と手元の容量が違えば途中で切れています。もう1つは、入れ物の情報を読むコマンドです。

hdiutil imageinfo ~/Downloads/app.dmg

このコマンドは、その入れ物の形式や構造を報告します。読み出せずにエラーで終わるなら、ディスクイメージとして成り立っていません。読み出せる場合は、次に検査を掛けます。

hdiutil verify ~/Downloads/app.dmg

検査が見ているのは、読み出し専用または圧縮された入れ物に記録されている検査値と、実際の中身が一致するかどうかです。配布用のdmgはほぼこの形式なので、受け取ったものが途中で欠けていればここで分かります。読み書きできる形式の入れ物には検査値が入っていないため、検査そのものができません。

注意したいのは、この検査が調べているのは入れ物のブロックであって、中に入っているファイルシステムの整合性ではないという点です。検査を通っても中身のファイルが壊れていることはあり得ます。逆に、検査で落ちた入れ物を無理に開く手を探すより、取り直したほうが早く終わります。

配布元がチェックサムの値を公開している場合は、shasum -a 256で手元の値を出して突き合わせます。容量が一致していても中身が違うという事故は、この照合でしか見つかりません。

開く相手の割り当てが外れている場合

「開くために設定されているアプリケーションがありません」という文面や、何も起きない症状で残るのが割り当ての層です。dmgを担当しているのはmacOSに入っているディスクイメージ用の小さなアプリで、実体は/System/Library/CoreServices/DiskImageMounter.appにあります。

過去に何かの仮想ドライブ用のアプリやアーカイブ管理のアプリを入れると、dmgの割り当てがそちらへ移ることがあります。そのアプリを消したあとも割り当てだけが残ると、開く相手が存在しない状態になり、ダブルクリックが空振りします。

戻す手順は、dmgを1つ選んでファイルメニューから情報を見るを選び、「このアプリケーションで開く」の欄でディスクイメージ用のアプリを選び、その下の「すべてを変更」を押します。一覧に出てこない場合は、その他を選んで先のパスから直接指定します。

コマンドから取り付けだけを試す道も残っています。ディスクイメージ用のコマンドにattachを渡すと、Finderを経由せずに装置として繋ぎ、成功すると装置の名前とマウント先を出します。ここで成功するなら、壊れているのは割り当てだけだと確定します。失敗するなら中身の層に戻ります。切り分けの道具として使うなら、この順番が最短です。

なお、暗号化されたdmgに対してこの操作を行うと、パスワードの入力を求めるダイアログが出ます。暗号化されているかどうかだけを先に知りたい場合は、同じコマンドにisencryptedを渡せば、ダイアログを出さずに1行で答えが返ります。

既に取り付けられていて、二重に開けない場合

同じdmgを何度も開こうとして反応が無くなった場合、すでに取り付けられている可能性があります。Finderのサイドバーに同じ名前のボリュームが並んでいるか、デスクトップに白いディスクのアイコンが残っているかを確かめます。

残っている場合は、先に取り出します。サイドバーの取り出しの印を押すか、コマンドから外します。

hdiutil detach /Volumes/App

取り出しがエラーになるときは、その中のファイルをどこかのアプリが掴んでいます。インストーラを開いたまま、あるいはターミナルの作業ディレクトリがその中に入ったまま、という状態が典型です。掴んでいる相手を閉じてから外すのが正しい順番で、強制的に外す指定は最後の手段になります。

再起動を勧める記事も多いですが、掴んでいる相手を特定して閉じるほうが影響範囲が小さく済みます。録画や長い処理を走らせている最中であれば、なおさら先に相手を探す価値があります。

ディスクイメージのコマンドには入口が2つある

コマンドで扱う場合、入口が2つあることを知っておくと混乱しません。長く使われてきたのはディスクイメージ専用のコマンドですが、macOSの新しい版では、ディスク管理のコマンドに用意されたイメージ用の入口が推奨される形に変わりました。

対応は素直です。取り付けはdiskutil image attach、入れ物の情報はdiskutil image info、取り出しはdiskutil ejectが新しい入口になります。新しく追加された形式のイメージは、古い側のコマンドでは扱えません。

検索して出てくる手順は古い側で書かれているものが多く、そのまま打っても動きます。ただし、新しい形式のイメージを渡されて知らない形式だと返された場合は、入口を替えるだけで解決します。覚えておく価値があるのは、この置き換えの表が手元のコマンドの説明文に載っていることです。困ったときに検索する前に読める場所に答えがあります。

切り分けの往復が増えている場所

dmgが開けない状態を追うとき、実際に見ている情報は3か所に散っています。ダウンロードフォルダの中の容量と日付、コマンドが返した検査の結果、そして画面に出た警告の文面です。フォルダを見る窓とコマンドを打つ窓とAIに聞く窓が別々に開いていると、対象を選び直すたびに切り替えが入り、急いでいるときほど検査を飛ばして再ダウンロードを繰り返します。

フォルダとターミナルとAIが同じ窓にある状態なら、対象を選んだまま容量を確かめ、そのまま検査の1行を打ち、返ってきた文面をその場で読めます。切り分けは「文面を読む、入れ物を検査する、割り当てを確かめる」の3段なので、往復が減ると層の特定が先に終わります。

道具の側で何ができるかはできることに、Finderやほかのファイル管理との違いは他のファイル管理との比較にまとまっています。外出先から手元のMacの状態を確かめる使い方はiPhone・iPadから続きを、費用の目安は料金にあります。判断に迷いやすい点はよくある質問に整理されています。

まず変えるべきは、dmgが開けないときに画面の文面を言葉にしてから手を動かすことです。文面が分かれば層が決まり、層が決まれば試す手は1つか2つに絞られます。

よくある質問

dmgをダブルクリックしても何も起きないときは何を見ますか?

開く相手の割り当てが外れている可能性が高いです。dmgを選んで情報を見るを開き、「このアプリケーションで開く」でディスクイメージ用のアプリを選んで「すべてを変更」を押してください。実体は /System/Library/CoreServices/DiskImageMounter.app にあります。コマンドから取り付けだけが通るなら、壊れているのは割り当てだけです。

「開発元を検証できません」と出たdmgは開けますか?

配布元を自分で信頼できる場合は通せます。一度開こうとしたあとにシステム設定のプライバシーとセキュリティを開くと「このまま開く」が出るので、そこから進みます。検索結果の転載サイトから受け取ったものは、公式の配布ページを探して取り直すほうが安全です。

dmgが壊れているかどうかを確かめる方法はありますか?

hdiutil verify を使います。読み出し専用や圧縮された入れ物には検査値が記録されていて、中身が欠けていればここで分かります。読み書きできる形式には検査値が無いため検査できません。配布元がチェックサムを公開しているなら shasum -a 256 の値を突き合わせるのが確実です。

取り出せないと言われるボリュームはどうすればよいですか?

その中のファイルをどこかのアプリが掴んでいます。インストーラを開いたままにしていないか、ターミナルの作業ディレクトリがその中に入っていないかを確かめ、相手を閉じてから hdiutil detach を実行してください。強制的に外す指定は、書き込み中のデータを失う可能性があるため最後の手段になります。

記事一覧へ戻る