จะควบคุมบูท OS Grub จากระยะไกลได้อย่างไร?


10

พิจารณาการตั้งค่าดูอัลบูตต่อไปนี้:

  • ติดตั้งด้วงไว้ที่ /dev/sda
  • /dev/sda1 ติดตั้งเป็น /boot
  • /dev/sda6 ติดตั้งเป็น /
  • ติดตั้ง Windows 10 แล้ว /dev/sdb2

Grub เลือก Ubuntu ตามค่าเริ่มต้นเมื่อบู๊ตและฉันสามารถล็อกอินจากระยะไกลผ่าน SSH ได้ นอกจากนี้ยังเป็นไปได้ที่จะเลือก Windows เมื่อ Grub เริ่มทำงานและฉันสามารถล็อกอินจากระยะไกลผ่าน RDP ได้

ปัญหาคือฉันไม่มีทางเลือกระบบปฏิบัติการที่จะบู๊ตเมื่อฉันไม่ได้อยู่ในปัจจุบัน

คำถามนี้อธิบายวิธีการให้ Grub ทำการบูตระบบปฏิบัติการที่เลือกล่าสุดโดยอัตโนมัติ แต่นี้จะไม่ทำงาน หากฉันเลือก Windows ฉันไม่มีวิธีรีสตาร์ทพีซีจากระยะไกลและบูต Ubuntu

มีวิธีการควบคุมระบบปฏิบัติการจากระยะไกลหรือไม่?


@ Takkat จากฝั่ง Windows ใช่มั้ย (ฉันสามารถใช้ Windows และมีโปรแกรมหรือสคริปต์บางอย่างสั่งให้ Grub บู๊ต Ubuntu ได้หรือไม่)
Nathan Osman

@ Takkat โอ้ฉันเห็นสิ่งที่คุณพูด ... ที่อาจทำงานได้
นาธานออสมัน

คุณคิดเกี่ยวกับการบูตด้วย PXE หรือไม่? จากนั้นคุณสามารถปล่อยให้การกำหนดค่าการเริ่มระบบของคุณบนเซิร์ฟเวอร์อื่นซึ่งคุณสามารถเข้าถึงได้ตลอดเวลาและปรับให้เหมาะสมจากนั้นรีบูตเครื่องอื่นเพื่อเริ่มระบบปฏิบัติการที่ระบุ?
Ziazis

คำตอบ:


11

เราสามารถรีบูตด้วงรายการบูตเมนูที่กำหนดโดยใช้ด้วงรีบูต สิ่งนี้สามารถทำได้จากเซสชันระยะไกลเช่นผ่าน SSH

ในการบูตเข้าสู่ระบบปฏิบัติการอื่นให้เลือกตำแหน่งที่จะแสดงในเมนูด้วงเริ่มต้นจาก0:

sudo grub-reboot <num>

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

ในกรณีนี้ของ Windows 4ของฉันอยู่บนตำแหน่ง ดังนั้นเมื่อออก

sudo grub-reboot 4 && sudo reboot

เครื่องจะรีบูตเป็น Windows หลังจากหมดเวลาที่เรากำหนดไว้ในการตั้งค่า Grub

หลังจากรีบูตจาก Windows เครื่องจะบู๊ตเข้าสู่ระบบปฏิบัติการเริ่มต้น สิ่งนี้สามารถนิยามได้ด้วย

sudo grub-set-default <num>

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

การรีบูท Windows จาก Windows ไปอย่างน่าเสียดายไม่สามารถทำได้


3

ความคิดอื่นต้องขอบคุณคำตอบของ takkat :

  1. บูตเริ่มต้นคือ Ubuntu
  2. grub-reboot NNรายการบูต Windows อยู่ที่ไหน
  3. การเริ่มระบบ Windows ใหม่จะทำให้คุณกลับมาใช้การบูตเริ่มต้น: Ubuntu

ข้อเสีย : ในการรีบูท Windows คุณต้องรีบูทสองครั้ง: รีบูท Windows ปล่อยให้บูต Ubuntu grub-reboot Nอีกครั้ง! :-(


คิดเพิ่มเติมโปรด :)
AB

1

คุณสามารถตั้งค่าระบบปฏิบัติการเริ่มต้นด้วยด้วงขึ้นอยู่กับเวลาดูที่GRUB สามารถตั้งเวลาได้หรือไม่? ซึ่งหมายความว่า: เปลี่ยน 'รายการ' เริ่มต้น (ล็อกอินอัตโนมัติ) ตามช่วงเวลาที่กำหนดโดยอัตโนมัติหรือไม่ . ตัวอย่างเช่นคุณสามารถกำหนดค่า grub ให้บูตกับ Windows เมื่อ $ MINUTE เป็นเลขคี่และบูตไปยัง Linux เมื่อ $ MINUTE เท่ากับ

insmod datehook
if [ $MINUTE -eq 0 -o $MINUTE -eq 2  -o $MINUTE -eq 4 -o $MINUTE -eq 6 -o $MINUTE -eq 8]; then
    set default="Ubuntu"
else
    set default="Windows"
fi

หากคุณต้องการระบบปฏิบัติการเฉพาะ รอจนกว่าจะถึงเวลา

การใช้วิธีนี้ควรคำนึงถึงเวลาที่ใช้ในการเข้าถึง Grub การใช้กรอบเวลา 5 นาทีน่าเชื่อถือมากขึ้น


ฉันคิดว่ามันเป็นไปได้ที่จะสลับกันระหว่างรายการบูต สิ่งที่ต้องการ :

if [ $default = "Ubuntu" ]; then
  set default="Windows"
else
  set default="Ubuntu"
fi

เมื่อ grub ได้รับการกำหนดค่าให้จดจำระบบปฏิบัติการล่าสุดที่บูตแล้ว ( จะรับ grub2 เพื่อจำตัวเลือกสุดท้ายได้อย่างไร )

หากพีซีของคุณไม่ได้บูตเข้าสู่ระบบปฏิบัติการที่คุณต้องการเพียงรีบูต

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