LoginSignup
0
0

More than 1 year has passed since last update.

Grub2からOS Xをbootする

Posted at

※アカウント統合により過去記事再掲:元の投稿日 2016年02月26

さあ、やってしまった!

Mac miniをRedHatとのデュアルブートにしようとして、RedHatしか立ち上がらなくなってしまった。

このまま起動音のカッコイイLinuxとして使うのも一案だが、Macを捨て去るのも悲しい話。LinuxのCUIをパチパチやってると仕事してる風に見えて遊んでられてとても素敵なのだが、現実にiPhoneアプリの開発なんかをやる時にはやっぱMacいるじゃんという話になるわけで、さてどうしようか。

ブートメニューに「OS X」を追加すりゃいいじゃん、って事でやってみた。
#まずはGrubコンソールに入って
Grubのメニューが表示されている所で C を押すと、コンソールに入れる。

grub>

と出てきたらこっちのもんだ。取り敢えず ls しとく。

grub> ls

(hd0) (hd1) (hd1,gpt6) (hd1,gpt5) (hd1,gp4) (hd1,gpt3) (hd1,gpt2) (hd1,gpt1)

こんな感じで表示される。
で、どれがOS Xだったかなーと。

/System/Library/CoreServices/boot.efi

取り敢えず↑のファイルがあるパーテーションを探す。
ま、片っ端から見ていくか、と。

grug> ls (hd1,gpt6)/System/Library/CoreServices/

※英字キーボードになってるんで、()のキーの位置とか右にズレてたりするのでしょっちゅう打ち間違えるけどあんま気にせずやろう

error: file '/System/Library/CoreServices/' not found.

無かったね。はい気にしない。
↑キーを押して次々やっていこう。

grug> ls (hd1,gpt3)/System/Library/CoreServices/

./ ../ .disk_label .disk_label.contentDetails .disk_label_2x .root_uuid
boot.efi PlatformSupport.plist SystemVersion.plist

お?
boot.efiあるじゃん。

しかし騙されてはいけない。こいつを使ってブートしようとしたら失敗したので、こいつはなんか別の奴なのだ。別のなんなのかは俺は知らん。

grug> ls (hd1,gpt2)/System/Library/CoreServices/

./ ../ .disk_label .disk_label.contentDetails .disk_label_2x AddPrinter.app/ AddressBookUrlForwarder.app/ AirPlayUIAgent.app/ AirPort Base Station Agent.app/
(略)
BluetoothUIServer.app boot.efi cacheTimeZones
(略)
--MORE--

これやんけ! 多分これやろ! 一杯あるからこれや!
と、言うわけで (hd1,gpt2) と、これを覚えておこう。

では esc でブートメニューに戻ってよろしい。

Grubの設定ファイル的なのを書き換える

当然rootでの作業。
# vi /etc/grub.d/40_custom

40_custom
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

このファイルに追加する。Iで挿入モードに入って以下を追加。

40_customに追加
menuentry "OS X" {
    insmod hfsplus
    set root='(hd1,gpt2)' # さっき確認したパーテーション
    chainloader /System/Library/CoreServices/boot.efi
}

escで戻って**:wq**で上書き。
最後にgrub.cfg ファイルを更新する。

# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

再起動して・・・
# reboot

ででーん!

IMG_4067.JPG

これで OS X を選択したら、あの食いかけのリンゴのマークが表示されるはず。
はい、お疲れ様でした。

後日談

しばらく使っているとOS Xがbootしなくなってしまった。
なんでですかね?
grubコンソールからlsで確認してみると、それまでhd2だったのがhd1になってたんですよね。
だからまあ、40_customファイルを書き換えてまた起動できるようにはしましたが、なんでこの辺変わっちゃったんですかね。イマイチ分かってないんですよね。

0
0
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
0
0