🍰UbuntuでMac

2021/12/16

🍰 UbuntuでMac  VMware に Unlocker というプログラムをかませてハックするのはさすがに少し気がひけるし、実際にバージョンを合わせる問題とかもあってパス。 Microsoft や Apple 自体も自社 OS の仮想化をアピールしているこのご時勢、ネット上でも様々な仮想化アプリが出てきました。


 最初は単に qemu + kvm による仮想 Mac、つまり foxlet project on github で Mac(katalina)を動かしたのですが、 マウス等の動きがもう一歩、さらに Monterey にまで Upgrade するのが一苦労とあって、他の方法を探しました(以下は foxlet .. の方法)。

sudo apt-get install qemu-system qemu-utils
cd ~/Downloads
wget https://github.com/foxlet/macOS-Simple-KVM/archive/refs/heads/master.zip
unzip master.zip
...

 その中で目を引いたのが docker による MacOS の仮想化でした。 docker は環境による影響を受けにくく、ネット上のキットをもってくれば比較的簡単に動くことは EPGStation でもわかっていたので、やってみることにしました。 特に、このところ目覚ましい動きを見せているのがDocker-OSXです。 まず、docker をインストールします。

$ sudo apt install apt-transport-https ca-certificates curl software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
$ sudo apt update
$ sudo apt install docker-ce

 ただ、このあたりは sudo の使い方など docker 紹介サイトを確認してもらったほうがいいです。 以下のパッケージも必要、あるいはあった方がいいでしょう。

$ sudo apt install dmg2img
$ sudo apt install qemu qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager libguestfs-tools

 その上で、いよいよ docker で Mac を動かす直前の準備をします。

$ sudo systemctl enable --now libvirtd
$ sudo systemctl enable --now virtlogd
$ echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs
$sudo modprobe kvm

 Docker-OSXにある monterey を動かすためのコマンドです。

$ docker run -it \
    --device /dev/kvm \
    -p 50922:10022 \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    -e "DISPLAY=${DISPLAY:-:0.0}" \
    -e GENERATE_UNIQUE=true \
    -e MASTER_PLIST_URL='https://raw.githubusercontent.com/sickcodes/osx-serial-generator/master/config-custom.plist' \
    sickcodes/docker-osx:monterey

 初回は、MacOS 11 Big SurをUbuntu上のVMwareで動作させる方法なども参考に、ディスクのフォーマットをし、インストールを行います。

 次からはコンテナ ID で起動すれば動きます。 1行目がコンテナIDを調べるコマンド、2行目が実際の起動です。

$ docker ps --all
$ docker start コンテナID

 便利な時代です。

twitterシェア Facebookシェア
🤓
kirayn
2021/1/5
ChromebookをメインPCとして使うようになって仮想Windowsや仮想macOSを使うようになりましたが、仮想macOSは現状ではパフォーマンスが低いので実用的ではありませんでした。そこでGoogleクラウド(GCP)上でDockerを使って仮想macOSを動かそうと試したことがありましたが挫折しました。
参考記事:https://bit.ly/3HEr8xY

この記事の方法がGCP上で実現できるかはわかりませんが、やってみる価値はありそうです。たいへん参考になりました。ありがとうございます😁
ファンタジーonPCへようこそ。
GCPはdockerも扱えるんですか……それは通常のクラウドのイメージを超えてますね。現代という時代は1つのことをするやり方が多数あって迷子になりそうです。
🐼
峰山進
2021/1/5
🤓
kirayn
2021/1/6
GCEには標準でコンテナをデプロイする機能が用意されているのでそれ自体は簡単です。
参考記事:https://qiita.com/aki3061/items/61c703a01ec786b155c8

私はUbuntuの仮想Linux上でやりたかったので挫折しましたが、今取り組んでいるkindle本の執筆と発刊が終わったら再度この記事を参考に再チャレンジしてみようかと思います😁
  コメントの注意点