ฉันจะได้รับ grub2 เพื่อบูตตัวเลือกอื่นในการบูตครั้งถัดไปได้อย่างไร


19

ฉันกำลังตั้งค่าเครื่อง Linux / Windows ที่ไม่มีการบูทคู่ ฉันต้องการให้เครื่องส่วนใหญ่บู๊ตกับอูบุนตูเสมอยกเว้นบางครั้งเมื่อฉันต้องทดสอบบางอย่างใน windows

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

ฉันพบGrub Legacy - ส่วน 4.3.1 - การบูทเพียงครั้งเดียวแต่ฉันใช้เซิร์ฟเวอร์ Ubuntu 14.04 ซึ่งมีด้วงรุ่นใหม่กว่า จากสิ่งที่ฉันอ่านฉันต้องทำการเปลี่ยนแปลง/etc/default/grubและใช้sudo grub-set-defaultเมื่อฉันต้องการบูตเป็น Windows

ฉันคิดว่าการเปลี่ยนแปลงเหล่านั้นเริ่มต้นด้วยการเพิ่มสิ่งนี้ใน/etc/default/grub:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=false

เมื่อใดก็ตามที่มีการเปลี่ยนแปลงเกิดขึ้นกับ/etc/default/grubฉันฉันรู้ว่าฉันจำเป็นต้องเรียกใช้แล้ว
sudo update-grubและผลลัพธ์ใน:

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.13.0-43-generic
Found initrd image: /boot/initrd.img-3.13.0-43-generic
Found linux image: /boot/vmlinuz-3.13.0-32-generic
Found initrd image: /boot/initrd.img-3.13.0-32-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda1
done

เนื่องจาก Windows เป็นตัวเลือกที่ 7 ในรายการนั้นฉันเชื่อว่าฉันจะเรียกใช้sudo grub-set-default 6(นับตาม 0) - ถูกต้องและมีวิธีอื่นในการรับรายการหมายเลขตัวเลือกการบูตหลังจากระบบบูตแล้วหรือไม่

นอกจากนี้ยังมีบรรทัด/etc/default/grubเพียงพอที่จะทำให้เกิดพฤติกรรมนี้หรือฉันต้องการเพิ่มการกำหนดค่าเพิ่มเติมหรือไม่

คำตอบ:


19

คุณต้องตรวจสอบให้แน่ใจว่าคุณมีส่วนกำหนดค่าGRUB_DEFAULT=savedด้วง (ซึ่งสร้างอัตโนมัติคุณเปลี่ยนส่วนนี้โดยแก้ไข / etc / default / grub) เพื่อให้การเปลี่ยนแปลงการใช้งานและการใช้งานแล้วsudo update-grubsudo grub-reboot $1

grep -i "menuentry '" /boot/grub/grub.cfg

จะให้เมนูที่คุณสามารถตัดแปะได้ในราคา $ 1 หรือตามที่คุณสังเกตเห็นตัวเลือกนั้นไม่มีการทำดัชนีดังนั้น n-th menuentry สามารถทำได้โดยผ่าน (n-1) เพื่อ grub-reboot

ดูเช่น

ไม่ได้ทดสอบโดยฉันเนื่องจากฉันไม่มีการติดตั้ง 'Windows 7'


ขอบคุณฉันคิดว่านี่คือสิ่งที่ฉันต้องการ (มีรายละเอียดเพิ่มเติมที่ผมพบว่าที่help.ubuntu.com/community/Grub2 )
CWD

หากคุณลองทำโดยไม่ต้องเปลี่ยนบรรทัดGRUB_DEFAULT=savedคุณต้องทำด้วยตัวเองในภายหลังเช่นอธิบายไว้ที่นี่ในวรรคสองสำหรับ Grub2แล้วgrub-set-default 0; grub-reboot 0
rubo77

1
คำสั่งเพื่อแสดงหมายเลขของรายการ:grep -i "menuentry '" /boot/grub/grub.cfg|sed -r "s|--class .*$||g"|nl -v 0
rubo77

1
เป็นต่อaskubuntu.com/questions/838704/grub-reboot-to-specific-kernel , menuentrys ภายใต้submenuใน/boot/grub/grub.cfgจะต้องถูกส่งผ่านไปเป็นgrub-reboot SUBMENU>MENUENTRYตัวอย่างเช่นการใช้ bash-fu คล้ายกับ @ rubo77's ฉันต้องการบูตmenuentry7 แต่รายการนี้อยู่ภายใต้submenuซึ่งเป็นรายการที่สองในเมนูระดับบนสุดดังนั้นฉันต้องผ่าน'1>6'แทน (อัญประกาศเดียวเพื่อหลีกเลี่ยง การตีความเชลล์>)
Trent Nelson

1
คำเตือน: วิธีนี้ใช้ไม่ได้หากคุณบูตพาร์ทิชัน BTRFS Grub จำเป็นต้องสามารถเขียนไปยัง grubenv ได้ในขณะที่บูท windows มันไม่สามารถเขียนไปยัง BTRFS ได้ โดยทั่วไปไฟล์จะถูกเก็บไว้ใน / boot / grub และสามารถดูได้ด้วย grub-editenv ฉันแก้ไขระบบของฉันโดยติดตั้ง BTRFS ใน / ซึ่งเป็นพาร์ติชัน EXT4 ใน / boot แล้วพาร์ติชัน EFI ใน / boot / efi
ธาน

-2

ลองติดตั้งgrub-customizer (คู่มือการติดตั้งด้านล่าง) ไปยังระบบ Ubuntu ของคุณ เครื่องมือ GUI นี้จะให้ชุดตัวเลือกที่ดีสำหรับคุณซึ่งคุณสามารถกำหนดการตั้งค่า GRUB ของคุณรวมถึงชื่อและคำสั่งของตัวเลือกการบูตระบบเริ่มต้นความละเอียดหน้าจอแบบอักษรพื้นหลัง ฯลฯ ...
ฉันไม่แน่ใจว่ามี ความสามารถในการกำหนดสิ่งที่คุณต้องการโดยตรง แต่อย่างน้อยก็สามารถแสดงให้คุณเห็นหมายเลขระบบปฏิบัติการ ฉันสามารถอ้างอิงพวกเขาด้วยชื่อของพวกเขาเช่นกัน

วิธีการติดตั้งเครื่องมือปรับแต่งด้วง:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

(ที่มา: launchpad - daniel richter )


ฉันเห็นเครื่องมือนั้น แต่ฉันใช้เซิร์ฟเวอร์ Ubuntu 14.04 (ไม่มี GUI) ดังนั้นฉันชอบที่จะมีโซลูชันบรรทัดคำสั่ง
cwd

โอ้ไม่รู้เรื่องนี้เลย ฉันใช้ 14.10 มาตรฐาน (Unity) และโดยส่วนตัวฉันชอบ GUIs สำหรับงานเช่นนี้ คุณรู้จักเว็บไซต์นี้หรือไม่? มันอธิบายเกี่ยวกับสิ่งที่คุณเขียนในคำถามของคุณ แต่ถ้ามันแตกต่างจากแหล่งแรกของคุณบางทีคุณอาจพบสิ่งที่คุณต้องการ
ผู้บัญชาการไบต์

-1 - ฉันกำลัง downvoting คำตอบของคุณเพราะฉันสงสัยว่าคุณอ่านคำถามทั้งหมดหรือไม่ ฉันสามารถเข้าใจได้ว่าคุณอาจพลาด 'เซิร์ฟเวอร์อูบุนตู' ในนั้น แต่คุณเพิ่งโพสต์ลิงก์เดียวกับที่ฉันรวมไว้ในคำถามของฉันในความคิดเห็นล่าสุดของคุณ ...
cwd

อุ่ย แต่คุณคิดว่าทุกครั้งที่ฉันเขียนความคิดเห็นหรือคำตอบใหม่ฉันอ่านคำถามทั้งหมดและโพสต์ก่อนหน้าตรวจสอบทุกลิงก์! นอกจากนี้คุณยังสามารถติดตั้ง DE บนเซิร์ฟเวอร์ distros! ฉันยอมรับว่าฉันยังไม่มีความเชี่ยวชาญ (อย่างน้อย) แต่อย่างน้อยฉันก็พยายามช่วยเหลือผู้อื่นในที่ที่ทำได้แม้ว่าคำตอบจะไม่ถูกต้องหรือมีประโยชน์ 100% คุณควรจะดีใจที่มีคนพยายามช่วยคุณแก้ปัญหานี้ แต่ถ้าคุณต้องการฉี่ฉันออกไปคุณก็ประสบความสำเร็จ สิ่งสุดท้ายที่คุณพูดถึงGRUB_SAVEDEFAULT=falseแต่ฉันหามันไม่เจอในลิงค์ของเรา และคุณลืมสายอื่น ๆ ที่กล่าวถึงที่นั่น!
ผู้บัญชาการ Byte
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.