ฉันจะกำหนดค่าด้วงสำหรับการบูตเคอร์เนลลินุกซ์จากฮาร์ดไดรฟ์ USB ได้อย่างไร


17

ฉันมีฮาร์ดไดรฟ์แล็ปท็อปในกล่องหุ้มภายนอกซึ่งฉันใช้เป็น pendrive ขนาดใหญ่ สำหรับเรื่องที่เพิ่มขึ้นฉันได้ติดตั้งลินุกซ์ไว้แล้วดังนั้นฉันสามารถบูตเครื่องที่มีตัวเลือกมากมาย (เช่นสำหรับการกู้คืนข้อมูลหรือซ่อมแซมระบบ b0rked หรือเพียงแค่ใช้แล็ปท็อปที่ยืมมาโดยไม่ทำลาย Windows ที่ติดตั้งไว้ล่วงหน้า) ปัญหาคือขึ้นอยู่กับการกำหนดค่าฮาร์ดแวร์ฮาร์ดไดรฟ์ USB อาจมองเห็นได้ภายใต้เส้นทางที่แตกต่างกัน สำหรับการตั้งค่าด้วงฉันใช้(hda0,0)เพราะมันสัมพันธ์กับอุปกรณ์ที่ด้วงเปิดตัว ฉันมีรายการ UUID /etc/fstabใน ฉันยังระบุrootwaitในพารามิเตอร์เคอร์เนลเพื่อรอระบบย่อย USB ที่จะปักหลักก่อนที่จะเมานต์อุปกรณ์

สิ่งที่ฉันควรผ่านไปยังเคอร์เนลเป็นroot=อย่างไร ปัจจุบันทำการบู๊ตจาก pendrive หนึ่งครั้งตรวจสอบข้อความดีบั๊กเพื่อดูว่า/dev/sdXอุปกรณ์ใดได้รับมอบหมายให้เคอร์เนลไดรฟ์ USB จากนั้นรีบู๊ตและแก้ไขการกำหนดค่าด้วง ฉันไม่สามารถเปลี่ยนแปลงอะไรบนพีซีนอกเหนือจากการเปิดใช้งานBoot from USB hard driveBIOS และตั้งค่าเป็นลำดับความสำคัญสูงกว่าฮาร์ดไดรฟ์ภายใน

มีสคริปต์การสร้าง initrd ต่างๆซึ่งรวมถึงการสนับสนุน UUID ในเส้นทางอุปกรณ์รูท แต่น่าเสียดายที่ Gentoo native one (genkernel) ไม่รองรับrootwaitและฉันโชคไม่ดีที่จะลองใช้งานอื่น

กระบวนการบู๊ตเป็นไปตามนี้ ( มันค่อนข้างคล้ายกันใน Windows ):

  1. BIOS เลือกอุปกรณ์สำหรับบู๊ตและโหลดสิ่งที่เป็น MBR (ซึ่งเกิดขึ้นกับด้วงสเตจ -1)
  2. ด้วงจะทำการตั้งค่าและไฟล์สเตจ -2 จากอุปกรณ์ที่ตั้งไว้rootโดยใช้(hd0)สำหรับอุปกรณ์ที่โหลดจาก BIOS
  3. ด้วงโหลดและเริ่มเคอร์เนล (ยังคงเป็นเลขเดิมดังนั้นฉันสามารถใช้(hd0,0)อีกครั้ง)
  4. เคอร์เนลเริ่มต้นอุปกรณ์ในตัวทั้งหมด ( rootwaitทำตอนนี้วิเศษ)
  5. เคอร์เนลเมาต์พาร์ติชันที่ส่งผ่านเป็นroot(นี่คือพารามิเตอร์เคอร์เนลไม่ใช่พารามิเตอร์ด้วง)
  6. init.dเริ่มต้นขั้นตอนการบูต userland /etc/fstabรวมทั้งสิ่งที่ติดตั้งจาก

ส่วนที่ 5 คือปัญหาที่ทำให้ฉัน

คำตอบ:


6

ฉันคิดว่าคำตอบควรจะใช้อย่างใดอย่างหนึ่งroot=LABEL=...หรือroot=UUID=...

แต่คุณระบุว่าสิ่งนี้ไม่ได้ผลสำหรับคุณ ฉันขอแนะนำให้ดูว่ามีปัญหากับการกระทำของผู้ประทับจิตของคุณหรือไม่


ฉันไม่มี initrd นั่นเป็นปัญหาทั้งหมด genkernel ไม่สนับสนุนตัวเลือก "rootwait" และอื่น ๆ ใช้ไม่ได้กับ Gentoo
skolima

2

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

ฉันคิดว่ามันเป็นเรื่องของการเลือกไดรฟ์ USB ซึ่งจะติดตั้ง GRUB เป็น bootloader ของมันแล้วเลือก distro ที่คุณต้องการบูตจากเมนู GRUB


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