คำถาม rEFInd: ลบรายการบูตหลายรายการหรือไม่


11

เพิ่งติดตั้ง Ubuntu บนไดรฟ์แยกต่างหาก (ไม่ได้แบ่งพาร์ติชันด้วยระบบปฏิบัติการอื่น) รวมถึง rEFInd บน Mac Pro ของฉัน ฉันจัดการเพื่อให้ทุกอย่างเริ่มต้นอย่างถูกต้องและสามารถบู๊ตไปยังสถานที่ใดก็ได้จาก rEFInd โดยไม่มีปัญหา ปัญหาคือฉันมี 3 รายการพิเศษที่โหลดในตัวจัดการการบูตที่ฉันต้องการกำจัด ฉันค้นหาคำตอบแล้วและดูเหมือนว่าจะไม่มีอะไรทำงาน นอกเหนือจาก OS X, Windows 7 และ Ubuntu Grubx64 ของฉัน (สิ่งที่หมายถึง) ฉันมีรายการต่อไปนี้:

boot \ vmlinuz-3.11.0-18-generic.efi.signed
boot \ vmlinuz-3.11.0-15-generic.efi.signed
Boot Legacy OS จากดิสก์ไดรฟ์ทั้งหมด

ฉันเห็นผู้คนพูดว่า "ลองดู" และพวกเขาก็ให้วิธีโดยไม่บอกทิศทางว่าจะทำอย่างไร ใครบางคนสามารถให้คำแนะนำง่ายๆในการซ่อนสิ่งเหล่านี้ได้ไหม

คำตอบ:


7

มีหลายวิธีในการทำสิ่งที่คุณต้องการ แต่ก่อนอื่นให้ทำความเข้าใจว่าคุณมีสามรายการ (หรืออาจสี่) ที่บูต Ubuntu ในรูปแบบที่แตกต่างกัน:

  • grubx64.efiเปิดตัวรายการด้วงซึ่งในการเปิดตัวเปิดเคอร์เนล (และอาจมีเมนูของตัวเองสำหรับการบูตสิ่งอื่น ๆ ขึ้นอยู่กับวิธีการที่จะกำหนดค่า)
  • boot\vmlinuz-3.11.0-18-generic.efi.signedรายการเปิดตัวเคอร์เนล 3.11.0-18 ทั่วไปโดยไม่ต้องใช้ด้วง (มันบูทผ่านตัวโหลดสตับ EFIซึ่งสร้างไว้ในเคอร์เนลเอง)
  • boot\vmlinuz-3.11.0-15-generic.efi.signedรายการเปิดตัวเคอร์เนล 3.11.0-15 ทั่วไป - เคอร์เนลเก่ากว่าหนึ่งก่อนหน้านี้
  • ตัวเลือก "Boot Legacy OS ... " อาจเปิดตัว GRUB เวอร์ชั่นโหมด BIOS - คุณไม่ได้อธิบายว่าจะเกิดอะไรขึ้นเมื่อคุณเลือกตัวเลือกนั้นดังนั้นจึงไม่ชัดเจนว่าจะทำเช่นนี้หรือมีประโยชน์เลย

ไม่ว่าในกรณีใดความแตกต่างที่ยิ่งใหญ่ของที่นี่คือระหว่าง GRUB และ EFI stub loader ในกรณีส่วนใหญ่ทั้งสองวิธีในการบูทลีนุกซ์ทำงานได้ดีเท่า ๆ กัน แต่บางครั้งก็ใช้งานได้ดีกว่าอีกวิธีหนึ่ง โดยส่วนตัวแล้วฉันไม่ชอบด้วง; IMHO มันบวมและซับซ้อนโดยไม่จำเป็น นอกจากนี้ยังเป็นขั้นตอนพิเศษในเส้นทางการบูตของคุณเนื่องจากคุณอาจต้องใช้ rEFInd เพื่อจัดการการบูตสามครั้งบน Mac OTOH, GRUB เป็นวิธีมาตรฐานในการบูตอูบุนตู โปรดทราบว่าแม้ว่า GRUB จะมีเพียงหนึ่งรายการใน rEFInd แต่เมนูของตัวเอง (หากคุณตั้งให้ปรากฏ) อาจช่วยให้คุณสามารถบูตเคอร์เนล Linux ทั้งสองแบบที่ rEFInd อนุญาตให้คุณบูตได้โดยตรง

โดยส่วนตัวแล้วฉันจะเก็บรายการทั้งสามไว้ (ด้วงและเมล็ดทั้งสอง) อย่างน้อยถ้าพวกเขาทำงานทั้งหมด เหตุผลก็คือพวกเขามีตัวเลือกมากมายให้คุณบูตคอมพิวเตอร์ของคุณ หากล้มเหลวคุณจะมีคนอื่นเป็นทางเลือก โปรดทราบว่าการเลือกเคอร์เนลของคุณมีแนวโน้มที่จะเพิ่มขึ้นเมื่อคุณอัพเกรดระบบของคุณและเมล็ดใหม่จะถูกปล่อยออกมา คุณสามารถเก็บรายการไว้ที่สองหรือสามโดยใช้sudo apt-get autoremoveเมื่อรายการเติบโตเกินขีด จำกัด นั้น

หากคุณต้องการลบรายการคุณมีหลายตัวเลือกซึ่งส่วนใหญ่เกี่ยวข้องกับการแก้ไขrefind.conf(ซึ่งอาจอยู่ใน/boot/efi/EFI/refindLinux):

  • เพิ่มชื่อไฟล์ (s) dont_scan_filesคุณต้องการที่จะหลีกเลี่ยงที่จะสแกน โปรดทราบว่าการซ่อนเมล็ดในลักษณะนี้จะไม่มีประสิทธิภาพเนื่องจากคุณจะต้องอัปเดตรายการเมื่อมีการติดตั้งเมล็ดใหม่ นี่อาจเป็นวิธีที่ดีในการซ่อนด้วง
  • เพิ่มไดเรกทอรี / dont_scan_dirsโอบอุ้มที่ตักบูตที่ไม่พึงประสงค์จะอธิบายให้ (ตัวอย่างเช่นbootเพื่อลบเคอร์เนล Linux หรือEFI/ubuntuเพื่อลบ GRUB)
  • dont_scan_volumesเพิ่มชื่อไดรฟ์ข้อมูลที่เกี่ยวข้องกับการตักบูตที่ไม่พึงประสงค์ โปรดทราบว่านี่เป็นdont_scan_*ตัวเลือกเดียวที่ทำงานกับตัวเลือกการบูต BIOS / CSM / แบบดั้งเดิม เพิ่มชุดย่อยของชื่อที่เกี่ยวข้องเพื่อบล็อกรายการนั้น
  • การปิดใช้งานทุกตัวเลือกการบูตดิสก์ BIOS / CSM / มรดก uncomment scanforและให้แน่ใจว่าhdbiosเป็นไม่ได้อยู่ในตัวเลือก นี่อาจเป็นสิ่งที่ไม่พึงประสงค์ในกรณีของคุณเนื่องจากคุณบอกว่าคุณกำลังบูท Windows 7 และมักจะบู๊ตใน BIOS / CSM / โหมดดั้งเดิม หากคุณพยายามติดตั้ง Windows ในโหมด EFI นี่อาจเป็นตัวเลือกที่ดี
  • ในการลบทั้งตัวเลือกเคอร์เนลและตัวเลือกเคอร์เนลในอนาคตทั้งหมดคุณสามารถลบไดรเวอร์ระบบไฟล์ EFI สำหรับระบบไฟล์ Linux ของคุณจากไดเรกทอรีย่อยdrivers(หรือdrivers_x64หรือdrivers_ia32ขึ้นอยู่กับสถาปัตยกรรมของคุณ) ของEFI/refindไดเรกทอรีใน ESP ของคุณ สิ่งนี้จะทำให้ rEFInd ไม่สามารถค้นหาเคอร์เนล Linux ดังนั้นตัวเลือกเหล่านั้นจะหายไป ด้วงไม่พึ่งพาไดรเวอร์เหล่านี้ดังนั้นมันจะทำงานต่อไป
  • ตัวเลือก BIOS / CSM / แบบดั้งเดิมจะปรากฏเฉพาะเมื่อ rEFInd คิดว่าตรวจพบรหัสการบูตบน MBR ของดิสก์หรือในพาร์ติชัน จากคำอธิบายของตัวเลือก "Boot Legacy OS ... " ของคุณ rEFInd อาจพบรหัสบูตใน MBR (ข้อบกพร่องใน rEFInd รุ่นล่าสุดทำให้เกิดการระบุตำแหน่งโดยไม่ได้ตั้งใจดังนั้นหากคุณไม่ได้ใช้เวอร์ชั่น 0.8.7 การระบุนั้นอาจไม่ถูกต้อง) การเช็ดรหัสการบูตสามารถลบรายการออกจากเมนูของ rEFInd วิธีนี้เป็นอันตรายแม้ว่า ฉันแนะนำให้ลองใช้เฉพาะเมื่อคุณเข้าใจวิธีการทำอยู่แล้วซึ่งเป็นสาเหตุที่ฉันตั้งใจไม่ให้คำแนะนำที่ชัดเจนเกี่ยวกับการทำเช่นนั้น - ฉันสามารถเขียนคำตอบทั้งหมดเกี่ยวกับวิธีการทำงานนี้และมันอาจจะไม่สมบูรณ์

refind.confตัวเลือกจะมีการอธิบายในรายละเอียดในการแสดงความคิดเห็นภายในrefind.confและในการกำหนดค่า refind หน้าเอกสาร


สวยมากจากไดเรกทอรีบูตฉันสามารถย้ายเมล็ดที่ไม่ต้องการไปยังไดเรกทอรีใหม่ซึ่งลบออกจากหน้าจอตัวจัดการการบูตอย่างปลอดภัย หากฉันมีปัญหาในอนาคตฉันสามารถดึงไดรฟ์ระบบปฏิบัติการอื่น ๆ ของฉันได้ซึ่งจะทำให้เกิดการบายพาสไปยังตัวจัดการการบูตและเปิดตัว Ubuntu โดยตรง ตอนนี้เป็นเพียงการหา "Boot Legacy OS" ซึ่งเปิดออกเพียงแค่เปิดตัว boot camp และพาฉันไปที่ windows 7 ด้วย ขอบคุณสำหรับความช่วยเหลือในเรื่องนี้ มันเป็นประสบการณ์การเรียนรู้ที่สนุกทีเดียว
whitecrow1

1
คุณไม่ควรย้ายไฟล์เคอร์เนลของคุณ! ด้วงอาศัยพวกเขาอยู่ที่ไหนเช่นกัน! คุณอาจหนีไปได้ในบางสถานการณ์ แต่ที่ดีที่สุดนั่นคือการกระทำที่เสี่ยงมาก !
Rod Smith

0

แก้ไขง่าย

ในเมนูrEFInd bootloaderคุณสามารถซ่อนรายการส่วนเกินโดยเลือกรายการพิเศษด้วยปุ่มลูกศรในแป้นพิมพ์แล้วกดปุ่มDelete ! ข้อความยืนยันจะปรากฏขึ้น ... เมื่อเลือกใช่รายการจะถูกซ่อนและ bootloader ของคุณก็พร้อมใช้งาน !!

ไชโย!


1
สนุกกับความจริง: คำตอบอื่น ๆ เขียนโดยนักพัฒนาของ rEFind
หินอ่อนออร์แกนิค

ถามเขาว่าฉันผิดหรือเปล่าเพราะฉันแก้ปัญหาด้วยวิธีนี้
Soujatya Sarkar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.