MacbookAir '11でArch/OSXデュアルブート

MacbookAir '11でArch/OSXデュアルブート

私はこれに従いましたガイドArch Linux デュアルブートを設定する方法について説明します。ただし、起動時にのみ「macOS」オプションが表示され、そのオプションを選択した後に次のエラーが表示されます。

Error loading \System\Library\CoreServices\boot.efi: Unsupported
Failed to execute macOS (\System\Library\CoreServices\boot.efi): Unsupported

macOS起動を再試行した後、Arch Linux起動オプションは表示されなくなりました。私boot.efiのもの:

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="0"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod ext2
set root='hd0,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,gpt5' --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5  a4d89761-6298-4e27-99c9-0d86bb1c8aa2
else
  search --no-floppy --fs-uuid --set=root a4d89761-6298-4e27-99c9-0d86bb1c8aa2
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=5
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# 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.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

そして私のパーティションは次のとおりです。

装備 サイズ タイプ
/dev/sda1 2億 EFIシステム
/dev/sda2 116.8G アップルAPFS
/dev/sda3 128M Apple HFS/HFS+
/dev/sda4 256M Linuxファイルシステム(起動)
/dev/sda5 116.4G Linuxファイルシステム(ルート)

なぜArch起動オプションが表示されないのか知っていますか?

答え1

1つのステップを見逃したか、何か間違って理解しているようです。

あなたは自分のものだと主張し、質問にテキストファイルを投稿しましたboot.efi。ただし、ファイルはバイナリファイルでなければなりません。公開した内容は、grubメニュー設定ファイルのように見えます。

リンクされたチュートリアルによると、このファイルは次のように生成する必要があります。

grub-mkconfig -o boot/grub/grub.cfg
grub-mkstandalone -o boot.efi -d usr/lib/grub/x86_64-efi -O x86_64-efi -C xz boot/grub/grub.cfg

2番目の手順では、grub-mkstandalone -o boot.efi ...バイナリファイルを作成してEFIディレクトリに配置する必要があります。テキストファイルではないはずです。

答え2

問題は、Macがブートローダファイルを認識しないようです。リンクしたガイドは2013年のものなので少し古いです。実際には別々の/bootパーティションは必要ないので、MacのEFIをインストールして/bootとしてマウントするときに/dev/sda4を削除する必要があります。

mkdir /mnt/boot && mount /dev/sda1 /mnt/boot

/EFI/BOOT/BOOTX64.EFIまた、バイナリはデフォルトでローカルEFIシステムパーティション()にインストールされているため、GRUBを使用する代わりにsystemd-bootでデフォルトのApple EFIブートローダを使用できます。通常のインストール後にsystemd-bootをインストールします。

bootctl --path=/boot install

そして再起動してください。

答え3

アーチをインストールしたい場合は訪問してくださいhttps://archlinux.org/更新された情報と必要な追加情報を見つけることができます。ただし、「mkinitcpio -p linux」[1]より前に「hfsprogs」をインストールする必要があります。

1-https://wiki.archlinux.org/index.php/Mac

2-https://wiki.archlinux.org/index.php/MacBookPro7,1

Macにログインできる場合は、rEFIndをインストールしてインストールされているオペレーティングシステムを検索してください。

サム -https://www.rodsbooks.com/refind/installing.html

データを必ずバックアップしてください。

関連情報