【Mac】手っ取り早くUSBメモリからUEFI起動出来るUbuntuを作る

今日は今までとちょっと毛色を変えて、USBメモリにUEFI起動が出来るUbuntuを作る方法を共有します。なんでまたそんな事をと・・・興味本位ですかね〜 Swiftが絡んでたり絡んでなかったり・・・ ちなみに詳しい話はしません。てか自分も詳しいことは知りません。間違っていることも多々あるかもしれません。実際にやる時は自己責任でお願いします

SwiftはUbuntuでも動く

Swiftのダウンロードサイトを見てみると、なんとUbuntu用のSwiftのリンクがあるじゃないですか。これは試してみたいと・・・でも、Macしかないしどうしようと・・・調べてみると、やり方はいくつかあって、気になったのは以下のやり方とか・・・

  1. VirtualBox等を使って、MacOSの上で仮想的に何とかする
  2. USBメモリにインストールしてなんとかする
  3. MacOSなんか捨てて、Macに直接インストールしてなんとかする
  4. 専用マシンを買ってなんとかする

VirtualBoxは気軽に出来て良いんですけどね。カジュアル過ぎてちょっと面白みが無いですね。直接インストールはiOSアプリの開発が出来なくなっちゃうし・・・専用マシンとか邪魔くさいし・・・そこで当選したのが、USBメモリ!! 話によるとUbuntuをインストールしたUSBメモリをぶっ刺して、そこから起動出来るみたいじゃないですか。これはやるしか無いですね。てことで・・・

用意するもの

先ず必要な物を用意します。

  1. USBメモリ・・・転送速度の速いのが良いみたいです。自分はSanDiskの奴を買いました
  2. VirturlBox・・・インストールしてください
  3. Ubuntuインストールイメージ・・・ダウンロードしてください
  4. Mac・・・買ってください

Swift云々言ってましたが、今回の例では”Ubuntu 17.10.1″を使います。なんでやねん!! 多分16系でも同じ手順で行けるのでは・・・と思っています・・・では。。。

USBメモリの初期化

とりあえず、最初にやることはUSBメモリの初期化です。USBメモリをMacに挿して以下のDisk Utilityを開いてください。’/Applications/Utilities’の配下にあります
Disk Utility 1
 
Disk Utilityを開くと以下のようなウィンドウが開くので、挿したUSBメモリを選択し、「Erase」ボタンをクリックします。ここで間違っても、USBメモリ以外を選択しないように注意してください。万が一、別なものを消してしまったら・・・
Disk Utility 2
 
すると、初期化のダイアログが出てきます。通常であればSchemeに’GUID Partition Map’を選択して、EFIのパーティションを自動で作ると思うのですが、あえてここでは’Master Boot Record’を選択します。どうもEFIパーティションが初めからあると、UbuntuのインストーラーがEFIパーティションに何も書き込んでくれなかったりしました。多分やり方が悪い
Disk Utility 3
 
こんな感じになるかと思います
Disk Utility 4

VirtualBoxの準備(仮想マシンの追加)

今回、USBメモリにはVirtualBoxを使ってUbuntuをインストールします。UbuntuのインストールメディアをMacで直接起動し、そこからUSBメモリにインストールも出来ますが、Mac内蔵のSSDに’Master Boot Record’を書き込んでくれたりします。Macを起動するたんびにGrubが立ち上がり、ExitしないとMacOSが立ち上がらないなんて事になります。なかなか恐ろしいことになるので、VirtualBoxでUbuntuのLiveCDを起動して、そこからUbuntuをインストールするという方法を取ります。
VirtualBoxをインストール後、起動をすると、以下のような画面が表示されるので、「New」ボタンをクリックして仮想マシンを作ります。Typeに’Linux’、Versionに’Ubuntu’を選択し、「Continue」ボタンをクリックします
VirtualBox 1
 
メモリのサイズはそれっぽく設定し、「Continue」ボタンをクリックします。後で変更できます
VirtualBox 2
 
次にハードディスクの設定です。今回はLiveCDで立ち上げるのでハードディスクは使わない事にします。「Create」ボタンをクリックします
VirtualBox 3
 
ほんとにハードディスク要らないの? って聞かれますが、構わず「Continue」ボタンをクリックします
VirtualBox 4

VirtualBoxの準備(仮想マシンの設定)

上記のところまで行うと、左のリストに仮想マシンが追加されると思います。以下の画像ではちょっと切れてしまってますが、追加した仮想マシンを選択し、「Settings」をクリックします。すると、設定画面が表示されます。設定項目がタブで表示されているので、「System」をクリックします。「Motherboard」の設定に’Enable EFI’のチェックボックスがあるのでチェックを入れます
VirtualBox 5
 
次に「Storage」タブをクリックします。’Optical Drive’のディスクのマークをクリックし、ダウンロードしたUbuntuのisoを選択します。そして、’Live CD/DVD’にチェックを付けます
VirtualBox 6
 
そして、USBメモリを認識させます。「Ports」をクリックします。’USB’を選択し、’Enable USB Controller’にチェックを入れます。USBは3.0を選択しますが、うまく認識しなかったら、2.0とかも挑戦してみる価値はありそうです。USBメモリを挿したまま、ウィンドウの右のほうにある、プラグにプラスボタンが付いているアイコンをクリックし、一覧から該当のUSBメモリを選択します
VirtualBox 7
 
USBメモリが表示されましたでしょうか。「OK」ボタンをクリックしたら終わりです。ここまででVirtualBoxの準備が完了です。次はUbuntuを起動します
VirtualBox 8

Ubuntu起動

それではUbuntuを起動していきます。作成した仮想マシンを選択し、「Start」ボタンをクリックします。
VirtualBox 9
 
すると、GRUBが先ず立ち上がります。一番上の「Try Ubuntu without installing」を選択し、「Enter」キーを叩きます
Ubuntu 1
 
どうでしょう? Ubuntu起動しましたでしょうか? VirtualBoxって凄いですね。こりゃ〜色々遊びたくなっちゃいますね。いやいや、まだ道半ばです
Ubuntu 2
 

USBメモリをマウントさせる

下の写真のようにUSBメモリはマウントされてますでしょうか? これ・・・なかなか癖がありまして、すんなり行かない場合もあるみたいですね。
僕のも挿しっぱなしで起動しても、マウントされませんでした。いくつかパターンがあるっぽく、以下の事をやったりするとマウントされることが多いようです。

  1. 右下のプラグのボタンをクリックして出て来るメニュー、USBメモリが出てくるので、チェックを外して、もう一度チェックを入れてみる
  2. 上記のメニューのUSBメモリにチェックを入れたまま、USBメモリを抜き差しする
  3. 上記のメニューのUSBメモリのチェックを外したまま、USBメモリを抜き差しする
    だいたいどれかをやると、マウントされるようです。3番目が一番効くイメージがあります
    Ubuntu 3

Ubuntuのインストール

それでは、最後の工程に入っていきます。デスクトップにUbuntuインストール用のアイコンがあるので、クリックします。インストール開始です。’Welcome’画面が立ち上がりますので、お好きな言語を選択し、「Continue」ボタンをクリックします
Ubuntu 4
 
インストール中にアップデートをダウンロードしますか的な事を聞かれますが、一旦ここはチェックをせずに先に進みましょう。後で出来ます。「Continue」ボタンをクリックします
Ubuntu 5

ここでマウントしてる物にインストール出来ないからアンマウントしてしまいますよって聞かれます。黙って「Yes」ボタンをクリックしてください
Ubuntu 6

次が一番のポイントですね。「UEFI」で強制インストールしますよ・・・って聞かれます。このダイアログが出ない場合は怪しいですね。フォーマットが間違ってませんでしょうか? あえて・・・の箇所。「Continue in UEFI mode」をクリックし、次の画面へ
Ubuntu 7

いよいよインストールです。インストールのタイプを聞かれますので、「Erase disk and install Ubuntu」を選択して「Install Now」ボタンをクリックします
Ubuntu 8

と思ったら、最後にパーティションの切り方をお知らせしてくれるダイアログが表示されます。黙って「Continue」をクリックしましょう
Ubuntu 9

場所を聞かれるので’Tokyo’で先に進みましょう。ココまで来ると他のOSのインストールと大差は無いですかね
Ubuntu 10

キーボードのレイアウトを聞かれます。ここも環境に合わせて適している物を選択してください
Ubuntu 11

最後にユーザ情報の登録を求められます。適当にユーザを作ってください。入力が終わったら、「Continue」ボタンをクリックします
Ubuntu 12
Ubuntu 13

暫くインストール作業が続きます。
Ubuntu 14

インストールが完了すると、再起動を促すダイアログが表示されます。が、この再起動はVirtualBox上で起動しているUbuntuの再起動ですので、今回はあまり意味がありません。どちらかと言うと、USBメモリを挿したままMacを再起動します。その際にOptionキーを押しっぱなしにしてください。すると、起動OSの選択画面が出てきます。通常ならMacOSだけ表示されますが、もう一つ黄色のEFIのアイコンが表示されましたでしょうか? それを選択して起動すると、Ubuntuが起動すると思います。如何でしょうか、起動しましたでしょうか? これで、内蔵SSDに傷を付けずにUbuntuを直接起動出来るようになったと思います。UbuntuでもSwiftを書いてみませんか?
Ubuntu 15

EFIパーティションのサイズ

今回はUbuntu任せでパーティションを切りましたが、どうもEFIパーティションのサイズが512mbと、ちょっと無駄に大きい気がします。MacのDisk Utilityだと200mbで作ってくれます。サイズの小さいUSBメモリなので、少しでも無駄には使いたくないのですが、インストール前からEFIパーティションを作っておくと、うまくインストール出来ないので、どうしたもんかと・・・誰か解決方法知りませんか?
Ubuntu 16

参考サイト

MacBook をEFIブートするUSBディスク作成してubuntuを起動する
USBメモリにUbuntuをインストール 「USBuntu」
MacBook で USB から Linux を起動する

続き・・・

この後、さらに、UbuntuにSwiftを入れてみました。
こちら

関連記事

SwiftでOpenALの簡単サンプルソース

Atomでterminal-plusが動かなくなったときの対処法

【Swift4】Stringイニシャライズ時のエラー

UIBarButtonItemのサイズがiOS11でおかしくなった際の対処法

【Ubuntu】UnuntuにSwiftをインストールしてみた件

Invalid Binary?・・・PhotoLibraryへのアクセスは説明書...