1 ポイント 投稿者 GN⁺ 2024-12-15 | 1件のコメント | WhatsAppで共有
  • macOS 15.2でAppleのOS複製機能が壊れ、SuperDuper! のようなツールが 別ドライブへOSをコピー する作業を完了できない
  • 失敗はDataボリューム複製の終盤、PrebootまたはRecoveryのコピー段階と見られる箇所で発生し、Resource Busy エラーが表示される
  • 過去のResource Busyエラーはシステムをスリープさせないことで回避できたが、今回のバグはほとんどのシステムで 実質的な解決策がない
  • サードパーティーツールがOSコピーをAppleのコードに依存しなければならない構造のため、Appleが修正するまで OSを含む複製 は動作しない
  • 一時的な代替策は、SuperDuper! で “Backup - all files” と “Smart Update” を使ってOSを除く項目をバックアップし、その後クリーンインストール後の初回起動時に復元する方法

macOS 15.2で壊れたOS複製

  • macOS 15.2のリリース後、Appleの replicator が正常に動作せず、OS複製作業が失敗する
  • 失敗箇所はDataボリューム複製の終盤と見られる
    • PrebootまたはRecoveryをコピーしようとする段階で問題が発生しているようだ
    • エラーは Resource Busy として表示される
  • 以前のResource Busyエラーは、システムがスリープしないように保つことで回避できた
  • 今回のバグはほとんどのシステムで回避が難しく、複製作業はそのまま停止する

SuperDuper! が直接修正できない理由

  • AppleはサードパーティーのOSコピー機能を取り込み、OSコピーの責任がAppleのコードに結び付けられた構造になった
  • SuperDuper! のようなツールは、OSをコピーするにはAppleのコードに依存しなければならない
  • macOS 15.2ではそのコードが完全に壊れており、Appleが修正するまで OSコピー は動作しない
  • 以前からこのコードの別のバグを回避する必要はあったが、今回のように完全に壊れた場合はreplicatorを使わない回避策しかない

現在可能な回避方法

  • Appleがバグを修正するまでは、SuperDuper! で “Backup - all files” と “Smart Update” を使う必要がある
  • この方法ではOSを除く項目をコピーする
    • アプリケーション
    • データ
    • 設定
    • その他のユーザーファイル
  • Systemボリュームは事実上OSそのものであり、読み取り専用なのでユーザーが変更することはできない
  • クリーンインストールを行えばSystemボリュームは元の状態に戻り、その後、初回起動中に表示されるプロンプトでバックアップを復元できる

Appleの修正が必要なバグ

  • Apple内部、またはAppleと連絡可能な人に伝えるべきバグ番号は FB16090831
  • この問題はSuperDuper! 側では修正できず、Appleの修正が必要

年末時期の不便さ

  • 問題は年末時期に発生し、Appleはこの時期から新年までアップデートをほとんどリリースしない
  • SuperDuper! ユーザーは当面、OSまで含めた複製の代わりに、OSを除くバックアップとクリーンインストール後の復元手順を使う必要がある

1件のコメント

 
GN⁺ 2024-12-15
Hacker News の意見
  • この記事がどういう文脈なのかよく分からない。「Apple が replicator を壊した」の replicator が何を指すのか、「Backup - all files」と「Smart Update」をどこで使えと言っているのか気になる

    • SuperDuper バックアップツールの話。SuperDuper は macOS システムの起動可能なバックアップを作成できるツールだが、Apple はサードパーティ製ツールが OS を別のパーティションやドライブにコピー・操作する能力を取り上げ、自社ユーティリティでしかできないようにした
      ところがそのユーティリティが 15.2 で正しく動作していないようで、そのため SuperDuper がきれいな 起動可能バックアップ を作れなくなっている
    • 投稿者は Mac のディスク複製・バックアップユーティリティである SuperDuper チームの一員のように見える
      https://www.shirt-pocket.com/SuperDuper/SuperDuperDescriptio...
    • Apple の標準バックアップソリューションは Time Machine だが、10年前のリリース時からひどく、複数の OS リリースを経ても信頼性は大きく改善せず、今でも概していまいちだ
      このブログの筆者は macOS でバックアップをうまく作るアプリを開発しているが、Apple の怪しい制限のせいでアプリが壊れた状態になっている
      問題は3つある。Apple が macOS をますます iPhone のようにし、競争を損ない、Apple には改善するインセンティブがないため、結局ユーザーが被害を受けるということだ
  • これはかなり深刻。最近システムを大きく壊してしまい、消去して Time Machine から復元しようとしたが、バックアップ容量 1.45TB が内蔵 SSD 1TB より大きく、何度も失敗した
    Time Machine バックアップを任意に間引くと破損する可能性があることを知り、数日間、復元失敗と調査を繰り返した末に、外付け SSD からの起動がまだ可能だと分かった
    結局 2TB SSD を買ってそこへ復元し、その SSD から起動した後、不要なデータを整理して MacBook へ移行した。失敗1回と調査のたびに数時間かかり、合計3日かかった
    Apple サポートにも連絡し、元システム管理者で専門家と話したいと伝えたところ、「完全復元は忘れろ。できない。新規インストールして、Time Machine からファイルを手動でコピーしろ」と言われ、別の人には 2TB SSD 搭載の新しい Mac を買ってそこへ復元しろと言われた
    以前 Carbon Copy Cloner で外付け SSD に復元したことがあったのでその方法を尋ねたが、サードパーティ製アプリは推奨できないとして勧められなかった
    数年前に最新の macOS は外付け SSD 起動をサポートしていないと聞いていたため、最初はその選択肢を思いつかなかったが、追加手順を踏めば今でも可能だった
    これができなければ、復元に2週間かけるか、バックアップ復元のためだけに 2TB の別の Mac を買わなければならなかっただろう
    64GB でフル構成にした MacBook Pro に Apple Care まで含めてほぼ 5,000 ユーロを費やしたので、バックアップ復元用にさらに Mac を買いたくはなかった
    これらすべてが非常に重要な発表の直前に起きたため、Windows の仕事用ノート PC に縛られ、必要なツールがなく生産性が 90% ほど落ちた。重要なマイルストーン直前にメインマシンを壊してはいけないという教訓は得た

    • この苦労話から得られる教訓は、標準的な作業を難しくする エコシステムに投資するな ということに近そうだ
    • Apple ソフトウェアの品質が Snow Leopard 以降、ゆっくり低下しているのは本当に目につく。昔のソースコードを見ると読む楽しさがあった
      最近はバグを避けるために Xcode を1日に何度も再起動することの繰り返しで疲れる。Xcode はいつも問題を抱えてはいたが、今ほどひどくはなかった
      さらに MacBook Pro の「システムデータ」が SSD の 80%、つまり 800GB を占めており、キャッシュや派生データを手動で消してもそのままだ
      もはやコードの職人技のようなものを気にしていないように見えるし、「ただ動く」という文化のせいで有用なデバッグメッセージを入れない慣習だけは残っている
      最近の悩みは、AppKit の一部が NSApplicationCrashOnExceptions 設定に関係なく [NSApplication _crashOnException:] を直接呼び、[NSApplication reportException:] も呼ばないことだ。そのため例外が丸ごと消え、クラッシュ原因を見つけるのが非常に難しくなる
    • 「新規インストールして Time Machine から個別ファイルを手動でコピーしろ」は、昔も今も唯一まともな答えだ
      時間とエネルギーとメンタルヘルスを節約したいなら、OS をアップグレードせず、きれいに消去して最初からインストールすべきだ。Windows 3.1 から Windows 95 へ移行するときもそうだったし、今日の OSX でも同じだ
    • 最後に Time Machine から復元したときは、復元するフォルダを選べた。重要な部分だけ先に復元し、大きなデータはバックアップドライブに残しておいて後で手動で復元できた
      https://support.apple.com/en-us/102551
    • Time Machine には詳しくないが、完全復元がなぜ元のドライブより多くの容量を要求するのか理解できない。普通、まともなバックアップソリューションなら、完全復元は基本的に履歴全体ではなく 最後のシステム状態 だけを復元するものではないのか
  • 少し脇道にそれる話だが、有用な情報。職場の 2018 Mac Mini で悪夢のような1週間を過ごした
    スタッフが Sequoia にアップデートしようとして、エラー後に再試行を繰り返す状態に陥ったため復旧オプションを試したところ、8時間かかる復旧プロセスが表示されたので USB インストールに切り替えた
    T2 の制限のため、復旧ユーティリティのメニューで起動の許可を有効にする必要があったが、驚いたことに、正常に動作するインストール済み環境と管理者アカウントがないとこれを実行できなかった
    そこでそのコンピューターの基本 OS をインストールして再起動しようとしたが、インストール中に Mini が固まり、起動音もランプもなく、完全に死んだと思った
    まともだったコンピューターが、遅くてバグだらけの復旧プロセスのせいで文鎮化したことに腹が立った。8時間とは、Apple には Akamai サーバーの速度を増やす資金もないのか、それともわざとプロセスを台無しにして新しい機器を買わせようとしているのかと思った
    解決策は、非推奨ケーブルである USB2-to-USB-C、つまりデータ通信可能な Logitech マウスのケーブルで DFU モードに入ることだった。スタートボタンを押したまま電源ケーブルを挿し、USB-C は HDMI 入力の次にある1つ目の Thunderbolt ポートに接続する必要がある
    するとホスト Mac の Finder に接続が魔法のように現れ、T2 ファームウェアを復旧した後、USB スティックで通常どおりインストールして Mini を蘇生できた
    ハードウェア修理フォーラムのあちこちから断片的な情報を集めて解決した。Apple の「サポート」に電話すれば手順は目に見えている。店舗に来て、もっと買えという感じだ

  • 記事はかなり不明瞭。「コピー」は人によっていろいろな意味になり得る
    cp -r / /Volumes/Clone のようなものはそもそも動作したことがなく、rsync --acls --archive --hard-links --one-file-system --sparse --xattrs / /Volumes/CLONEsudo bless -folder /Volumes/CLONE/System/Library/CoreServices は今でも使えるのか気になる
    ブロック単位のコピーである sudo dd if=/dev/rdisk2 of=/dev/rdisk4 bs=1m conv=notrunc もまだ使えるのか分からない

    • 昔のブログ記事に文書化されていたと記憶しているが、OS インストール済み環境のコピーには asr ユーティリティを使うようだ
      macOS のインストールを構成するパーティションが多いため、cprsync だけでは不十分。dd なら可能だろうが、より小さいディスクへバックアップできず、ファイルの選択もできず、速度面でも柔軟性を大きく失う
  • 外部モニターの電源を切って HDMI は接続したままにするか、電源の切れた HDMI 出力機器を接続したままにすると、カーネルパニックも起きる
    新しい MacBook Pro の初使用体験としては素晴らしかった

    • 参考までに、自分の環境では同じ現象は起きていない。CalDigit TS3+ に大きなテレビを接続していて、映画を見るときだけオン・オフしているが、今試してみてもずっと問題なく動作している
    • 当然カーネルパニックが起きてはいけないが、原因を探すためにダンプを見たのか気になる。別のケーブルや別の HDMI 機器も試す価値がある
      依然としてバグではあるが、規格をきちんと守っていない HDMI ケーブルや機器が原因かもしれない
    • 新しい MacBook Pro を買うと macOS 15 に「アップグレード」されているのが最悪だ
      最初の1時間でバグを12個数えた
      コンピューター会社を立ち上げたくなるほどだ
    • 外部モニター、少なくともサードパーティ製モニターとの連携は Apple の弱点のように見える
  • 次のコンピューターは Mac ではない気がする。よく動いてはいるが、ロックインが相変わらずあまりに強すぎる

    • Mac と Windows のどちらにも、今ではより良い代替手段がある。Linux だ。ハードウェアメーカー各社と Valve のおかげで、Linux は間違いなくより良いデスクトップの選択肢になった
  • 15.1でmacOSが「信頼できない」ソフトウェアを完全にブロックしたときは、あまり不満は出なかった
    以前は「ゴミ箱に移動」ポップアップが出ても、バイナリをCmd+クリックしたり、後からプライバシーとセキュリティ設定メニューで解除できたりした
    ところが15.1からは完全にアウト。署名されていない、または信頼されていないバイナリは、ユーザーがどれだけ信頼していてもmacOS上で実行されない
    音楽業界、さまざまな業界、GOGゲームのインストーラのようなコンシューマー向けソフトウェアにとって大きな問題。新規インストールするとそもそも開けない
    こうしたユーザー空間の互換性を壊す変更をしたAppleに、15分ほど怒っていた
    これはユーザーを保護するというより、閉じた庭をさらに締め付けるものに近く、マイナーリリースでひっそり入った不快な変更だ
    幸い xattr -d com.apple.quarantine ~/binary で回避策は見つけたが、これすら動かなくなったらどうすればいいのか分からない
    M1〜M4チップは本当に気に入っているし、ファンの音も二度と聞きたくないが、状況が悪化し続けるなら、このハードウェアをきちんとサポートする最初のディストリビューションに乗り換えるつもりだ
    macOSは問題があっても美しく、十分使えるOSなのに、Appleは毎年少しずついじり回して、おおむね悪くしている。Snow Leopard万歳

    • まだ15にはアップデートしていないが、右クリックして開くことで署名されていないソフトウェアを実行する機能だけをなくしたのだと思っていた。Gatekeeper経由でシステム設定から手動承認しなければならない、という理解だった
      AppleがmacOSをiOSのようにロックダウンする方向へ、ゆっくりカエルを煮ているというのは100%その通り。個人用コンピュータはすでにLinuxに替えたし、2017年に公証制度が発表されたときから兆候は見えていた
    • 追加の文脈として、ダイアログはこのように表示される
      “App” Not Opened
      Apple could not verify “App” is free of malware that may harm your Mac or compromise your privacy. [ Done ]
      右上の ? ボタンは https://support.apple.com/guide/mac-help/apple-cant-check-ap... を開き、そこにはユーザーが望めばプライバシーとセキュリティ設定で手動で回避してアプリを開けると書かれている
      設定リンクから入った後、下にスクロールして同じメッセージの2つ目のコピーを見つけ、「Open Anyway」を押す必要があり、すると3つ目の警告が出る
      “Open ‘App’?”
      Apple is not able to verify that it is free from malware that could harm your Mac or compromise your privacy. Don’t open this unless you are certain it is from a trustworthy source. [ Done ] [ Open Anyway ]
      続行するには認証が必要で、認証プロンプトは4つ目の警告として「You are attempting to open an app that may harm your Mac or compromise your privacy.」を表示する
      https://developer.apple.com/support/compare-memberships/ によると、アプリを公証するには年額99ドルのApple Developer Program正会員資格が必要
    • Gatekeeperをオフにするか、システム設定に入って「Open Anyway」を押せばいい。もちろん面倒ではある
    • 結局、Asahi Linuxへ移るのも選択肢になり得るように見える
  • iPhone 15を17から18.1にアップデートしたらSafariがクラッシュし、iPhoneからMacBookへ引き継ぐHandoffが動かない。逆方向は完璧に動く。どちらも本当にイライラする

  • Sequoiaに上げて一番笑えたのは、Appleのデバッガでプログラムを実行するとローカルネットワーク接続の確立が壊れることだった
    Ethernetで直接つながったデバイスと通常実行のバイナリでは通信できるが、lldb 配下ではできない。ネットワーク接続の許可プロンプトのようなものも出ない
    upstream LLVMのデバッガを使えばいいのだと気づくまで、半日以上を無駄にした

  • 「これはひどい。私たちもひどいと思っているし、皆さんもひどいと思っている。だが私たちには直せない。Appleが直すべきだ」
    だから数年前にmacOSを諦めてLinuxへ移った
    どのOSが良い悪いという問題ではない。どんなソフトウェアにもバグはある。肝心なのは、避けられないバグが起きたとき、上から修正が降りてくるのを待つ代わりに、ユーザーに何かできる権限があるかどうかだ

    • 理論上はLinuxでBluetooth、Wi-Fi、ディープスリープを動くようにできるが、実際に自分が直せるかと言えばそうではない。試していないからではない
      毎日使うコンピューターで問題が起きたとき、実質的に直せる能力という点では、macOSが今でも圧倒的に優れていると思う
    • それだけでなく、Linuxのアップデートがインストールを壊した場合、何が壊れたのかを把握して以前のバージョンへ戻せる
      macOSやWindowsでアップデートを戻すのは実質的にまともな機能ではなく、完全な再インストールなしには難しいし、最近は旧バージョンのインストールメディアがあるのかも不確かだ
    • 自分もこの道をある程度進んでいる。中古のM1を買い、Asahi Linuxだけを動かしている。主にOpenGL/VulkanとユニファイドメモリをローカルLLMに使うためだ
      まだ古いMacから完全に移行するための代替アプリを探しているところ
      特にバックアップ用にSuperDuperほど優れたツールを見つけたい。16年間使ってきて、その間に完全復旧も何度か行った。信頼できるツールを作ってくれた開発者たちに感謝している
      ノートPCの移行にも使った気がするが、最新のmacOSではそうした作業もさらに面倒になっていそうだ
      とにかくAppleがこのバグを早く直してくれることを願う。でなければ、いつかSuperDuperのLinuxライセンスを買う日を楽しみにしておく
    • MacBook Pro、あるいはそれに匹敵する品質のノートPCで、完全なハードウェアアクセラレーション対応Linuxを動かせる日を固唾をのんで待っている
      テクノロジーの世界のあちこちを見ると、反競争的な慣行で押し付けられたひどいソフトウェアのせいで、驚くべき製品になり得る可能性が手の届く直前で阻まれている
      Appleは地球上で最も裕福な企業だ。どうか「Pro」デバイスをプロの作業に使えるようにしてほしい
      今は海外にいるが、実際にはAMDミニPCでこれを書いており、MacBook Proはネットワークベースのマウス・キーボード共有アプリで操作するサブモニターとして使っている
      自分のあらゆる作業にMBPを使えないようにソフトウェアでナーフされているため、携帯性という約束が大きく損なわれている。2台目のコンピューターを持ち歩かなければならないのは本当に痛い