LoginSignup
7
2

More than 1 year has passed since last update.

M1 MacにデュアルブートできるAsahi Linuxを入れてみました

Last updated at Posted at 2022-12-13

この記事はPharmaX Advent Calendar 2022 の13日目の記事です。

追い込まれた記事であって、特にPharmaXで得た知見ではありません 笑

AsahiLinux_logo_svg.png

背景

Dockerに代表されるコンテナ技術やクラウドの発展によって、普段Macを使っている方でも簡単にLinux環境を手に入れることはできるようになりました。
ですが、私のような面倒くさがりにとっては、起動後すぐアクセスでき、デスクトップ環境もついているLinuxが欲しくなる時があります。
しかし、私は手元にMacしか持っておらず、ご存知の通りM1になってからはBootcampが無効化され、Apple公式で提供されているデュアルブートシステムもなく、macOS以外のOSとのデュアルブートが難しくなってしまいました。

そこで、最近有名になりつつある(?)M1 Mac上でデュアルブート可能なAsahi Linuxを手元のM1 Mac miniに入れてみることにしました。

と、いろいろ理由をつけてみましたが、ただ単にM1 Mac上で動くLinuxに興味があって使ってみているだけと言ったほうが正しいかもしれません(笑)

注釈

Linuxを使うのに起動し直さなければならないのであれば、クラウドのリモートデスクトップ接続などと比べて大して楽にはならないのでは?と思った方もいるかもしれません。
ただ、私はメインにM1 MacBook Proを使い、予備機としてM1 Mac miniを持っており、M1 Macは基本的にAsahi Linuxで起動した状態にしておき、複数あるうちの1つのディスプレイをスイッチャーでMacBook ProとMac miniを切り替えて使うことを想定しています。

後述するように、いろいろ問題はありましたが、思った以上には動作にも不満はなく、快適なLinuxライフを手に入れることができました。

サマリー

  • Asahi LinuxとはApple M1 Mac上で動き、Macがマルチブート可能になるようにArch Linuxm ARMをチューニングしたディストリビューション
    • 正確には、あくまでプロジェクトで、Arch Linuxm ARMに合流させることを目指している
    • 最終的には他のディストリビューションにも取り込まれることを目指している
  • Asahi Linuxの哲学がかっこよい
  • あくまでパブリックアルファ版なので、何があっても自己責任でお願いします
  • デバイスによっても動作するものとしないものが違うようなので、インストールするデバイスには気をつけたほうが良さそう

インストール・アンインストール手順

インストール〜起動まで

Asahi Linux Desktop アルファ版の内蔵SSDへのインストールとアンインストールあたりを参考に手順をこなしていくだけなので、この記事ではあえて詳しく記載しない

最新版は、公式を参考にしてください。

要点だけまとめると、

  • (当たり前かもだが)Asahi LinuxのインストールはmacOSのパーティションをリサイズして、Asashi Linux用のパーティションを確保する必要がある
  • 公式のインストーラを実行すると後は指示に従っていくだけで、Asahi Linuxがインストールされる
  • インストーラ実行中に勝手にmacOSのパーティションをリサイズしてくれる

Macを再起動して、下記のような起動画面になってAsahi Linuxを選択して起動したら成功。
asahi-linux-recoveryos-boot-select-macos.jpg
(引用:Installing the Asahi Linux Alpha on my M1 Mac mini

アンインストール

アンインストールも上記の記事を参考に簡単にできるが、Asahi Linuxのインストールされているパーティションを手動で削除するという方法を取ることに注意。

インストール中に発生したエラー

1.下記のようにMacにインストーラ実行中に、パーティションがリサイズできないというエラーが発生した。

The container /dev/disk0s2 could not be verified completely
Storage system check exit code is 8
Error: -xxxxx: Storage system verify or repair failed
Failed to run process: {cmd}

root        : ERROR    Process execution faile

これはよく報告されているMacのファイルシステム(APFS)のバグで、私の場合は手動でリサイズし、インストーラを実行し直して、Asahi Linuxを自分で確保したパーティションに入れることで解決しました。

自分でパーティションを切った場合にも、下記のようにインストール先のパーティションが指定できるようになります。

Choose what to do:
  f: Install an OS into free space
  r: Resize an existing partition to make space for a new OS
  q: Quit without doing anything
» Action (f):

2.インストール完了後、Macの再起動後にデュアルブート画面に

Screenshot 2022-11-19 at 14.47.48.png

  • 最初失敗したのは、ボタンを押してから完全にシャットダウンするまでに15秒待てというところ
    • 馬鹿らしい勘違いだがこの画面が表示されてから、Press Enter to shut down the systemをするまでに15秒待てってことだと思って、エンターを押してからはすぐに起動させようとしてしまった

参考記事

Asahi Linuxが現在(2022/11/30時点で)対応してないこと

  • デバイスによっても動作するものとしないものも違うようなのでインストールするデバイスには気をつけたほうが良さそう(以下はM1 Mac mini)
    • Type-Cは使えない
    • Bluetoothは動くようになっている(少なくともHHKB Type-S keyboardもMagic mouse 2も接続できた)
  • 公式のリリース(The first Asahi Linux Alpha Release is here!) の非公式日本語訳 を参考にした

主要パーケージのインストール

  • パッケージマネージャーの基本的な考え方(Asahi Linux固有のものではなく、Arch Linuxの考え方)としては、
    • 参考: Arch: Manjaro で「pacman」と「yay」のコマンド操作〈H53〉 - Linux あれこれ
    • AUR(Arch User Repository)というユーザーが運営する、公式に登録する前の未承認状態のアプリを登録できるリポジトリがある
    • そこに登録されているアプリをインストールするためのツールが「AUR ヘルパー」で、その代表的なものがyay
      • AUR ヘルパーは、開発者がアプリのソースと一緒に登録することになっている「PKGBUILD 」というスクリプトに従い、依存関係の解決やビルド、およびインストールを自動で行ってくれる便利なツール
  • 手動で入れる場合にはgithubなどから取ってきて、自分でmakepkgする必要あり

2022/11/30時点でインストールできたもの(日々変わっていそうなので、更新しています)

  • 日本語化
  • VS Code
    • 以外にもVS Codeはインストールできたが、Githubと連携しての設定の引継ぎはできなかったので、手動で設定ファイルを置き換えた
      • Macの設定ファイルをクラウド・ストレージにアップロードして、ダウンロードし、VS Codeの設定ファイルを置き換えるというアナログな方法
    • 追加で拡張機能をインストールすることもできない

2022/11/30時点でインストールできなかったもの(日々変わっていそうなので、更新しています)

  • Google Chrome

その他パーケージの導入

フォント

  • 個人的お気に入りのSource Han Code JPを入れてVS Codeで使うところは上手く行った

発見したバグ・不思議な挙動とその対応

  • (上述したが、)VS Codeの拡張機能が入れられない、Syncも効かない
    • 上記のように普段遣いのMacから手動でextensionsを移した
  • 再起動するたびにマウスの設定が初期化される
    • 設定画面では反映されているのに、初期化されているから毎度設定し直さないとイケない
7
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2