ubuntuのアップデートしたら(ちょっとだけ)ハマった話
とりあえず箇条書きにしておいて、あとでちゃんと書き直す日が来ることを期待したい。
MacBook Air 2013がなんだかわからない人のために、Intelベースの(だいたい)最終型のMacBook Airです。11インチの画面はコンパクトでとてもよいです。バッテリーはアップルで載せ替えてもらったので、まだ3,4時間ぐらいは持ちます。できることなら、もう一度新品のバッテリーに変えたいです。
- ssdのルートを暗号化していたので、アップデート後の再起動時にディスクの暗号化解除待ちメッセージが出たあとしばらくしてBusyboxに落ちる。
- 仕方ないのでgrub menuから23.10当時のkernel6.5を選んだらディスクの復号パスワード入力画面がでたので小躍りした。
- OS起動した。
- kernel6.8はこのハードウェアでは無理なのかな〜としばらく古いkernelのまま使う。
- なんとなくネットをさまよううちに、ディスクの復号化ができないのはそもそもkernelが内蔵ドライブを認識できてないためじゃないかな〜という漠然とした啓示をうける。
- Busyboxに落ちたとき、そういえば/dev/以下にssdらしきものがなかった。
- intel_iommuという仮想化支援機能に対応していないチップがのっているMBでは、ディスク関連へのアクセスができなくなるらしい。
- 新しいkernelは大抵の場合、intel_iommu=onで出荷されているそうだ。
- grub menuでeキーをおすと起動パラメータが編集できるので、編集してみた。
linux /vmlinuz-6.8.0-31-generic root=/dev/mapper/vgubuntu-root ro quiet splash $vt_handoff
- この行の末尾に「intel_iommu=off」を追記した。
linux /vmlinuz-6.8.0-31-generic root=/dev/mapper/vgubuntu-root ro quiet splash $vt_handoff intel_iommu=off
- 6.8カーネルでディスクの復号化パスワード入力画面が出た。
- パスワード入力後、無事起動したのでまた小躍りした。
- 毎回手入力するのは面倒なので、GRUBに書いてしまうことにする。
$ sudo vi /etc/default/grub
- GRUB_CMDLINE_LINUXに追記すれば、自動的に毎回適用されるらしい。
GRUB_CMDLINE_LINUX="intel_iommu=off"
- GRUBの設定を変更したら起動用ファイルも更新しないと反映されないのだった。
$ sudo update-grub2
- 完了
おわりに
そういえば、USBドライブから起動した24.04のインストーラーからMBAのディスクが全く見えなかったのも、起動時にGRUBにiommuパラメータをオフにするように教えてあげれば解決するのかもしれないなあと思った。ちなみにintel_iommu=pt
という設定もあるそうですが、MBAではoffの一択でした。
おしまい