ทำไม dd ไม่ใช่คำสั่งที่เชื่อถือได้ในการเขียนไฟล์. iso ที่สามารถบู๊ตได้ไปยัง USB thumb drive?


19

หนึ่งคำตอบที่นี่แสดงว่า Ubuntu .isoไม่คาดหวังให้บูตหากคัดลอกddไปยังไดรฟ์หัวแม่มือ USB

ทำไมดิสทริบิวชั่นลีนุกซ์บางตัวจึงมีตัวเลือกให้เขียน.isoไฟล์ที่สามารถบู๊ตได้โดยตรงไปยังธัมบ์ไดรฟ์ddโดยตรง แต่อย่างอื่น (อูบุนตู)?

ในอูบุนตูฉันคิดว่ามันต้องถูกแปลงเป็น.imgอันดับแรก มันเป็นเรื่องจริงเหรอ?

มันมีความแตกต่างทางสถาปัตยกรรม.isoบ้างไหม? หรือเป็นเพราะข้อ จำกัด ของddตัวเอง?

ฉันไม่ทราบว่าเป็นหัวข้อที่นี่หรือไม่ ฉันสามารถย้ายไปยังที่ที่เหมาะสมได้มากกว่าถ้าชุมชนคิดเช่นนั้นหรือแนะนำ คำอธิบายบางอย่างจะได้รับการชื่นชม


1
ที่เคยเป็นกรณีที่มี ISO ISO ของ Ubuntu แต่ ณ 11.10 พวกเขาเข้ากันได้กับ dd เพื่อที่จะพูด
เล็ก ๆ น้อย ๆ

@ Mikewhething ขอบคุณสำหรับข้อมูล 11.04 isoแต่น่าเสียดายที่ผมพยายามที่จะทำอย่างนั้นด้วย
Samik

คำตอบ:


32

ด้วย Ubuntu 12.04 คุณสามารถddใช้ไฟล์. iso บนดิสก์เพื่อสร้างดิสก์ที่สามารถบู๊ตได้ ใช้งานได้กับ isos บางตัวเท่านั้น (รวมถึง Ubuntu 12.04 แต่ไม่ใช่ Ubuntu รุ่นก่อนหน้า) เนื่องจากการบูตจากซีดีและการบูตจากดิสก์นั้นแตกต่างกันไปตามระบบที่ใช้ BIOS

เหนือสิ่งอื่นใดสำหรับฮาร์ดไดรฟ์ที่สามารถบู๊ตได้จะต้องมีรหัสบูตในเซกเตอร์แรกสำหรับซีดีที่สามารถบู๊ตได้จะต้องมีรหัสบูต " ที่เซกเตอร์ 11 (17 ทศนิยม) ในเซสชั่นสุดท้ายของซีดี " เปคเอลโทริโต้ ตั้งแต่รหัสบูตอย่างน้อยส่วนเริ่มต้นที่โหลดโดย BIOS จะถูกเก็บไว้ในสถานที่ต่าง ๆ สำหรับซีดีและฮาร์ดไดรฟ์อิมเมจของดิสก์สามารถมีรหัสบูตในทั้งสองสถานที่เพื่อให้ bootloader ถูกโหลดหากอิมเมจบูตแบบฮาร์ด ไดรฟ์หรือเป็นซีดี

ไฟล์ iso ส่วนใหญ่นั้นออกแบบมาเพื่อให้สามารถบู๊ตได้ในรูปแบบซีดีเท่านั้นดังนั้นจึงไม่มีรหัสสำหรับบูตในส่วนแรกของภาพและฮาร์ดไดรฟ์ที่มีภาพดังกล่าวจะไม่มีรหัสสำหรับบูตในภาคแรกและจะไม่ ที่สามารถบูตได้


นั่นคือคำอธิบายที่ฉันกำลังมองหา ขอบคุณที่สละเวลาอธิบาย มันคงจะดีกว่านี้ถ้าเห็นลิงค์บางอย่าง แต่ตอบคำถามแล้ว นั่นคือสิ่งที่ UNetbootin ทำคัดลอก bootloader code จากส่วนที่ 17 ไปยังส่วนแรกของ thumb drive ใช่ไหม?
Samik

3
ไม่มันไม่ง่ายอย่างการคัดลอกรหัสสำหรับบูต แม้ว่ามันจะเป็นไปได้ แต่มันก็จำเป็นต้องเช็ดอุปกรณ์ทั้งหมด (เช่นการใช้ dd ทำ) ซึ่งจะไม่เป็นที่ยอมรับสำหรับผู้ใช้ส่วนใหญ่ของ Unetbootin Unetbootin แทน "ดาวน์โหลดและแยกไฟล์ ISO ไปยังไดรฟ์ USB ของคุณสร้างไฟล์กำหนดค่า syslinux ที่เหมาะสมและทำให้ไดรฟ์ USB สามารถบูตได้โดยใช้ syslinux" unetbootin.sourceforge.net/#faq
Jordan Uggla

+1 สำหรับข้อมูลจำเพาะ El Torito และขอขอบคุณสำหรับคำอธิบายข้างต้น :)
Samik

0

ปัจจุบัน ISO ของ Ubuntu นั้น ddสามารถใช้งานได้และได้ใช้มาระยะหนึ่งแล้ว พวกเขาเป็น ISO "ไฮบริด": พวกเขามีบูตเซกเตอร์ MBR การใช้ddอย่างถูกต้องจะสร้างไดรฟ์ USB ที่สามารถบู๊ตได้อย่างสมบูรณ์

บทความที่อ้างถึง btw มีเพียงหนึ่งคำตอบที่อ้างว่า Ubuntu ISO ไม่สามารถใช้งานได้ddและสิ่งนี้ไม่เป็นความจริง

โปรดดูคำตอบของฉันที่นี่: วิธีการแปลง iso9660 ISO เป็น USB ISO

คำตอบนี้ให้วิธีการตรวจสอบว่า iso เป็นแบบไฮบริด (คุณสามารถตรวจสอบนี้สำหรับ Ubuntu ISOs), วิธีการไฮบริดมันถ้ามันไม่ (สำหรับกรณีอื่น ๆ ), และวิธีการใช้อย่างถูกต้องddเพื่อสร้างไดรฟ์บูต


-3

หมายเหตุที่ไม่มีการเปลี่ยนแปลงเกี่ยวกับวิธีแก้ไขปัญหาที่ยอมรับแล้วข้างต้น

คำถามถูกโพสต์ว่าเชื่อถือได้, iso สามารถบูตได้และใช้ dd

ในกรณีส่วนใหญ่ผู้ใช้ linux ใช้วลี iso เพื่อหมายถึงภาพพิเศษของแผ่นดิสก์ออปติคัล สามารถบูตได้ในกรณีนั้นอาจเป็นหนึ่งในไม่กี่วิธีที่ไบออสหรือ uefi เข้าใจและอนุญาตให้เรียกใช้จากดิสก์แสง

โดยทั่วไปถือว่ามีความน่าเชื่อถือ แต่อาจล้มเหลวได้ด้วยเหตุผลหลายประการในตัวของมันเองและไม่มีส่วนเกี่ยวข้องกับแหล่งที่มาหรือเอาต์พุต ในกรณีส่วนใหญ่ดูเหมือนว่าจะล้มเหลวเพียงเพราะไม่ได้ถามว่า "คุณแน่ใจหรือไม่ว่าต้องการลบออก"

คอมพิวเตอร์สมัยใหม่มักดู usb เป็นฮาร์ดไดรฟ์ภายในจริง

หนึ่งสามารถใช้เครื่องมือเช่น 7z ยังคัดลอกผ่าน iso ของบางส่วนไปยังแฟลชไดรฟ์ fat32

ทั้งหมดนี้ถือว่าเป็นฮาร์ดแวร์ที่ทันสมัยและแฟลชไดรฟ์ usb ที่ทันสมัย

ในอนาคตเราจะต้องสร้างสื่อสำหรับบูต uefi ในกรณีส่วนใหญ่

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