bootloader ควรติดตั้งที่ไหนเมื่อฉันต้องการเรียกใช้ Ubuntu จาก HDD ภายนอก


9

ฉันมีแล็ปท็อปที่ใช้ windows 10 และฉันต้องการติดตั้ง Ubuntu บน HDD ภายนอกและเมื่อใดก็ตามที่ฉันต้องการฉันก็แค่เสียบมันและบูตจากไดรฟ์ภายนอก

ฉันได้ติดตามการกวดวิชาจริงสองและทั้งสองบอกว่า bootloader จะต้องติดตั้งบน HDD ภายนอก นี่เป็นผลให้ฉันสามารถเข้าถึง Windows ได้เมื่อฉันเสียบ HDD ภายนอกเท่านั้นเมื่อใดก็ตามที่ฉันไม่ได้เสียบปลั๊กไว้ในแล็ปท็อปจะไม่สามารถบู๊ตได้และฉันจะได้รับหน้าจอสีดำที่มีเส้นสีขาว หลังจากแก้ไขมาสเตอร์บูตเรกคอร์ดแล้วฉันก็สามารถเข้าถึงหน้าต่างได้

ตอนนี้ฉันต้องการลองอีกครั้ง แต่ฉันกลัวว่าถ้าฉันติดตั้ง bootloader ในไดรฟ์ภายในที่ฉันอาจลบพาร์ทิชัน windows ของฉันหรือฉันจะมีปัญหากับการบูตของฉัน

แล้วฉันควรทำยังไงดี?


ข้อผิดพลาดที่เป็นไปได้และวิธีแก้ปัญหาที่bugs.launchpad.net/ubuntu/+bug/1835639
Bellera

คำตอบ:


10

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

  • BIOS - นี่เป็นวิธีการบูตแบบเก่าซึ่งใช้กับคอมพิวเตอร์ส่วนใหญ่ที่เปิดตัวก่อนปี 2554 คอมพิวเตอร์สมัยใหม่รองรับการบูทโหมด BIOS ผ่านคุณสมบัติที่เรียกว่า Compatibility Support Module (CSM) หรือที่เรียกว่า "การรองรับการบู๊ตโหมดดั้งเดิม" หรือ คำที่คล้ายกัน ดังนั้นวิธีการนี้สามารถอ้างถึงโดยสามชื่อ: BIOS, CSM หรือมรดก มันเกี่ยวข้องกับรหัสโหลดเดอร์สำหรับบูต 16 บิตที่แยกใน Master Boot Record (MBR) และที่อื่น ๆ มันเป็นวิธีการบู๊ตที่ไม่เหมาะสม แต่เป็นผู้ใหญ่และเว็บไซต์ส่วนใหญ่ที่ไม่ได้กล่าวถึงโหมดการบูตอย่างชัดเจนอธิบายถึงการบูทโหมด BIOS อย่างไรก็ตามหากคอมพิวเตอร์ของคุณมาพร้อมกับ Windows 8 หรือใหม่กว่ามีโอกาสที่จะไม่ใช้วิธีการบูตนี้
  • EFI / UEFI - นี่คือโหมดการบูตแบบเนทีฟสำหรับคอมพิวเตอร์ส่วนใหญ่ที่เปิดตัวตั้งแต่กลางปี ​​2011 และมันแตกต่างจากการบูตในโหมด BIOS ดังนั้นคุณควรเพิกเฉยต่อคำแนะนำใด ๆ ที่ระบุไว้อย่างชัดเจนสำหรับการบูทโหมด BIOS ไม่ได้พูดถึงโหมดการบู๊ต (เนื่องจากมีแนวโน้มว่าจะเก่าหรือเขียนโดยคนที่ไม่ทราบความแตกต่าง) หนึ่งข้อยกเว้น: ผู้คนจำนวนมากและผู้ผลิตคอมพิวเตอร์ต่างก็อ้างถึง EFIs ว่า "BIOSes" การฝึกฝนนี้สร้างความสับสนอย่างมาก

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

ในการบูตดิสก์ภายในในโหมด EFI โดยทั่วไประบบปฏิบัติการจะเก็บบูตโหลดเดอร์เป็นไฟล์บนEFI System Partition (ESP)บนดิสก์ ชื่อไฟล์นี้สามารถเป็นอะไรก็ได้ตามกฎหมาย แต่สำหรับอูบุนตูมันจะเป็นซึ่งในการเปิดตัวเปิดEFI/ubuntu/shimx64.efi EFI/ubuntu/grubx64.efiตัวติดตั้งระบบปฏิบัติการลงทะเบียนชื่อของตัวโหลดการบูตด้วยตัวจัดการการบูตในตัวของ EFI ซึ่งเก็บชื่อนั้นไว้ใน NVRAM หาก EFI ทำงานได้อย่างถูกต้อง (ไม่ได้ทำทั้งหมด) นี่จะส่งผลให้กระบวนการบูตทำงานได้

ปัญหาเกี่ยวกับกระบวนการนี้ซึ่งนำไปใช้กับดิสก์แบบถอดได้คือสามเท่า:

  • เครื่องมือติดตั้ง Ubuntu จะติดตั้ง GRUB ไปที่ "the" ESP - แต่คุณอาจมี ESP หลายอัน (เกือบจะแน่นอนหนึ่งในฮาร์ดดิสก์และอาจเป็นหนึ่งในไดรฟ์ USB) การควบคุมตำแหน่งที่ติดตั้ง GRUB อาจเป็นเรื่องยุ่งยาก มันไม่ได้ทำโดยใช้ตัวเลือกที่มีชื่อชัดเจนเกี่ยวกับสถานที่ที่จะติดตั้งด้วง แต่สามารถทำได้ (AFAIK) จากตัวเลือกการติดตั้ง "Something Else" เท่านั้นโดยทำเครื่องหมาย ESP ที่คุณต้องการใช้เป็น "EFI boot partition" หรือ "EFI System Partition" (ชื่อใดขึ้นอยู่กับรุ่น Ubuntu)
  • หากคุณติดตั้ง GRUB ลงใน ESP บนไดรฟ์ USB จากนั้นเมื่อคุณถอดไดรฟ์ USB ออก EFI อาจสังเกตเห็นว่ามีรายการบูตโหลดเดอร์ที่ลงทะเบียนแล้วซึ่งไม่ถูกต้องและลบรายการนั้น EFIs จำนวนมากทำสิ่งนี้และหมายความว่าถ้าคุณติดตั้ง GRUB ลงในดิสก์ภายนอกแล้วถอดออกคุณจะสูญเสียความสามารถในการบูตจากดิสก์นั้นแม้ว่าคุณจะเสียบดิสก์กลับเข้าไปก็ตาม
  • วิธีที่อูบุนตูตั้งค่า GRUB เป็นสาเหตุให้พึ่งพาไฟล์กำหนดค่าที่อยู่ใน/boot/grubไดเรกทอรีUbuntu ซึ่งไม่น่าจะเป็นบน ESP ดังนั้นหาก Ubuntu ติดตั้ง GRUB ลงใน ESP บนดิสก์ภายในของคุณคุณจะหลีกเลี่ยงปัญหาแรก แต่จะพบปัญหาอื่นเนื่องจากเมื่อคุณเริ่มการเชื่อมต่อกับไดรฟ์ USB GRUB จะเปิดใช้งานและไม่พบไฟล์การกำหนดค่า ผลลัพธ์คือgrub>พรอมต์ที่จะทำให้ผู้ใช้ส่วนใหญ่ประหลาดใจ

มีวิธีแก้ไขปัญหาเหล่านี้จำนวนมากรวมไปถึง:

  • คู่มือการติดตั้งของด้วงชื่อไฟล์สำรองบนดิสก์ภายนอก - บูตระบบปฏิบัติการติดตั้งโดยใช้ชื่อไฟล์สำรองEFI/BOOT/bootx64.efiของ หากคุณคัดลอก Shim (ซึ่งเปิดตัว GRUB) ไปยังชื่อไฟล์นี้ (โดยการคัดลอกEFI/ubuntuไปที่EFI/BOOTบน ESP จากนั้นเปลี่ยนชื่อshimx64.efiเป็นbootx64.efiในEFI/BOOT) เฟิร์มแวร์ของคุณจะสามารถเรียกใช้ GRUB ที่ใช้ USB ได้เช่นเดียวกับที่ติดตั้ง Ubuntu สิ่งนี้จะทำงานได้ผ่านปัญหาทั้งสองอย่างที่ฉันเพิ่งระบุ แต่คุณจะต้องใช้ตัวจัดการการบูตในตัวของคอมพิวเตอร์เพื่อเลือกระบบปฏิบัติการที่จะบูต ตัวจัดการการบูตในตัวนี้มีตั้งแต่ไม่สามารถใช้งานได้จนถึงยอมรับได้ดังนั้นอาจเป็นวิธีแก้ปัญหาที่ยอมรับได้หรือไม่ก็ได้ คุณอาจต้องปรับแต่งลำดับการบูตหลังจากติดตั้ง Ubuntu เพื่อป้องกันไม่ให้ GRUB เรียกใช้จาก ESP ของดิสก์ภายในหรือ ESP ของดิสก์ภายนอกตามค่าเริ่มต้น
  • ใส่/bootพาร์ติชันบนดิสก์ภายในของคุณ - หากคุณติดตั้ง GRUB ลงในดิสก์ภายในคุณสามารถใส่/bootพาร์ติชันบนดิสก์ภายในได้ สิ่งนี้จะทำให้ GRUB สามารถทำงานได้ตามปกติในบูททั้งหมด อย่างไรก็ตามตัวเลือก Ubuntu จะปรากฏตลอดเวลาแม้เมื่อถอดปลั๊ก USB แล้ว สิ่งนี้อาจไม่เป็นที่น่าพอใจโดยเฉพาะหาก Ubuntu เป็นค่าเริ่มต้น นอกจากนี้โซลูชันนี้ยังหมายความว่าไดรฟ์ USB ภายนอกของคุณจะสามารถบูตได้บนคอมพิวเตอร์ที่คุณเตรียมไว้เท่านั้น หากคุณต้องการใช้ดิสก์นั้นบนคอมพิวเตอร์เครื่องอื่นคุณควรหลีกเลี่ยงวิธีนี้
  • ใช้จัดการการบูตอย่างชาญฉลาด - บูตผู้จัดการช่วยให้คุณเลือกระบบปฏิบัติการที่จะบูตขณะที่บูตรถตักดินโหลดเคอร์เนลในหน่วยความจำ GRUB ทำงานทั้งสองอย่างและตัวจัดการการบูตในตัวของ EFI ทำงานเพียงงานแรกเท่านั้น มีตัวจัดการการบูตอื่น ๆ ให้ใช้ซึ่งบางตัวอาจช่วยคุณหลีกเลี่ยงปัญหาที่ฉันพบ ตัวอย่างเช่นrEFIndของฉันเองหากติดตั้งลงใน ESP ของดิสก์ภายในและสร้างโปรแกรมบูตเริ่มต้นจะตรวจจับและนำเสนอตัวเลือก Ubuntu ถ้าหากมี GRUB หรือเคอร์เนล Linux อยู่นั่นคือเมื่อเสียบไดรฟ์ USB ในโดยตั้งค่าdefault_selectionตัวเลือกในrefind.confคุณสามารถกำหนดค่า rEFInd ให้บูต Ubuntu โดยอัตโนมัติหากเสียบปลั๊ก USB USB ของคุณและบูตตรงไปที่ Windows หากไม่ได้เสียบปลั๊ก USB Ubuntu ไว้คำตอบของคำถามนี้ให้รายละเอียดเพิ่มเติมเกี่ยวกับการกำหนดค่าประเภทนี้แม้ว่า Mac มากกว่าพีซี

โชคดีหนึ่งในวิธีการเหล่านี้จะช่วยให้คุณเริ่มต้นใช้งานได้


0
  1. Boot Ubuntu Live USB / CD
  2. เสียบ HDD ภายนอกของคุณเข้า
  3. ติดตั้ง Ubuntu ที่ External HDD (ขั้นสูงเพื่อให้คุณสามารถตั้งค่าที่ควรติดตั้งบูตโหลด)
  4. กำหนดค่าไบออสเพื่อบู๊ตจากฮาร์ดดิสก์ภายนอกของคุณ

นี่เป็นโซลูชันที่ใช้ BIOS ซึ่งทำงานได้ไม่ถูกต้องกับคอมพิวเตอร์ที่ใช้ EFI ส่วนใหญ่
Rod Smith

0

คุณต้องติดตั้ง bootloader ไม่ว่าจะใช้ UEFI / BIOS ของคุณในการบู๊ตก็ตาม คุณสามารถเปลี่ยนไดรฟ์นี้ในการตั้งค่า BIOS ซึ่งคุณมักจะสามารถเข้าถึงได้โดยการกดสิ่งที่ชอบF10, F12หรือDelทันทีหลังจากที่เปิดเครื่องคอมพิวเตอร์ ดังนั้นในขั้นตอนแรกคุณสามารถลองตั้งค่าเครื่องของคุณให้บู๊ตจากไดรฟ์ภายนอกแทนที่จะเป็นไดรฟ์ภายใน หาก bootloader ได้รับการติดตั้งอย่างถูกต้องบนไดรฟ์ภายนอกสิ่งนี้จะทำงาน

สำหรับการใช้งานทั่วไปในชีวิตประจำวันคุณอาจต้องการบูตจากไดรฟ์เดียวกันเสมอเพื่อความสะดวกดังนั้นคุณจึงต้องการติดตั้ง bootloader ไปยังไดรฟ์ภายในของคุณ อย่างไรก็ตามก่อนที่จะทำเช่นนี้คุณควรทำการสำรองข้อมูลโดยควรเป็นอิมเมจดิสก์แบบเต็มของไดรฟ์ภายในที่ใช้งานได้ หากคุณพบปัญหาหลังจากติดตั้ง Ubuntu ข้าง Windows เครื่องมือซ่อมแซมการบูตอาจช่วยได้


ฉันเปลี่ยนลำดับการบู๊ตเพื่อบู๊ตจาก USB ก่อน HDD ภายในแล้ว ดังนั้นฉันคิดว่าฉันติดตั้ง Ubuntu บน HDD ภายนอกและติดตั้ง bootloader ใน HDD ภายนอกที่ฉันสามารถทำได้ แต่เหมือนฉันบูตจาก usb stick ใช่มั้ย
กัปตัน

ขออภัยฉันไม่แน่ใจว่าสิ่งที่คุณถาม คุณควรจะสามารถ 1) ติดตั้ง bootloader บนไดรฟ์ภายนอก 2) ถอดไดรฟ์ USB และ 3) ตั้งค่า BIOS ของคุณให้บูตจากไดรฟ์ภายนอกจากนั้นบูตเข้าสู่ Ubuntu บนไดรฟ์ภายนอก
Ben

@ แคปปิตัลไรท์ อย่างที่ฉันบอกว่ามันจะได้ผล
Izzno

0

ฉันจะติดตั้งบูตโหลดเดอร์ในอุปกรณ์ภายนอก! วิธีนี้ไม่มีโอกาสที่การติดตั้ง windows ของคุณจะเสียหายหรือลบ bootloader เป็นเรื่องง่ายที่จะตั้งค่า BIOS ให้บูต:

USB-Key
USB-Disk
HDD
etc 
etc

NB: ทำให้แน่ใจว่าคุณปิดการใช้งานที่ปลอดภัย (ถ้าคุณพบตัวเลือกที่)

วิธีนี้ถ้าคุณตัดการเชื่อมต่ออุปกรณ์ภายนอกด้วยเหตุผลบางอย่างมันจะไม่เกิดปัญหากับคอมพิวเตอร์ของคุณ

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

(Btw ฉันจะไม่แนะนำการติดตั้งประเภทนี้อีกครั้งสำหรับการใช้งานแบบถาวรเนื่องจากจะช้ากว่า eSATA)


Ubuntu รองรับ Secure Boot แม้ว่าจะมีความเข้ากันไม่ได้เป็นครั้งคราว แต่ก็หายากดังนั้นจึงไม่จำเป็นต้องยุ่งกับการตั้งค่านั้น ภายใต้ EFI การตั้งค่าลำดับการบู๊ตมักจะซับซ้อนกว่าที่คุณอธิบายซึ่งทั้งดีและไม่ดี - มีตัวเลือกเพิ่มเติมและการควบคุมที่ละเอียดยิ่งขึ้น แต่นั่นหมายความว่ามีอะไรเพิ่มเติมให้เรียนรู้และวิธีแก้ปัญหาที่เรียนรู้ง่ายในโลกไบออสไม่น่าจะใช้ได้
Rod Smith

ฉันไม่ทราบว่าอูบุนตูสามารถ "โพส" เป็นหน้าต่างตัวเลือก Secure Boot BIOS ทั้งหมดที่ฉันเคยเห็นโดยเฉพาะระบุว่ามันปิดการใช้งานความสามารถทั้งหมดเพื่อเปลี่ยนลำดับการบูตอย่างถาวรและหรือระบบปฏิบัติการ
Izzno

Ubuntu ไม่ "ทำท่าเหมือน" เป็น Windows Secure Boot เพียงแค่ต้องใช้โปรแกรม EFI เพื่อลงนามโดยไพรเวตคีย์ซึ่งคีย์สาธารณะที่ลงทะเบียนกับเฟิร์มแวร์ Microsoft ลงนามคีย์สำหรับบุคคลที่สามรวมถึง Shim binary ของ Canonical ทำให้สามารถเรียกใช้บนคอมพิวเตอร์ที่มีรหัสของ Microsoft ฉันไม่เคยได้ยินเกี่ยวกับการใช้ Secure Boot ที่ป้องกันการเปลี่ยนแปลงลำดับการบู๊ตแม้ว่าฉันคิดว่าผู้ขายอาจเลือกที่จะเพิ่มข้อ จำกัด นั้น ดูหน้าของฉันใน Secure Bootสำหรับข้อมูลเพิ่มเติมในหัวข้อนี้
Rod Smith
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.