บูตจาก USB โดยใช้ GRUB


48

แล็ปท็อปของเพื่อนฉันประสบอุบัติเหตุทางรถยนต์ (เขาสบายดี!) อย่างไรก็ตามแล็ปท็อปนั้นเก่าแก่มากมันเป็น Acer Aspire 1520 ซึ่งเป็นไดรฟ์ CD-rom เสียและไม่มีฟลอปปี้ไดรฟ์

ฉันทำให้เขาบูตด้วย USB ก่อนที่ฉันจะดูและพบว่า BIOS ของเขาไม่สามารถบูตจาก USB ได้ เพียงสิ่งที่ฉันมีเป็นคอนโซลด้วง แต่เขาจะกระตือรือร้นที่จะเพียงแค่ติดตั้ง XP (บน USB) และใช้งานได้เพียงสำหรับภาพยนตร์

เป็นไปได้หรือไม่ที่ใช้คอนโซล GRUB เพื่อเข้าถึง USB และเริ่มการติดตั้ง windows? เป็นคำสั่งที่สูง แต่ฉันคิดว่านี่อาจเป็นวิธีหรือพยายามติดตั้งผ่าน LAN ซึ่งฉันคิดว่าไม่สามารถทำได้


1
ฉันจะพยายามหาไดรฟ์ซีดี / ดีวีดี USB และพยายามทำให้คอมพิวเตอร์บูตขึ้นมา
jmreicha

1
โพสต์นี้แสดงคำสั่งแบบแมนนวลที่จำเป็น - คุณเพียงแค่ต้องค้นหาหมายเลขไดรฟ์ซึ่งสามารถทำได้ด้วยการกรอกแท็บของ GRUB
new123456

คำตอบ:


39

นี่คือตัวอย่างด่วนของคำสั่งด้วงที่อาจใช้งานได้คำอธิบายและคำเตือนด้านล่าง

grub2

มีแนวโน้มมากที่สุดสำหรับการติดตั้งหลังปี 2010

set root=(hd1,1)
chainloader +1
boot

grub

มีแนวโน้มมากที่สุดสำหรับการติดตั้งก่อนปี 2005

root (hd1,0)
chainloader +1
boot

สำหรับรอบระยะเวลา 2005-2010 การคาดเดาของคุณดีเท่ากับของฉัน แต่ถ้าคุณใช้คำสั่งสำหรับเวอร์ชันที่ไม่ถูกต้องคุณจะได้รับข้อผิดพลาดทางไวยากรณ์ที่ไม่เป็นอันตรายในคำสั่งแรก

การเลือกรูทที่ถูกต้อง

เมื่อเริ่มต้นด้วงจะตรวจสอบอุปกรณ์ของคุณและกำหนดหมายเลขให้กับพวกเขา อุปกรณ์ทั้งหมดที่แบ่งพาร์ติชัน (ฮาร์ดดิสก์และแฟลชไดรฟ์) จะมีหมายเลขที่กำหนดด้วย (<deviceName>,<partitionIndex>)รูปแบบคือ ในgrub2ดัชนีพาร์ติชันมีการเปลี่ยนแปลงดังนั้นทั้งสองตัวอย่างข้างต้นมีผลเหมือนกันแม้จะต้องการใช้รูตต่างกัน

อุปกรณ์แรกของคุณ ( hd0) คืออุปกรณ์ด้วงที่โหลดมาจากไหน หลังจากนั้นคุณสามารถสันนิษฐานได้ว่าอุปกรณ์ภายในทั้งหมดจะมาก่อนอุปกรณ์ภายนอกของคุณ พวกเขาส่วนใหญ่จะอยู่ในรูปแบบ hdและจำนวน

หลังจากเครื่องหมายจุลภาคคือดัชนีพาร์ติชัน ฮาร์ดดิสก์และไดรฟ์นิ้วหัวแม่มือจะถูกแบ่งพาร์ติชันเกือบตลอดเวลาดังนั้นคุณต้องเลือกพาร์ติชันที่เหมาะสม ซีดีรอมมักจะไม่แบ่งพาร์ติชัน

เอกสารเพิ่มเติม: http://www.gnu.org/software/grub/manual/html_node/Device-syntax.html

เมื่อเลือกรูทพาร์ติชันของคุณคุณสามารถใช้ปุ่ม Tab เพื่อตรวจสอบชื่ออุปกรณ์และดัชนีพาร์ติชัน เพียงเปิดวงเล็บและเริ่มกด Tab เพื่อดูรายการ


5
นอกจากนี้ยังเป็นไปได้ที่จะใช้set root=(hd1)(ฯลฯ ) เพื่อบูตจากอุปกรณ์ทั้งหมดหากไม่ได้แบ่งพาร์ติชันเช่นไดรฟ์ USB ที่สามารถบู๊ตได้
white_gecko

6
เพียงเพิ่มคุณสามารถทำได้lsเพื่อดูรายการอุปกรณ์ที่เชื่อมต่อ
AntouanK

2
ฉันรู้ว่าการแลกเปลี่ยนสแต็คเป็นการขอบคุณความคิดเห็น แต่คำตอบนี้สมควรได้รับจริงๆ คุณช่วยฉันประหยัดเวลาได้มาก
John Militer

ไม่สามารถหาคำสั่งroot
Bjork หมายเลขหนึ่งแฟน

13

หากต้องการอธิบายอย่างละเอียดเกี่ยวกับความคิดเห็นของ new123456:

ควรตรวจพบอุปกรณ์ USB เป็นอุปกรณ์จัดเก็บข้อมูลขนาดใหญ่และได้รับการปฏิบัติเช่นเดียวกับฮาร์ดไดรฟ์ ดังนั้นในด้วงพิมพ์root (hd(อย่ากด Enter ยัง) จากนั้นกดแท็บหนึ่งหรือสองครั้งเพื่อดูว่าฮาร์ดไดรฟ์ใดที่ด้วงสามารถมองเห็นได้ อุปกรณ์ USB ถ้าเป็นที่รู้จักอาจจะเป็น hd1 อย่าระบุหมายเลขพาร์ติชัน เพียงเพิ่มวงเล็บปิด root (hd1)ดังนั้นสายจะเป็น จากนั้นหลังจากนั้นให้พิมพ์ดังต่อไปนี้:

chainloader +1
boot

หากวิธีนี้ใช้ไม่ได้ผลให้เปลี่ยนroot (hd1)เป็นroot (hd1,0)ลองอีกครั้ง

หากมีเหตุผลบางอย่างที่ Grub มองไม่เห็นไดรฟ์ USB ให้ลองเสียบ USB CDROM แล้วทำการบูทจากนั้น


7

chainloader +1สิ่งที่อาจจะไม่ทำงานถ้า BIOS ไม่ดีที่บูตจากคีย์ USB (ซึ่งเป็นเหตุผลที่ผมต้องการที่จะใช้ด้วงนะ)

ในกรณีนี้มีเวทมนต์ลึก ๆ ที่https://help.ubuntu.com/community/Grub2/ISOBootที่ใช้งานได้อย่างน้อยสำหรับ Ubuntu บิตที่สำคัญคือ mucking ด้วยคำสั่ง grub ที่ระบุvmlinuzไฟล์ผ่านการiso-scan/filenameโต้แย้ง อย่างใดที่ช่วยให้ทราบว่าระบบไฟล์บูตทั้งหมดติดอยู่ในไฟล์ ISO ฉันไม่รู้ว่า heck ทำงานอย่างไร แต่ใช้ได้ เหล่านี้ (โดยประมาณ) คำสั่ง Grub 2 ที่ฉันใช้:

loopback loop (fd0,msdos1)/path/to/iso/file
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/path/to/iso/file noprompt noeject
initrd (loop)/casper/initrd.lz
boot

/path/to/iso/fileควรจะเป็นเส้นทางไปยังไฟล์ ISO บน USB สำคัญที่ (fd0,msdos1)ระบุคีย์ USB ได้ แท็บเสร็จเป็นซุปเปอร์ประโยชน์บนเส้นและไม่เป็นประโยชน์สำหรับข้อโต้แย้งที่จะloopbackvmlinuz


ฉันคิดว่าฉันตั้งใจตอบคำถามนี้เพื่อตอบคำถามอื่น ฉันหวังว่าฉันจะรู้ว่าหนึ่ง!
พอล Stansifer

ในกรณีของการefi/ uefiโหมดบูตเหล่านี้คำสั่งสร้างข้อผิดพลาด:grub2 error: can't find command 'linux'เปลี่ยนคำสั่งการและlinuxefi initrdefi
Samveen

ฉันชอบแนวคิดที่นี่ บู๊ต ISO ที่มีอยู่ในแฟลชไดรฟ์ นี่จะเปลี่ยนแฟลชไดรฟ์เป็นบุฟเฟ่ต์ซีดีบูต ในตัวอย่างการทำงานเพิ่มเติมที่คุณสามารถบูตจาก CD ไม่ใช่ Flash คุณสามารถเบิร์นซีดีที่เลือกระหว่างพวกเขาหากมีปัญหาในการบูทจาก USB ใช่ไหม?
BenPen

2

สิ่งนี้จะไม่เป็นประโยชน์อย่างมากในกรณีของเพื่อนของคุณ (เว้นแต่จะมีวิธีที่ฉันไม่รู้ที่จะเสียบอุปกรณ์ในตอนแรก - อาจเป็น usb cd-rom หรือไดรฟฟลอปปี้ usb) แต่ นี่เป็นแอปพลิเคชั่นเล็ก ๆ น้อย ๆ ที่ยอดเยี่ยมซึ่งช่วยให้ฉันใช้เครื่องจักรเก่าจำนวนมากในการบู๊ตจาก usbs เมื่อไบออสของพวกเขาไม่อนุญาต

Plop Boot Manager


0

คุณไม่สามารถบูทจาก usb ในด้วงได้ถ้าไบออสไม่อนุญาต ฉันเคยต้องตั้งค่าพาร์ติชันการกู้คืนบนฮาร์ดดิสก์ที่มีเนื้อหาดิสก์การตั้งค่า win7 ติดตั้งด้วงแล้วใช้มันเพื่อบูตพาร์ติชันการติดตั้ง win7 เพื่อติดตั้งลงในฮาร์ดไดรฟ์ส่วนที่เหลือ


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