การแก้ไขถาวรโดยใช้ USB ที่สามารถบู๊ตได้นั้นมีข้อบกพร่อง
เวอร์ชั่นสั้น
TL; DR; เพราะเมื่อคุณรู้ว่าคุณกำลังทำอะไร:
ในboot:
พรอมต์หลังจากที่คุณพบข้อผิดพลาดด้านบนให้พิมพ์live
และกดEnter
เพื่อเริ่มเซสชัน Live USB
เปิดเทอร์มินัล (เช่นด้วยCtrl+Alt+t
) และพิมพ์แต่ละบรรทัดคำสั่งด้านล่างทีละ:
sudo -i
apt-get update
apt-get install syslinux
mount | grep cdrom
คำสั่งสุดท้ายข้างต้นแสดงให้คุณเห็นว่าอุปกรณ์ใดที่เชื่อมต่อกับ USB ที่สามารถบูตได้ของคุณ
สิ่งสำคัญ! แทนที่/dev/sdb1
คำสั่งด้านล่างในเทอร์มินัลด้วยอุปกรณ์ในผลลัพธ์ของคำสั่งสุดท้ายข้างต้น:
syslinux /dev/sdb1
รีบูตและสนุก!
รุ่นยาว
ข้อผิดพลาดนี้เกิดขึ้นเนื่องจากคุณใช้การแจกจ่ายกับsyslinux
แพ็คเกจรุ่นก่อนหน้าเพื่อสร้าง USB ที่สามารถบูตได้ของการแจกจ่ายซึ่งคาดว่าจะเป็นรุ่นที่ใหม่กว่า (ขอบคุณAmir Ali Akbariสำหรับลิงก์ข้อผิดพลาด)
ข้อผิดพลาดนี้ก็เกิดขึ้นเช่นกันหากคุณกำลังใช้งาน Ubuntu 14.04 เพื่อสร้างแท่ง USB ที่สามารถบูตได้สำหรับทุกสิ่งจาก Ubuntu 15.04 ขึ้นไป
วิธีแก้ปัญหาที่ระบุโดยFilip SohajekในคำตอบของLucioแน่นอน แต่เมื่อพิจารณาถึงบันทึกประจำรุ่นของ Utopic ที่ฉันลิงค์ไว้ด้านบนและวิธีแก้ปัญหาดังกล่าวเพื่อใช้รุ่น Ubuntu เดียวกันกับอิมเมจสำหรับบูตเพื่อสร้างอิมเมจสำหรับบูต เป็นไปได้ในการแก้ไขปัญหาอย่างถาวรจากภายในซีดีอยู่:
บู๊ตติด USB ที่สามารถบู๊ตได้จนกว่าคุณจะได้รับข้อความแสดงข้อผิดพลาด:
Unknown keyword in configuration file: gfxboot.c32: not a COM32R image
boot:
ที่boot:
พรอมต์ให้พิมพ์live
และกด Enter (ไม่จำเป็นต้องกด TAB เนื่องจากจะทำหน้าที่เฉพาะเพื่อแสดงตัวเลือกที่คุณมีรวมถึงlive
)
เมื่อคุณอยู่ในเซสชัน Ubuntu สดให้กำหนดค่าเพื่อให้คุณสามารถเข้าถึงอินเทอร์เน็ต (เช่นโดยเชื่อมต่อกับเครือข่าย WiFi )
เปิดหน้าต่างเทอร์มินัล (เช่นกดCtrl+Alt+T
) และพิมพ์ลำดับของคำสั่งต่อไปนี้ทีละตัว (พูดว่า "ใช่" เพื่อแจ้งยืนยันใด ๆ ):
sudo -i
apt-get update
apt-get install syslinux
วิธีแรกให้สิทธิ์เข้าถึงรูทและสองอันสุดท้ายติดตั้งsyslinux
แพ็คเกจใหม่ที่คุณต้องแก้ไข USB ที่สามารถบู๊ตได้ ดังนั้นตอนนี้คุณต้องคิดให้ชัดเจนว่าคุณกำลังแก้ไขอะไรอยู่นั่นคือชื่ออุปกรณ์ที่เชื่อมต่อ USB ที่สามารถบูตได้ของคุณ
ในหน้าต่างเทอร์มินัลด้านบนพิมพ์
mount | grep cdrom
คุณควรเห็นผลลัพธ์เช่น
/dev/sdb1 on /cdrom type vfat (... lots of irrelevant mount flags ...)
ส่วนที่สำคัญที่สุดคือ "คำแรก" ด้านบน โดยปกติจะเป็น/dev/sdb1
แต่อาจเป็นอย่างอื่นหากคุณมีดิสก์ที่ต่อกับเครื่องของคุณ
หรือคุณสามารถเรียกใช้gparted
คำสั่งจากส่วนต่อประสานผู้ใช้และดูดิสก์เพื่อดูว่าอุปกรณ์ใดเชื่อมต่ออยู่/cdrom
ตอนนี้พิมพ์คำสั่งด้านล่างในหน้าต่างเทอร์มินัลระวังอย่างมากที่จะแทนที่/dev/sdb1
ด้วยอุปกรณ์ที่คุณได้รับจากคำสั่งก่อนหน้า:
syslinux /dev/sdb1
คำสั่งสุดท้ายด้านบนจะเขียนทับเวอร์ชันก่อนหน้าของsyslinux
บูตเซกเตอร์ของพาร์ติชันอุปกรณ์ USB ที่สามารถบู๊ตได้ของคุณด้วยเวอร์ชันที่ถูกต้องซึ่งตรงกับการกระจายตัว
แค่นั้นแหละ! ตอนนี้เริ่มต้นใหม่และคุณควรจะสามารถผ่านโฟลว์ GUI ปกติของ Live USB ได้
แน่นอนถ้าคุณมีสื่อ Ubuntu ที่สามารถบู๊ตได้ซึ่งไม่มีตัวเลือกการประเมินเช่นสื่อการติดตั้ง Ubuntu Server คุณไม่สามารถใช้มันเพื่อแก้ไขตัวเองได้ แต่คุณสามารถใช้เวอร์ชันเดสก์ท็อปเพื่อแก้ไขเวอร์ชันเซิร์ฟเวอร์ด้วย คำแนะนำข้างต้น เพียงเสียบสื่อรุ่นของเซิร์ฟเวอร์เข้ากับ usb หลังจากบูตเวอร์ชันเดสก์ท็อปแล้วและใช้อุปกรณ์สำหรับรุ่นเซิร์ฟเวอร์แทน/dev/sdb1
ข้างต้น