ฉันจะแก้ไขรายการ bootloader Grub ของฉันได้อย่างไร (ซ่อน, เปลี่ยนชื่อ, ลบ) ควรทำด้วยตนเองโดยไม่ใช้โปรแกรม


40

โดยพื้นฐานแล้วฉันมี bootloader Grub ที่ค่อนข้างท่วมท้นด้วยรุ่นเก่าของ linux, ระบบปฏิบัติการ 3 ระบบและ memtests สิ่งที่ฉันต้องการคือออกจากระบบปฏิบัติการเท่านั้น ฉันต้องรู้วิธีการทำด้วยตนเองและฉันต้องการใครสักคนที่จะบอกฉันว่าฉันควรระวังเมื่อเคอร์เนลใหม่ออกมา ขอบคุณล่วงหน้า.

คำตอบ:


11

ใช้ grub-customizer: https://launchpad.net/grub-customizer

นี่คือ GUI ที่จะช่วยให้คุณซ่อนรายการด้วงที่ไม่ต้องการ


อันที่จริงนี่คือเครื่องมือที่ฉันเริ่มใช้และยังคงใช้งานอยู่ ให้ฟังก์ชั่นทั้งหมดที่จำเป็นแก่ฉัน เปลี่ยนเป็นคำตอบที่ดีที่สุด!
Shahe Tajiryan

Bada bing บูม Bada!
Wordsforthewise

หากฉันอยู่ในสถานการณ์ที่โชคร้ายฉันไม่สามารถบูตเข้าสู่ Ubuntu ของฉันได้ (เฉพาะที่ด้วงพูดซึ่งสันนิษฐานว่าเป็นรายการด้วง) ที่ยุ่งเหยิง) - มีบูทที่สามารถบูตได้.isoหรือไม่ฉันควรบูตจากที่นั่นไหม?
Frank Nocke

@ FrankNocke ฉันคิดว่าคุณต้องการสร้าง USB ที่สามารถบู๊ตได้และทำการกู้คืนด้วงหรืออะไรทำนองนั้น
Wordsforthewise

25

บล็อกโพสต์ที่เข้ามา GRUB2จะให้ชุดคำแนะนำแบบเป่าต่อเนื่องเกี่ยวกับวิธีแก้ไขไฟล์กำหนดค่าของ GRUB2 ด้วยตนเอง หากคุณตรวจสอบการโพสต์อื่น ๆ ในซีรีส์ (โดยการกรองใน Category = GRUB) คุณจะพบข้อมูลเกี่ยวกับการลบเมล็ดเก่าและจะเกิดอะไรขึ้นเมื่อเคอร์เนลใหม่มาถึงเป็นการอัปเดต การโพสต์รวมถึงการอ้างอิงถึงเว็บไซต์ที่เกี่ยวข้องจำนวนหนึ่ง


18

แทนที่จะแก้ไขไฟล์ด้วงโดยตรงคุณควรล้างเมล็ดที่คุณไม่ต้องการ

เริ่มด้วยสิ่งนี้:

dpkg -l | grep linux-image

update-grubสคริปต์ก็ทำให้รายการสำหรับทุกอย่างที่พบใน/bootเท่าที่ผมทราบดังนั้นการลบเก่าลินุกซ์ภาพ (และลินุกซ์ส่วนหัว) แพคเกจผ่านapt-get remove จะทำความสะอาด / boot และดังนั้นจึงทำความสะอาด config ของด้วงของคุณ

นี่เป็นวิธีที่ "เหมาะสม" ในการทำเช่นนั้นและจะไม่ต้องการการดำเนินการพิเศษใด ๆ เมื่อมีการปล่อยเมล็ดพันธุ์ใหม่ในอนาคตคุณจะต้องล้างอีกครั้งในบางจุดที่อาจเป็นไปได้ :)


3

การกำหนดค่า GRUB v2

ไฟล์กำหนดค่าเป็น /boot/grub/grub.cfg แต่คุณไม่ควรแก้ไขโดยตรง ไฟล์นี้สร้างขึ้นโดย update-grub ของ grub v2 (8) ขึ้นอยู่กับ:

ตัวอย่างสคริปต์ใน /etc/grub.d/

ไฟล์คอนฟิกูเรชัน / etc / default / grub

ในการกำหนดค่า grub "v2" คุณควรแก้ไข / etc / default / grub จากนั้นเรียกใช้ update-grub การกำหนดค่าขั้นสูงทำได้โดยการแก้ไขตัวอย่างใน /etc/grub.d/

นำมาจากการกำหนดค่า Debian


4
ในความคิดของฉันนี่ไม่ใช่คำตอบที่เป็นประโยชน์ มันไม่มีขั้นตอนใด ๆ ในการซ่อน / เปลี่ยนชื่อ / ย้ายรายการเมนู GRUB ...
ผู้บัญชาการ Byte

3

เรียกใช้sudo update-grubในเทอร์มินัลเพื่อรวมตัวเลือกการบูต "ลืม" ไว้

หากคุณไม่ชอบบรรทัดคำสั่งคุณสามารถเปิดเทอร์มินัลรันsudo nautilusและใช้ไฟล์ explorer ของคุณเป็นรูท ;)

จากนั้นยังอยู่ในเทอร์มินัลไปที่โฟลเดอร์ที่จัดเก็บไฟล์การกำหนดค่าด้วง โดยปกติแล้วsudo cd /boot/grubควรทำตามขั้นตอนไม่เช่นนั้นจะหาไฟล์กำหนดค่าด้วงของคุณโดยค้นหาgrub.cfgและเปลี่ยนโฟลเดอร์

GUI: คลิกที่อุปกรณ์ -> คอมพิวเตอร์ -> บูต -> ด้วงหรือค้นหาอุปกรณ์ -> คอมพิวเตอร์สำหรับไฟล์

เมื่อคุณพบโฟลเดอร์และเปิดแล้วให้เรียกใช้sudo cp grub.cfg grubOldXX.cfgโดยที่ XX เป็นตัวเลขอนุกรมที่คุณเลือก

GUI: คัดลอกแปะ grub.cfg

จากนั้นเรียกใช้ sudo gedit grub.cfg

GUI: คลิกขวาgrub.cfgและเลือกแก้ไข

แก้ไขรายการที่คุณไม่ต้องการและเปลี่ยนลำดับการบูตและตัวเลือกการเริ่มต้นระบบตามที่ต้องการ (ตรงไปตรงมามากพอ) menuentryรายการทุกเมนูจะนำหน้าสะดวกด้วยคำว่า ทุกสิ่งที่ลบออกจากทุกทางขึ้นไปและรวมทั้งปีกกาปิดแรก menuentry}

บันทึกไฟล์และออกจากระบบของคุณ

สำคัญ: การล้อเล่นกับด้วงเป็นกิจกรรมที่มีความเป็นไปได้อย่างมากที่จะเกิดความผิดพลาดอย่างมหันต์ หากไฟล์การกำหนดค่าของคุณเกิดความสับสนคอมพิวเตอร์อาจไม่สามารถบู๊ตได้

มีดีวีดีที่มีอูบุนตูเป็นเวอร์ชันเสมอ (ไม่ว่าจะเป็นเวอร์ชั่นใด) คุณสามารถบูตเสมอจาก DVD หรือสื่อที่ถอดได้อื่น ๆ ของคุณในกรณีที่คุณทำงานเป็นปัญหาและเนื่องจากคุณบันทึกสำเนาของเดิมของคุณ (ที่ทำงาน) เวอร์ชั่นคุณเปลี่ยนชื่อไฟล์ของคุณซึ้งเป็นgrubOldXX.cfggrub.cfg


1

ทั้งนี้ขึ้นอยู่กับgrubรุ่นที่คุณสามารถใช้แอปพลิเค StartUpManagerเพื่อรักษาเมนูด้วงของคุณ ใช้Advancedการตั้งค่าแท็บช่วยให้การเลือก / ยกเลิกการเลือกรายการบูต Memtest / การกู้คืนและจำนวนรุ่นเคอร์เนล ด้วย grub2 " แท็บAppearanceและAdvancedมีรายการน้อยลงในปัจจุบันและSecurityแท็บนั้นไม่มีอยู่ใน Grub 2 ที่ติดตั้งอย่างสมบูรณ์" (ดูที่นี่ "Grub 2 Note")

ป้อนคำอธิบายรูปภาพที่นี่


ในขั้นสูงฉันไม่ได้รับอะไรนอกจากการตั้งค่าการเรียกคืน และสร้างฟลอปปี้กู้ภัย
Shahe Tajiryan

@ShaheTajiryan: ขอโทษฉันผิดฉันไม่ได้อ้างอิงอย่างแม่นยำ แก้ไขแล้ว ดูเหมือนว่าคุณกำลังใช้grub2งานอยู่ดังนั้นStartUpManagerจะไม่ช่วยคุณได้มากนัก
tohuwawohu

4
Start-Up Manager เป็นล้าสมัยมันถูกแทนที่ด้วยด้วง-Customizer
LovinBuntu

-1

ฉันติดตั้ง Kali บน Mac ของฉันและใช้ rEfind เป็นตัวโหลดด้วง แต่การจับด้วงผิด/dev/sdaXไปดังนั้นในที่สุดฉันได้รับ 2 ด้วงและ 1 ไม่ทำงานทำให้ฉันช่วยด้วง

หลังจากลองใช้คำสั่งทั้งหมดเพื่อลบไม่สำเร็จฉันไปที่ตัวจัดการยูทิลิตี้ของ Mac เพื่อลบbiogrubพาร์ติชันที่ไม่ทำงาน Vola ตอนนี้เหลือเพียงอันที่สามารถทำงานได้

update-grubอาจต้องไปสถานีพิมพ์


-2

ใช้ Gedit แก้ไขไฟล์อยู่ที่grub.cfg/boot/grub

ลบอันที่ไม่ทำงาน ตัวอย่างเช่นมีรายการที่สองตั้งอยู่บนพาร์ติชั่นที่แตกต่างกันและ/dev/sda3 /dev/sda4คุณจะต้องลบจากmenuentryถึง}(ซึ่งหมายถึงปิด)

จากนั้นกดบันทึกและ voila

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (loader) (on /dev/sda4)' --class windows --class os $menuentry_id_option 'osprober-chain-BABCA4EEBCA4A67B' {
    insmod part_msdos
    insmod ntfs
    set root='hd0,msdos4'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  BABCA4EEBCA4A67B
    else
      search --no-floppy --fs-uuid --set=root BABCA4EEBCA4A67B
    fi
    chainloader +1
}
menuentry 'Windows 7 (loader) (on /dev/sda3)' --class windows --class os $menuentry_id_option 'osprober-chain-BABCA4EEBCA4A67B' {
    insmod part_msdos
    insmod ntfs
    set root='hd0,msdos4'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  BABCA4EEBCA4A67B
    else
      search --no-floppy --fs-uuid --set=root BABCA4EEBCA4A67B
    fi
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###

ฉันลบ/dev/sda3หลังจากลบมันจะมีลักษณะเช่นนี้

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (loader) (on /dev/sda4)' --class windows --class os $menuentry_id_option 'osprober-chain-BABCA4EEBCA4A67B' {
    insmod part_msdos
    insmod ntfs
    set root='hd0,msdos4'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  BABCA4EEBCA4A67B
    else
      search --no-floppy --fs-uuid --set=root BABCA4EEBCA4A67B
    fi
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###

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