LoginSignup
6
9

More than 5 years have passed since last update.

MacBookPro2016で起動できるUbuntu 16.04のUSBメモリを作る

Last updated at Posted at 2018-03-03

MacBookPro2016で、Ubuntu16.04LTSが起動できるUSBメモリを作ろうと思ったら、思いの外大変だったので、やり方をまとめます。

Ubuntu 17.10 Desktopでも試しましたが、USBメモリに対してインストールしようとすると、失敗しました。

概要

  • 通常のLinuxのvfatフォーマットのEFI領域だとMacでは起動できないので、ファイルシステムをHFS+フォーマットに書き換える必要がある。
  • Ubuntuを普通にインストールしてから、LiveCDで起動して、HFS+にフォーマットしてgrub-installする。
  • UbuntuのGRUBのメニューからInstall Ubuntuを選ぶと、Bootcampのブート領域壊すので、ブートローダーをインストールしないインストール方法を取る必要がある(LiveCD起動後ubinstall -bを実行)が、VirtualBox上でインストールを行うのが楽だと知った。

必要なもの

  • USBメモリ
  • USBキーボード(インストール直後認識しないため)
  • USBマウス(インストール直後認識しないため)

手順

VirtualBoxをインストールする。VirtualBox Extension Packも必要。

Ubuntu 16.04 Desktopのisoをダウンロードする。

VirtualBoxで以下のような仮想マシンを作る。

  • Type: Linux
  • Version: Ubuntu 64-bit
  • System->Motherboard: Enable EFIにチェック
  • Storage: Ubuntuのisoのみマウントする
  • Ports->USB: Enable USB Controllerにチェックを入れて、USB 3.0 Controllerを選ぶ
  • 仮想マシン起動前に、DiskUtilityを起動して、MacでUSBメモリがマウントされていないことを確認する

仮想マシンを起動して、"Install Ubuntu"を選ぶ。インストール先について、Something Elseを選ぶ。

USBメモリに以下のようにパーティションを作る。

  • EFI Partition,512MB
  • Ext4,マウントポイント:/,残りの容量を割り当てる

image.png

あとはそのままインストールする。

インストール後、仮想マシンにUbuntuのisoを再びマウントして(インストール後自動的に外される)、再度仮想マシンを起動し、今度はTry Ubuntuの方を選ぶ。

以下、ターミナルで操作する。

# USBメモリのストレージの名前を特定する。(以下、/dev/sdaとする) 
lsusb

# USBメモリが既にマウントされていたら一度マウントを外す。
sudo umount /dev/sda2

# パーティションを変更する。
sudo gdisk /dev/sda

パーティションの変更は以下のようにする。

  • p で、EFIとext4の2つパーティションがあることを確認する(間違ってもMacBook本体出ないことを確認する)
  • d->1で、EFIのパーティションを削除する
  • n->1->サイズについてはそのまま->タイプ:AF00
  • wで書き込み

HFS+を扱うためのソフトウェアをインストールする

sudo apt update
sudo apt install hfsprogs

上記でインストール出来ない場合(なぜかそんなことがあった)、以下から直接ダウンロードしてインストールする。

sudo apt install ./hfsprogs_332.25-11_amd64.deb

HFS+でEFIのパーティションをフォーマットする。

sudo mkfs.hfsplus /dev/sda1

USBメモリのファイルシステムをマウントして、chrootする。

sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot/efi
sudo mount -o bind /dev /mnt/dev
sudo mount -o bind /sys /mnt/sys
sudo mount -t proc none /mnt/proc

# 以下をしておくとネットワークが使える
cp /etc/resolv.conf /mnt/etc/resolv.conf

sudo chroot /mnt

grub-installに必要なものと、Macでの起動に必要なものをインストールする。

sudo add-apt-repository ppa:detly/mactel-utils
sudo apt-get install mactel-boot grub-efi-amd64

grub-installをする。

mkdir -p /boot/efi/EFI/Ubuntu/
# 以下はMacの仕様上必要らしい
touch /boot/efi/EFI/Ubuntu/mach_kernel
touch /boot/efi/mach_kernel

grub-install --target x86_64-efi --boot-directory=/boot --efi-directory=/boot/efi --bootloader-id=Ubuntu

# Macでブート可能にする
hfs-bless /boot/efi/EFI/Ubuntu/System/Library/CoreServices/boot.efi

exit

EFIをフォーマットしたので、fstabを書き換える。

# UUIDを調べる
lsusb -o NAME,UUID

sudo vi /mnt/etc/fstab
# UUIDとファイルタイプvfat->hfsplusを書き換える
UUID=C59D-1B30  /boot/efi       hfsplus    defaults        0       1

仮想マシンをシャットダウンする。

Optionボタンを押しながらMacを起動することで、Ubuntuが出現する。

あとは、こちらのMacBookPro上でUbuntuを動かした記事を参考に、キーボードとタッチパッドその他が使えるようにセットアップする。

参考

6
9
0

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
6
9