2024-11-04

MacBookAir (2012 Mid)の活躍

このブログの過去の記録を見ればわかると思うが、何度もこのMacBookAir (2012 Mid)が登場する。しかし、先の書き込みのように、救世主のように活用できるとは思わなかった。もう12年も活躍している。途中、バッテリーとSSDを自身で換装したのが功を奏して延命できていると思うことにしよう。

古いMacOS再インストールの顛末

 1:発端
発端は、2010年代に開発をしていたJavaベースのアプリケーションがOSのバージョンアップのために(迂闊なことに、やらかしてしまった)起動しなくなっていたのでそれを復活させようという試みであった。

知人に頼んで古いMacOSをのこすMacを探してもらったが、見つけることはできなかった。

手元にある最も古い(生きている)Macは、MacBookAir (2012)(以下、「Air」と記すことにする)だった。このマシンは現在使っていないがそれでも、生きている。このマシンを活用すればなんとかなるのではないかと考えた。

「Air]は、もともとOS X 10.8 Mountain Lionがインストールされていたが、順次バージョンを上げてMacOS 10.15 Catalinaまでアップデートしていた。くわえて厄介な別の問題はAppleの起動ディスクのフォーマットが従来の拡張ジャーナリングからAPSFにMacOS 10.13 High Sieraから変更になっていたことだった。いずれにしても、バージョンアップすることなく古いままにしておけば今回のような問題は起きなかったはずだったが、後悔先に立たずの典型的な「やらかし」ではあった。

2:最初の試み:インストーラの使用
はじめは、インストーラをAppleのサイトからダウンロードして「Air」に新たに用意したパーテーションもしくは起動可能な外部ストレージにHigh Shiera以前のOSをインストールしようと考えていた。

古いMacOSを復元する件、矛盾が重なっているようだ。MacOS10.13 High Siera 以降APSFフォーマットが必須になっている。またSSDはAPSFフォーマットでないとシステムをインストールできないようだ。ところが、ディスクユーティリティ.appではSSDをAPSFフォーマットしようとすると選択肢がない。

以下のように、SSDの一番上の階層を選択して「消去」からAPSFフォーマットできた(MacでSSDをAPSFでフォーマット出来ない場合はコレ|サウンドフレーム)。ところが、インストーラを起動して外部ストレージに古いMacOSをインストールしようとしても、システムが合わないと拒否される。

さらには、MacOS 10.15 Catarina(MacBook Air 2012)でApp Storeにアクセスできない。ネットで検索するとCatarinaでアクセスできないことが書かれていたが、Appleがわの回答はありきたりのもの、一つはネットワークの問題だがべつのWiFiのあっクセスポイントに切り替え、Apple IDをログインし直してもやはりだめ、どうすりゃいいんだ?

VenturaでHigh SieraをApp Storeからダウンロードしようとすると、ダウンロードが完了できないものの(そのようなメッセージがでてくる)、Applicationフォルダにインストーラはダウンロードできた。メッセージは完了していないようだが、インストーラはダウンロードできているので、これでできるかもとおもい、試してみたところやはりだめで、Catarinaでも「古いMacOSのインストーラに゙対応していない」と出てしまう。

ブラウザでHigh Sieraより古いSiera 10.12をダウンロードできるが、インストールの際、「インストール先」を選択できない。試しにそのインストールさきはCatarinaの入っているボリュームだが進めるとインストールの完了までできてしまう。一体どうなっているのか?まさか、再起動したらSieraが出てくるなってことだったら嬉しいけれど、ありそうにない。それで、Sieraよりもっと古いMacOSを引き続きダウンロードしてみる。Yosemiteを試みた際のインストラーなど、やってみたが、やっぱりだめだった。

これは、後で分かるのだが、インストール先がAPSFフォーマットのでぃすくであるからインストールできないのだった。

3:解決方法:「リカバリ(復元)」を利用する
試しに、ChatGPTと問答をしてみると、回答の一つの引用元に「Intelプロセッサを搭載したMacでmacOS復旧を使用する - Apple サポート (日本)」というサイトがあった。ChatGPTは最初から「リカバリ(復元)」を勧めたわけではなく、先に書いたインストーラを用いる方法を回答していた。しかし、インストーラをもちいた再インストールはすでに失敗していた。

引用元によれば、リカバリー(復元)を用いるとそのマシンの工場出荷時のOSを再インストールできることがわかった。

ディスクに保存されているディスクイメージからの復元のための再起動後の「Cmd+R」では、Catalinaの再インストールになってまずだめであった。記憶では、この「Air」は再フォーマットしたことがあるので、古い復元情報は消去されたからと思われる。

次にインターネットからダウンロードして復元する「Shift+Option+Cmd+R」を試みた。「復元」モードが立ち上がってくると、まずインターネットへのWiFiのアクセスポイントとパスワードがきかれる。そこで、入力すると「再インストール」や「ディスク・ユティティティ」が含まれるウィンドウが表示される。ここで、もう一度WiFiの情報を入れ直すとMountain Lionのイメージが現れて正規ユーザであることなどの「同意」が求められる。ところが、インストール先のディスクが表示されない。

これは、「OS XまたはmacOSをインストールするディスクがありませんか?ディスクが表示されない修正方法」でわかったのだが(まあ、わかってはいたが)、High Siera以降はAPSF形式でフォーマットされており、それ以前の「拡張ジャーナリング」形式のフォーマットではなくなっている。そこで、一旦ディスク・ユーティリティにはいって対象のディスクを「消去」してAPSFを削除して、「拡張ジャーナリング」を選択した。そして、あらためて、再インストールを選ぶとインストール先のディスクが表示されていて、選択でき再インストールを開始することができた。

4:古いシステムでの問題
システムがインストールできたとはいえ、レガシーなシステムであるがゆえに問題も大きい。iCloudへの接続やインストールされているレガシーなブラウザのSafariですら勝手が違う。App Storeに入ることもできない(ログインすらできない)。当然のことながら、現在のアプリの多くは古いバージョンでないかぎり機能しないことが想定された。

まず、私の開発に関わったアプリをインストールした。Mac用とWindows用のインストーラが用意してあったのだが、Windows用にはJavaのruntimeを含んだものと含まないもの(これは、インストールされているシステムのJavaを使用するか使用しないかを選択可能なように準備していた)の2種が用意されていたが、Mac用にはruntimeを含まないものしかなかった。しかし、これはシステムに付随するJavaとの相性も問題になる可能性があった。しかし、幸いなことに、インストールしたMountain LionにはJavaは含まれておらず、アプリを起動しようとするとOSはアプリに適合する2013年版のJavaをダウンロードしてインストールしてくれた。おかげで、問題なくアプリは動き始めた。

やりたいことは、レガシーなアプリからデータを取り出すこと(別途のデータベースを利用するのではなくデータはアプリが使用するjarファイルに含まれていた)であった。とりあえずは表形式でデータを表示できたので、txt形式のデータをコピーできたが、インストールされている「メモ」では、csvに変換ができないし、iCloudにリンクできていない以上、後処理に用いることができないことが理解できた。

そこで、頼みの綱はCotEditorであることを思い出し、ネットで調べてみるとアーカイブの中に、対応するバージョンが保存されていることを見出すことができた。そこで該当するdmgファイルを取り出し、Mountain LionにインストールしてCotEditorにコピー&ペーストして、外部ストレージに保存し、データを救出できた。あとはそのデータをカレントシステムのCotEditorで置換えてcsv形式に変換し、Excelに読み取ることができた。