以前Chrootで監獄を作った時、あろうことかfstabを修正し忘れてラズパイが起動しなくなったので、MicroSDのext4パーティションに潜入してfstabを修正することで復旧しました。
サーバーメンテは深夜にやちゃだめ。ゼッタイ。いろいろ調べてたら半日以上かかってしまったので備忘録。
使用環境
- MacbookAir(2019 Retina版)Mojave
試したこと
ext4fuseでMacにSDカードをマウント→❌
ext4fuseではread onlyが仕様で書き込みできないようです。
先駆者様
note.com
fuse-ext2たるものを使って云々という記事もあったのですが、インストーラーの途中でバージョン互換がないと警告が出たので、踏み切るに至りませんでした。
Ubuntu desktopをUSBブートして書き換える→❌
ちょうどRaspbianのブートディスク作成にbalenaEtherをインストールしていたので利用。書き込み成功!
うまくいくと思いきやOption+起動で表示されたEFIブートを押すも、Boot recovery assistantが起動しブートに使えないとの警告。
書き込み方がダメなのかな...PC初心者なのでコマンドコピペでブートディスクを作成しました。以下を参考。。。
shinsuke789.hatenablog.jp
難しい。
ledsun.hatenablog.com
頑張ったけどダメでした。ブートローダがどうもrEFindを使わないと認識されないみたいで。
kledgeb.blogspot.com
サムネでもちょっと見えますけどrEFind、見るからに危険そうな匂い(主にLinuxペンギンのパチモン感)がしたのでTimeMachine用の外付けも無いわたしにはちょっと敷居が高すぎました。
来年のセールでTimeMachine用の外付け買います。かなりbrewやappのアンインストールでぐちゃぐちゃしてきてますけど。。。
Virtual Boxの仮想マシンにUSBをマウント→⭕️
もはや「extFS for Mac by Paragon Software(4500円くらい)」を買うしかないのか。。。とぐるぐるしていました。
まさかVMのUbuntuからなら普通にアクセスできるなんて誰が想像したことか。わたしPCに無縁な猫なのでこれができるなんて思わなかったです。
Virtual Boxをインストールします。今回使ったのはVirtualBox 6.1.0。
ExtensionPackもインストールします。
www.virtualbox.org
UbuntuのVMを作ります。ターミナル試したらTrialでもsudoが使えたのでインストールはなしで。
設定は適当ですが、メモリ1GBではメニューもクリックできなかったので3GBくらい確保しました。
ちょっといじるだけだったのでDesktop版ではなくサーバー版でもよかったかもしれません。
次に以下を参考にVMにUSBを認識させます。 qiita.com
一点だけ注意。今回利用したのはTranscendのUSB3.0対応のカードリーダーだったので、設定はUSB2.0ではなく3.0です。(2.0だとvboxがfailメッセージを吐きます)
あと、元記事のようなフィルターは設定しなくても動作しました。
認識されるとDesktop版だと自動的にマウントされデスクトップに表示されるので、表示後df
でマウントポイントへ移動。
サーバー版だとおそらくsudo fdisk -l
でデバイスを確認し、適当なディレクトリに(自分で)マウントすることになります。
ラズパイ生還
無事fstabを書き直し、ラズパイを復旧させることができました。
バックアップをRAID上に作っていたのですが、よく考えるとソフトウェアRAIDなのでラズパイが死んだらラズパイに復旧できないという。
exfatのボリュームを別で外付けして、そっちに書き込みすべきでしたね...。