การบูตสามครั้งบน MacOS High Sierra, Ubuntu และ Windows โดยไม่มี rEFInd


10

ขณะนี้ฉันมีระบบปฏิบัติการสามตัวที่ติดตั้งบน MacBook Air ของฉันในปี 2560: macOS, Ubuntu และ Windows 10 ฉันไม่สามารถบูตเข้าสู่ Ubuntu โดยไม่ต้องใช้ rEFInd ได้ แต่ฉันต้องการตัวจัดการการบูตเริ่มต้นอย่างยิ่งเพราะฉันต้องการใช้รหัสผ่านเฟิร์มแวร์ ไม่มี)

มีวิธีใดบ้างที่ตัวจัดการการบูตของ MacOS จะรู้จัก Ubuntu โดยไม่ต้องใช้ตัวจัดการการบูตของ บริษัท อื่น

หมายเหตุ:

  • ฉันไม่ต้องการให้ Ubuntu ตั้งค่าเป็นระบบปฏิบัติการเริ่มต้นของฉันเป็นทางเลือก ฉันแค่อยากให้มันปรากฏในเมนูบูต
  • ฉันไม่รังเกียจหรอกว่ามันจะเข้าสู่ด้วง ตราบใดที่มันสามารถโหลดเคอร์เนลได้ก็ดี

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คำสั่ง คำถามของคุณถูกถามมาก่อน มีวิธีแก้ปัญหาง่ายๆหลายอย่าง
— David Anderson

มีหลายวิธี แต่ไม่มีวิธีใดที่เหมาะกับฉัน ปีของ MacBook Air คือ 2017 ฉันติดตั้ง Windows ครั้งแรกด้วย bootcamp ลดระดับเสียง macOS เพื่อทำปริมาณข้อมูลอื่นสำหรับ Windows ติดตั้ง Ubuntu โดยลดขนาดพาร์ติชัน macOS อีกครั้ง (ซึ่งทำลายสิ่งต่าง ๆ และฉันต้องติดตั้ง macOS ใหม่และรีเซ็ต Windows พาร์ทิชันข้อมูล) ฉันติดตั้ง rEFInd หลังจากนั้นจากเว็บไซต์ทางการ diskutil listผลลัพธ์: Pastebin
— kouwei32

1
คุณอาจจะได้อ่านนี้เป็นครั้งแรก: การติดตั้ง Ubuntu บน Mac กับ MacOS และ Windows ติดตั้งไว้แล้ว ฉันกำลังโพสต์คำตอบสำหรับคำถามของคุณ คำตอบของฉันขึ้นอยู่กับลิงค์ด้านบน
— David Anderson

รีบูตเครื่อง Mac diskutil listของคุณและดำเนินการคำสั่ง แทนที่เอาต์พุตในคำตอบของคุณด้วยเอาต์พุตใหม่นี้ ฉันถามสิ่งนี้เพราะdisk0s3ไม่มีอยู่ในผลลัพธ์ที่แสดงในปัจจุบันของคุณ
— David Anderson

คำตอบ:


5

ทางเลือกที่สองคำตอบ

คำตอบที่สองนี้แตกต่างจากคำตอบแรกของฉันในวิธีต่อไปนี้

  • พาร์ติชัน EFI ที่สองจะถูกแทนที่ด้วย HFS + พาร์ติชัน

  • ป้ายกำกับที่แสดงในตัวจัดการการเริ่มต้นจะเป็น "Ubuntu" แทนที่จะเป็น "EFI Boot" ทั่วไป

ฉันจะถือว่าสิ่งต่อไปนี้:

  • คุณได้ติดตั้ง Ubuntu เพื่อใช้วิธีการบูตของ EFI
  • คุณกำลังใช้ด้วงเพื่อบู๊ต Ubuntu
  • รองเท้าด้วงจากพาร์ติชัน EFI
  • มีพาร์ติชัน EFI เดียวเท่านั้น
  • พาร์ติชัน EFI เป็นพาร์ติชันแรกบนดิสก์
  • มีดิสก์เพียงดิสก์เดียวที่เกี่ยวข้องและดิสก์นั้นเป็นดิสก์ภายใน
  • ติดตั้ง rEFInd ในพาร์ติชัน EFI

ฉันจะเสนอวิธีแก้ปัญหาของคุณสองวิธี แต่ละคนมีข้อดีข้อเสีย

Mac Startup Manager จะแสดงระบบปฏิบัติการหากคุณวางไฟล์. fei ไว้ในตำแหน่งที่ถูกต้อง ตำแหน่งนี้เป็นSystem/Library/CoreServicesโฟลเดอร์ของไดรฟ์ข้อมูลในพาร์ติชัน HFS + boot.efiชื่อไฟล์ต้องเป็น นอกจากนี้คุณสามารถปรับแต่งไอคอนที่แสดงสำหรับระบบปฏิบัติการโดยการวาง.VolumeIcon.icnsไฟล์ในโฟลเดอร์รูทของไดรฟ์ข้อมูลในพาร์ติชัน HFS +

วิธีแรก

หมายเหตุ: ที่นี่ rEFInd ยังคงถูกใช้งานอยู่ แต่ไม่สามารถใช้แทน Startup Manager คุณจะสามารถใช้รหัสผ่านเฟิร์มแวร์ได้ ที่จริงแล้วไม่มีเมนู rEFInd แสดงอยู่ ตัวจัดการการบู๊ต rEFInd เพิ่งบูทด้วงเงียบ (บูท Ubuntu)

  1. ดาวน์โหลด rEFInd จากเว็บไซต์ SourceForgeนี้ ฉันถือว่าไฟล์ที่ดาวน์โหลดนั้นมีชื่อว่าrefind-bin-0.11.2.zipและไฟล์นี้ถูกดาวน์โหลดไปยัง~/Downloadsโฟลเดอร์ของคุณ
  2. สร้างพาร์ติชัน HFS + ใหม่ มีคำแนะนำในหัวข้อ "การเพิ่มพาร์ติชัน HFS +"
  3. เมาท์พาร์ติชัน HFS + ใหม่โดยป้อนคำสั่งต่อไปนี้

    sudo  diskutil  mount  disk0s3
    

    HFS + Ubuntuใหม่พาร์ทิชันจะมีชื่อไดรฟ์

  4. ติดตั้ง rEFInd ลงในไดรฟ์ข้อมูลบนพาร์ติชัน HFS + ใหม่

    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.confไฟล์เพื่อบูตด้วงเงียบ ๆ (ซึ่งจะเป็นการบูตระหว่าง 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.cfgและปริมาณใหม่ที่ชื่อว่าgrubx64.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.cfgUbuntu

การเพิ่มไอคอนที่กำหนดเอง

ขั้นตอนด้านล่างจะเพิ่มไอคอน Ubuntu ต่อไปนี้ลงในเมนูเริ่มต้น

os_ubuntu.png

  1. ดาวน์โหลดคอลเลกชันของไอคอนจาก SourceForge เว็บไซต์ว่ายน้ำ Mac
  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. ป้อนคำสั่งด้านล่างในหน้าต่างแอปพลิเคชันเทอร์มินัล จะสร้างไดรฟ์ข้อมูล "Mac OS Extended" ชื่อ "Ubuntu" ในพาร์ติชันใหม่

    sudo  diskutil  apfs  resizeContainer  disk0s2  242300M  HFS+  Ubuntu  200M
    
  2. รับ UUID สำหรับโวลุ่มที่มีชื่อว่า "Ubuntu" โดยป้อนคำสั่งด้านล่าง

     diskutil info Ubuntu | grep "Volume UUID"
    

    ผลลัพธ์ควรคล้ายกับที่แสดงด้านล่าง

       Volume UUID:              795F14D2-ED1F-3CA0-A004-BD0A27000DC8
    
  3. ถัดไปป้องกันไม่ให้ชื่อไดรฟ์ใหม่ "Ubuntu" ติดตั้งอัตโนมัติโดยป้อนคำสั่งต่อไปนี้ ทดแทน 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

kouwei32: เป็นเรื่องที่ดีเมื่อมีคนสามารถยืนยันขั้นตอนของฉัน ฉันเพิ่มคำสั่งเพื่อเปลี่ยนการอนุญาตเพื่อให้สามารถใช้แอปพลิเคชัน TextEdit ได้ และใช่nanoเป็นตัวแทนที่ดี
— David Anderson

@DavidAnderson ขอบคุณมาก! นี่เป็นกุญแจสำคัญในการมีระบบปฏิบัติการทั้งสามระบบในการบูทระบบ หากไม่มีพาร์ติชัน EFS ที่ 2 จะสามารถบูตได้ที่ [macOS หรือ Ubuntu] หรือ [Ubuntu หรือ Windows ผ่าน GRUB] ขึ้นอยู่กับวิธีการตั้งค่าไฮบริด MBR และเลือกว่าจะซ่อนพาร์ติชัน APFS หลักหรือไม่ คุณรู้ไหมว่าทำไมเป็นเช่นนี้ แม้ว่า rEFInd จะไม่มีอินสแตนซ์เดียวที่ 3 OS สามารถบู๊ตได้ ... จนกว่าฉันจะเพิ่มพาร์ติชัน EFS ตัวที่สองและทำตามขั้นตอนในวิธีแรก
— igordcard

@igordcard: ฉันทำการแก้ไขบางอย่างหลังจากอ่านความคิดเห็นของคุณ หมายเหตุ: ตั้งแต่ฉันโพสต์คำตอบนี้อูบุนตูก็ไม่บู๊ตด้วยวิธีเดียวกันอีกต่อไป ดังนั้นคำตอบของฉันอาจไม่ทำงานหากคุณใช้ Ubuntu 18 เครื่องที่สร้างในปี 2560 ไม่มีไบออสอีกต่อไปดังนั้นจึงไม่จำเป็นต้องใช้ไฮบริด MBR ในความเป็นจริง MBR แบบไฮบริดจะป้องกันไม่ให้ Windows บูตเครื่อง ฉันไม่แน่ใจว่าคุณหมายถึงอะไรโดย "ซ่อนพาร์ทิชัน APFS หลัก"
— David Anderson

@igordcard: Intel Macs ได้รับการออกแบบให้บูตทั้ง OS X, macOS หรือ Windows แต่เฟิร์มยังช่วยให้การบูตระบบปฏิบัติการหากมีการติดตั้งไฟล์บูตระบบปฏิบัติการโดยใช้รายละเอียดในส่วน3.5.1.1 Removable Media Boot Behaviorในหน้า 91 ของUnified Extensible Firmware Interface (UEFI) สเปก สำหรับ Intel Macs สื่อจะต้องถอดออกได้
— David Anderson

1

คำตอบเดิม

คำตอบที่สองของฉันแตกต่างจากคำตอบนี้ด้วยวิธีต่อไปนี้

  • ในคำตอบที่สองพาร์ติชัน EFI ที่สองจะถูกแทนที่ด้วยพาร์ติชัน HFS + พาร์ติชันประเภทนี้ง่ายต่อการสร้างและแก้ไข
  • ในคำตอบที่สองฉลากที่แสดงในตัวจัดการการเริ่มต้นจะเป็น "Ubuntu" แทนที่จะเป็น "EFI Boot" ทั่วไป

ฉันจะถือว่าสิ่งต่อไปนี้:

  • คุณได้ติดตั้ง Ubuntu เพื่อใช้วิธีการบูตของ EFI
  • คุณกำลังใช้ด้วงเพื่อบู๊ต Ubuntu
  • รองเท้าด้วงจากพาร์ติชัน EFI
  • มีพาร์ติชัน EFI เดียวเท่านั้น
  • พาร์ติชัน EFI เป็นพาร์ติชันแรกบนดิสก์
  • มีดิสก์เพียงดิสก์เดียวที่เกี่ยวข้องและดิสก์นั้นเป็นดิสก์ภายใน
  • ติดตั้ง rEFInd ในพาร์ติชัน EFI

ฉันจะให้สองวิธีในการแก้ปัญหาของคุณ แต่ละคนมีข้อดีข้อเสีย

Mac Startup Manager จะแสดงระบบปฏิบัติการหากคุณวางไฟล์. fei ไว้ในตำแหน่งที่ถูกต้อง ตำแหน่งที่ตั้งนี้เป็นEFI/bootโฟลเดอร์ของไดรฟ์ข้อมูลในพาร์ติชัน EFI bootx64.efiชื่อไฟล์ต้องเป็น นอกจากนี้คุณสามารถปรับแต่งไอคอนที่แสดงสำหรับระบบปฏิบัติการโดยการวาง.VolumeIcon.icnsไฟล์ในโฟลเดอร์รูทของไดรฟ์ข้อมูลในพาร์ติชัน EFI

วิธีแรก

หมายเหตุ: ที่นี่ rEFInd ยังคงถูกใช้งานอยู่ แต่ไม่สามารถใช้แทน Startup Manager คุณจะสามารถใช้รหัสผ่านเฟิร์มแวร์ได้ ที่จริงแล้วไม่มีเมนู rEFInd แสดงอยู่ ตัวจัดการการบู๊ต rEFInd เพิ่งบูทด้วงเงียบ (บูท Ubuntu)

  1. ดาวน์โหลด rEFInd จากเว็บไซต์ SourceForgeนี้ ฉันถือว่าไฟล์ที่ดาวน์โหลดนั้นมีชื่อว่าrefund-bin-0.11.2.zipและไฟล์นี้ถูกดาวน์โหลดไปยัง~/Downloadsโฟลเดอร์ของคุณ
  2. สร้างพาร์ติชัน EFI ใหม่ มีคำแนะนำในหัวข้อ "การเพิ่มพาร์ติชัน EFI"
  3. ดาวน์โหลดซอฟต์แวร์ rEFInd Boot Manager จากเว็บไซต์ SourceForgeนี้
  4. ติดตั้ง rEFInd ลงในไดรฟ์ข้อมูลบนพาร์ติชัน EFI ใหม่

    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.confไฟล์เพื่อบูตด้วงเงียบ ๆ (ซึ่งจะเป็นการบูตระหว่าง 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 ดั้งเดิมและใหม่โดยการป้อนคำสั่งต่อไปนี้

    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.cfgและปริมาณใหม่ที่ชื่อว่าgrubx64.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.cfgEFI2

การเพิ่มไอคอนที่กำหนดเอง

ขั้นตอนด้านล่างจะเพิ่มไอคอน Ubuntu ต่อไปนี้ลงในเมนูเริ่มต้น

os_ubuntu.png

  1. ดาวน์โหลดคอลเลกชันของไอคอนจาก SourceForge เว็บไซต์ว่ายน้ำ Mac
  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

หากคุณต้องการให้ฉันขยายใด ๆ ของขั้นตอนข้างต้นแจ้งให้เราทราบ


น่าเสียดายที่โซลูชันแรกไม่ใช่โซลูชันที่ฉันต้องการและโซลูชันที่สองไม่ทำงานเลย
— kouwei32

โซลูชันที่สองนั้นขึ้นอยู่กับโซลูชันที่ผ่านการพิสูจน์แล้วที่ฉันโพสต์ไว้ ผู้ใช้รายอื่นหลายรายใช้โซลูชันนี้สำเร็จ ดูที่นี่และ ที่นี่
— David Anderson

1
บางทีฉันอาจให้รายละเอียดไม่เพียงพอ ตัวอย่างเช่นในกรณีของคุณคุณจะต้องสร้างพาร์ติชัน EFI ใหม่ นี่ไม่ใช่พาร์ติชันที่ฟอร์แมตแบบ FAT32 ปกติ นี้จะต้องเป็นพาร์ติชัน EFI ที่ GUID ใน GPT C12A7328-F81F-11D2-BA4B-00A0C93EC93Bเป็น
— David Anderson

ฉันมีพาร์ติชัน EFI อยู่แล้ว พยายาม 3 ครั้งและไม่มีประโยชน์
— kouwei32

คุณสามารถมีพาร์ติชัน EFI ได้มากเท่าที่คุณต้องการ ในกรณีของคุณ Windows ใช้โฟลเดอร์ EFI / boot ในพาร์ติชัน EFI ของคุณอยู่แล้ว นี่คือเหตุผลที่คุณต้องการพาร์ติชัน EFI ที่สอง
— David Anderson
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.