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.