การบูตสามครั้งบน 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.