rEFIndなしのトリプルブートmacOS High Sierra、Ubuntu、およびWindows


10

現在、2017 MacBook Airに3つのOSをインストールしています:macOS、Ubuntu、およびWindows10。rEFIndがないとUbuntuを起動できませんでしたが、ファームウェアパスワード(どのrEFInd持っていません)。

macOSブートマネージャーがサードパーティのブートマネージャーを使用せずにUbuntuを認識する方法はありますか?

ノート:

  • 代わりにUbuntuをデフォルトのOSに設定したくありません。ブートメニューに表示したいだけです。
  • GRUBに入ってもかまいません。どういうわけかカーネルをロードできる限り、問題ありません。

コマンドからの出力diskutil list

/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         242.6 GB   disk0s2
   3:           Linux Filesystem                         49.9 GB    disk0s4
   4:       Microsoft Basic Data WinData                 75.1 GB    disk0s5
   5:       Microsoft Basic Data Windows                 125.1 GB   disk0s6

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +242.6 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            74.0 GB    disk1s1
   2:                APFS Volume Preboot                 25.1 MB    disk1s2
   3:                APFS Volume Recovery                506.6 MB   disk1s3
   4:                APFS Volume VM                      2.1 GB     disk1s4

MacBook Airの年は何年ですか?私が本当に知りたいのは、Windows、Ubuntu、rEFIndのインストール方法です。BIOSは起動しますか?rEFIndはどこにインストールしましたか?また、diskutil listコマンドからの出力を含めると役立ちます。あなたの質問は以前に尋ねられました。いくつかの簡単な解決策があります。
デビッドアンダーソン、

実際、いくつかの解決策がありますが、どれも私にとってはうまくいきません。MacBook Airの年は2017年です。最初にブートキャンプでWindowsをインストールし、macOSボリュームを縮小して別のデータボリュームをWindowsに作成し、macOSパーティションを再度圧縮してUbuntuをインストールしました(これにより問題が発生し、macOSを再インストールしてWindowsをリセットする必要がありました。データパーティション)。その後、公式サイトからrEFIndをインストールしました。diskutil list出力:Pastebin
kouwei32 '29

1
あなたはおそらくこれを最初に読んだはずです:macOSとWindowsが既にインストールされているMacへのUbuntuのインストール。現在、質問への回答を投稿しています。私の答えは、上記のリンクにある程度基づいています。
デビッドアンダーソン

Macを再起動して、コマンドを実行しますdiskutil list。回答の出力をこの新しい出力に置き換えます。disk0s3現在表示されている出力に欠落しているので、これをお願いします。
デビッドアンダーソン

回答:


5

別の2番目の回答

この2番目の答えは、次の点で最初の答えとは異なります。

  • 2番目のEFIパーティションはHFS +パーティションに置き換えられます。

  • スタートアップマネージャーに表示されるラベルは、一般的な「EFIブート」ではなく「Ubuntu」になります。

以下を想定します。

  • EFIブート方式を使用するには、Ubuntuをインストールする必要があります。
  • Ubuntuを起動するためにgrubを使用しています
  • EFIパーティションからのGRUBブート。
  • EFIパーティションは1つだけです。
  • EFIパーティションは、ディスクの最初のパーティションです。
  • 関係するディスクは1つだけで、そのディスクは内部にあります。
  • rEFIndはEFIパーティションにインストールされます。

私はあなたの問題を解決する2つの方法を提供します。それぞれに長所と短所があります。

.efiファイルを正しい場所に配置すると、Macスタートアップマネージャーにオペレーティングシステムが表示されます。この場所は、System/Library/CoreServicesHFS +パーティション内のボリュームのフォルダーです。ファイル名はでなければなりませんboot.efi。さらに、.VolumeIcon.icnsHFS +パーティションのボリュームのルートフォルダーにファイルを配置することで、オペレーティングシステムに表示されるアイコンをカスタマイズできます。

最初の方法。

注:ここで、rEFIndはまだ使用されていますが、Startup Managerの代替としては使用されていません。ファームウェアのパスワードを使用できるようになります。実際、rEFIndメニューは表示されません。rEFIndブートマネージャーは、grubをサイレントブートします(これによりUbuntuがブートされます)。

  1. このSourceForgeのWebサイトからrEFIndをダウンロードしてください。ダウンロードしたファイルに名前が付けられrefind-bin-0.11.2.zip、このファイルが~/Downloadsフォルダーにダウンロードされたと思います。
  2. 新しいHFS +パーティションを作成します。手順については、「HFS +パーティションの追加」のセクションを参照してください。
  3. 次のコマンドを入力して、新しいHFS +パーティションをマウントします。

    sudo  diskutil  mount  disk0s3
    

    新しいHFS +パーティションにはボリューム名が付けられUbuntuます。

  4. 新しいHFS +パーティションのボリュームにrEFIndをインストールします。

    cd  ~/Downloads/refind-bin-0.11.2
    ./refind-install  --ownhfs  /dev/disk0s3
    

    注:エラーメッセージCould not set boot device property: 0xe00002bcは予期されたものであり、無視してかまいません。

  5. TextEditアプリケーションを設定します。TextEditを開き、[設定...]ウィンドウに移動します。以下に示すように、すべての「オプション」のチェックを外します。終了したら、TextEditを終了します。

    y1

  6. 以下のコマンドを使用して、refind.confファイルを含むフォルダーに移動します。

    cd  /Volumes/Ubuntu/System/Library/CoreServices
    

    このファイルのバックアップコピーを作成します。

    sudo  cp  refind.conf  refind.conf.orignal
    

    CoreServicesフォルダーとrefind.confファイルに書き込み権限を追加します。

    sudo  chmod  a+w  .  refind.conf
    

    TextEditアプリケーションでファイルを開きます。

    open  -e  refind.conf
    
  7. このボリュームで、System/Library/CoreServices/refind.confgrubをサイレントブートするようにファイルを編集します(これによりUbuntuがインターンブートされます)。これは、refind.confファイルの最後に次の行を追加することで実現できます。これらの行をカットアンドペーストするだけでよいはずです。終了したら、変更を保存して、TextEditを終了します。

    #
    # Added to make rEFInd silent. 
    #
    menuentry "Ubuntu" {
        icon \System\Library\CoreServices\icons\os_ubuntu.png
        volume "EFI"
        loader \EFI\ubuntu\grubx64.efi
        ostype Linux
        graphics on
    }
    timeout -1
    hideui all
    scanfor manual
    
  8. Ubuntu次のコマンドを入力して、という名前の新しいボリュームをアンマウントします。

    cd  ~
    diskutil  unmount  disk0s3
    

長所:Ubuntuは影響を受けないため、Ubuntuの更新に注意する必要はありません。

短所:サードパーティのブートマネージャーrEFIndを使用する必要があります。

第二の方法。

  1. 新しいHFS +パーティションを作成します。手順については、「HFS +パーティションの追加」のセクションを参照してください。
  2. 次のコマンドを入力して、元のEFIパーティションと新しいHFS +パーティションをマウントします。

    sudo  diskutil  mount  disk0s1
    sudo  diskutil  mount  disk0s3
    

    元のEFIパーティションには名前が付けEFIられ、新しいHFS +パーティションにはという名前が付けられUbuntuます。

  3. という名前の新しいボリュームで、次のコマンドを入力してUbuntu、フォルダーEFI/ubuntuとを作成しますSystem/Library/CoreServices

    mkdir  -p  /Volumes/Ubuntu/EFI/ubuntu
    mkdir  -p  /Volumes/Ubuntu/System/Library/CoreServices
    
  4. ファイルgrub.cfggrubx64.efiという名前の新しいボリュームにコピーしますUbuntu。必要なコマンドを以下に示します。

    cp  /Volumes/EFI/EFI/ubuntu/grub.cfg  /Volumes/Ubuntu/EFI/ubuntu/grub.cfg
    cp  /Volumes/EFI/EFI/ubuntu/grubx64.efi  /Volumes/Ubuntu/System/Library/CoreServices/boot.efi
    
  5. 次のコマンドを入力して、元のEFIパーティションと新しいHFS +パーティションをアンマウントします。

    diskutil  unmount  disk0s1
    diskutil  unmount  disk0s3
    

長所:サードパーティのブートマネージャーrEFIndを使用する必要はありません。

短所:grubx64.efiまたはgrub.cfgが更新された場合、これらのファイルをという名前の新しいボリュームに手動でコピーする必要がありますUbuntu

カスタムアイコンの追加

以下の手順では、次のUbuntuアイコンをスタートアップメニューに追加します。

os_ubuntu.png

  1. Sourceforge WebサイトMac icnsからアイコンのコレクションをダウンロードします。
  2. Finderアプリケーションを使用して、ダウンロードしたファイルを開きますmac-icns.dmg。このファイルはあなたの~/Downloadsフォルダにダウンロードされたと思います。
  3. Ubuntu次のコマンドを入力して、指定されたボリュームをマウントします。

    sudo  diskutil  mount  disk0s3
    
  4. Finderアプリケーションを使用して、os_ubuntu.icnsアイコンファイルをというボリュームのルートフォルダにコピーしますUbuntu。または、以下に示すコマンドを使用できます。

    sudo cp  /Volumes/mac-icns/os_ubuntu.icns  /Volumes/Ubuntu/.
    
  5. os_ubuntu.icnsアイコンファイルの名前をに変更します.VolumeIcon.icns。これを行うには、次のコマンドを入力します。

    sudo mv  /Volumes/Ubuntu/os_ubuntu.icns  /Volumes/Ubuntu/.VolumeIcon.icns
    

    注:.通常、ピリオド()で始まるファイルは、Finderアプリケーションウィンドウに表示されません。

  6. Finderアプリケーションを使用して、ボリューム名のEFIシステムパーティションを取り出しますUbuntu。または、以下に示すコマンドを使用して、ボリュームをマウント解除できます。

    diskutil  unmount  disk0s3
    
  7. Finderアプリケーションを使用して、という名前のボリュームを取り出しますmac-icns

HFS +パーティションの追加

注:以下はdiskutil list、質問で提供した出力に基づいています。

  1. ターミナルアプリケーションウィンドウで以下のコマンドを入力します。これにより、「Ubuntu」という名前の「Mac OS拡張」ボリュームが新しいパーティションに作成されます。

    sudo  diskutil  apfs  resizeContainer  disk0s2  242300M  HFS+  Ubuntu  200M
    
  2. 以下のコマンドを入力して、「Ubuntu」という名前のボリュームのボリュームUUIDを取得します。

     diskutil info Ubuntu | grep "Volume UUID"
    

    出力は次のようになります。

       Volume UUID:              795F14D2-ED1F-3CA0-A004-BD0A27000DC8
    
  3. 次に、次のコマンドを入力して、この新しいボリューム名「Ubuntu」が自動的にマウントされないようにします。以下に示すUUIDをUUIDに置き換えます。

    sudo  bash
    echo  >> /etc/fstab
    echo  UUID=795F14D2-ED1F-3CA0-A004-BD0A27000DC8 none hfs rw,noauto >> /etc/fstab
    exit
    

    注:/etc/fstabファイルを編集する正しい方法は、コマンドを使用することsudo vifsです。echoコマンドの使用は、簡単なショートカットです。

  4. Finderアプリケーションを使用して、この新しいボリュームを取り出します。または、次のコマンドを入力して、このボリュームをマウント解除できます。

    diskutil  unmount  Ubuntu
    

上記の手順のいずれかを拡張する必要がある場合は、お知らせください。


1
これは完璧に機能します!ありがとう!また、設定編集にTextEditを使用することは、設定ファイルをロック済みとしてマークするので、あまり良くありません。以前sudo nano /Volumes/Ubuntu/System/Library/CoreServices/refind.confはこの問題を回避していました。
kouwei32 2018年

kouwei32:誰かが私の手順を確認できるのは良いことです。TextEditアプリケーションを使用できるように、権限を変更するコマンドを追加しました。そして、はい、nano良い代替品です。
デビッドアンダーソン

@DavidAndersonありがとうございます!これは、3つのOSがすべて正常に起動するための鍵でした。2番目のEFSパーティションがないと、ハイブリッドMBRの設定方法と、メインのAPFSパーティションを非表示にすることを選択したかどうかに応じて、[macOSまたはUbuntu]または[UbuntuまたはWindows、GRUB経由]でのみ起動できました。これが事実である理由を知っていますか?rEFIndを使用しても、2つのEFSパーティションを追加して最初の方法の手順を実行するまで、3つのOSが起動可能な単一のインスタンスはありませんでした。
igordcard '20年

@igordcard:あなたのコメントを読んだ後、私はいくつかの修正を行いました。注:この回答を投稿したため、Ubuntuは同じ方法で起動しなくなりました。したがって、Ubuntu 18を使用している場合、私の答えが機能しない可能性があります。2017年にビルドされたMacにはBIOSが含まれていないため、ハイブリッドMBRは必要ありません。実際、ハイブリッドMBRはWindowsの起動を妨げます。「メインのAPFSパーティションを非表示にする」という意味がわかりません。
デビッドアンダーソン

@igordcard:Intel Macは、OS X、macOS、またはWindowsのいずれかを起動するように設計されています。ただし、Unified Extensible Firmware Interface(UEFI)仕様の3.5.1.1 Removable Media Boot Behavior 91ページのセクションの仕様を使用してオペレーティングシステムのブートファイルがインストールされている場合、ファームウェアはオペレーティングシステムのブートも許可します。Intel Macの場合、メディアは取り外し可能である必要があります。
デビッドアンダーソン

1

元の回答

私の2番目の回答は、次の点でこの回答と異なります。

  • 2番目の回答では、2番目のEFIパーティションはHFS +パーティションに置き換えられています。このタイプのパーティションは、作成と変更が簡単です。
  • 2番目の回答では、Startup Managerに表示されるラベルは、一般的な「EFIブート」ではなく「Ubuntu」になります。

以下を想定します。

  • EFIブート方式を使用するには、Ubuntuをインストールする必要があります。
  • Ubuntuを起動するためにgrubを使用しています
  • EFIパーティションからのGRUBブート。
  • EFIパーティションは1つだけです。
  • EFIパーティションは、ディスクの最初のパーティションです。
  • 関係するディスクは1つだけで、そのディスクは内部にあります。
  • rEFIndはEFIパーティションにインストールされます。

私はあなたの問題を解決する2つの方法を提供します。それぞれに長所と短所があります。

.efiファイルを正しい場所に配置すると、Macスタートアップマネージャーにオペレーティングシステムが表示されます。この場所は、EFI/bootEFIパーティション内のボリュームのフォルダーです。ファイル名はでなければなりませんbootx64.efi。さらに、.VolumeIcon.icnsEFIパーティションのボリュームのルートフォルダーにファイルを配置することで、オペレーティングシステムに表示されるアイコンをカスタマイズできます。

最初の方法。

注:ここで、rEFIndはまだ使用されていますが、Startup Managerの代替としては使用されていません。ファームウェアのパスワードを使用できるようになります。実際、rEFIndメニューは表示されません。rEFIndブートマネージャーは、grubをサイレントブートします(これによりUbuntuがブートされます)。

  1. このSourceForgeのWebサイトからrEFIndをダウンロードしてください。ダウンロードしたファイルに名前が付けられrefund-bin-0.11.2.zip、このファイルが~/Downloadsフォルダーにダウンロードされたと思います。
  2. 新しいEFIパーティションを作成します。手順については、「EFIパーティションの追加」のセクションを参照してください。
  3. このSourceForge WebサイトからrEFInd Boot Managerソフトウェアをダウンロードします
  4. 新しいEFIパーティションのボリュームにrEFIndをインストールします。

    cd  ~/Downloads/refind-bin-0.11.2
    ./refind-install  --usedefault  /dev/disk0s3
    
  5. 次のコマンドを入力して、新しいEFIパーティションをマウント解除してマウントします。

    diskutil  unmount  disk0s3
    sudo  diskutil  mount  disk0s3
    

    新しいEFIパーティションにはボリューム名が付けられEFI2ます。

  6. TextEditアプリケーションを設定します。TextEditを開き、[設定...]ウィンドウに移動します。以下に示すように、すべての「オプション」のチェックを外します。終了したら、TextEditを終了します。

    y1

  7. 以下のコマンドを使用して、refind.confファイルを含むフォルダーに移動します。

    cd  /Volumes/EFI2/EFI/BOOT
    

    このファイルのバックアップコピーを作成します。

    cp  refind.conf  refind.conf.orignal
    

    TextEditアプリケーションでファイルを開きます。

    open  -e  refind.conf
    
  8. このボリュームで、EFI/BOOT/refind.confgrubをサイレントブートするようにファイルを編集します(これによりUbuntuがインターンブートされます)。これは、refind.confファイルの最後に次の行を追加することで実現できます。これらの行をカットアンドペーストするだけでよいはずです。終了したら、変更を保存して、TextEditを終了します。

    #
    # Added to make rEFInd silent. 
    #
    menuentry "Ubuntu" {
        icon \EFI\BOOT\icons\os_ubuntu.png
        volume "EFI"
        loader \EFI\ubuntu\grubx64.efi
        ostype Linux
        graphics on
    }
    timeout -1
    hideui all
    scanfor manual
    
  9. という名前の新しいボリュームをアンマウントしEFI2ます。

    diskutil  unmount  disk0s3
    

長所:Ubuntuは影響を受けないため、Ubuntuの更新に注意する必要はありません。

短所:サードパーティのブートマネージャーrEFIndを使用する必要があります。

第二の方法。

  1. 新しいEFIパーティションを作成します。手順については、「EFIパーティションの追加」のセクションを参照してください。
  2. 次のコマンドを入力して、元のEFIパーティションと新しいEFIパーティションをマウントします。

    sudo  diskutil  mount  disk0s1
    sudo  diskutil  mount  disk0s3
    

    元のEFIパーティションに名前が付けEFIられ、新しいEFIパーティションに名前が付けられEFI2ます。

  3. という名前の新しいボリュームで、次のコマンドを入力してEFI2、フォルダーEFI/ubuntuとを作成しますEFI/boot

    mkdir  -p  /Volumes/EFI2/EFI/ubuntu
    mkdir  -p  /Volumes/EFI2/EFI/boot
    
  4. ファイルgrub.cfggrubx64.efiという名前の新しいボリュームにコピーしますEFI2。必要なコマンドを以下に示します。

    cp  /Volumes/EFI/EFI/ubuntu/grub.cfg  /Volumes/EFI2/EFI/ubuntu/grub.cfg
    cp  /Volumes/EFI/EFI/ubuntu/grubx64.efi  /Volumes/EFI2/EFI/boot/bootx64.efi
    

長所:サードパーティのブートマネージャーrEFIndを使用する必要はありません。

短所:grubx64.efiまたはgrub.cfgが更新された場合、これらのファイルをという名前の新しいボリュームに手動でコピーする必要がありますEFI2

カスタムアイコンの追加

以下の手順では、次のUbuntuアイコンをスタートアップメニューに追加します。

os_ubuntu.png

  1. Sourceforge WebサイトMac icnsからアイコンのコレクションをダウンロードします。
  2. Finderアプリケーションを使用して、ダウンロードしたファイルを開きますmac-icns.dmg。このファイルはあなたの~/Downloadsフォルダにダウンロードされたと思います。
  3. EFI2次のコマンドを入力して、指定されたボリュームをマウントします。

    sudo  diskutil  mount  disk0s3
    
  4. Finderアプリケーションを使用して、os_ubuntu.icnsアイコンファイルをというボリュームのルートフォルダにコピーしますEFI2。または、以下に示すコマンドを使用できます。

    cp  /Volumes/mac-icns/os_ubuntu.icns  /Volumes/EFI2/.
    
  5. os_ubuntu.icnsアイコンファイルの名前をに変更します.VolumeIcon.icns。これを行うには、次のコマンドを入力します。

    mv  /Volumes/EFI2/os_ubuntu.icns  /Volumes/EFI2/.VolumeIcon.icns
    

    注:.通常、ピリオド()で始まるファイルは、Finderアプリケーションウィンドウに表示されません。

  6. Finderアプリケーションを使用して、ボリューム名のEFIシステムパーティションを取り出しますEFI2。または、以下に示すコマンドを使用して、ボリュームをマウント解除できます。

    diskutil  unmount  disk0s3
    
  7. Finderアプリケーションを使用して、という名前のボリュームを取り出しますmac-icns

EFIパーティションの追加

注:以下はdiskutil list、質問で提供した出力に基づいています。

macOSで起動している間に、ターミナルアプリケーションウィンドウで以下のコマンドを入力します。

sudo  diskutil  apfs  resizecontainer  disk0s2  242300M  %EFI%  n  200M
sudo  newfs_msdos  -F  32  -v  EFI2  /dev/disk0s3

上記の手順のいずれかを拡張する必要がある場合は、お知らせください。


残念ながら、最初の解決策は私が望んだものではなく、2番目の解決策はまったく機能しません。
kouwei32 2017

2番目のソリューションは、以前に投稿した実証済みのソリューションに基づいています。他の多くのユーザーがこのソリューションを正常に使用しています。こちらこちらをご覧ください。
デビッドアンダーソン

1
おそらく私は十分な詳細を提供しませんでした。たとえば、この場合、新しいEFIパーティションを作成する必要があります。これは、通常のFAT32フォーマットのパーティションにすることはできません。これは、GPTのGUIDがであるEFIパーティションである必要がありますC12A7328-F81F-11D2-BA4B-00A0C93EC93B
デビッドアンダーソン

すでにEFIパーティションがあります。3回試したが、役に立たなかった。
kouwei32 2017

EFIパーティションは必要な数だけ持つことができます。あなたの場合、WindowsはすでにEFIパーティションのEFI / bootフォルダーを使用しています。これが、2番目のEFIパーティションが必要な理由です。
デビッドアンダーソン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.