कैसे / क्यों बिल्ली एक उपकरण के लिए एक बूट करने योग्य आईएसओ लिखता है


15

मुझे हाल ही में पता चला है कि मैं बस cat(या dd) का उपयोग करके आईएसओ फ़ाइल से बूट करने योग्य USB कुंजी बना सकता हूं ।

मुझे इस बारे में कोई जानकारी नहीं मिली कि यह कैसे काम करता है। क्यों होता:

cat my.iso > /dev/sdb && sync

उस फ़ाइल को लें और उसमें मौजूद सभी फाइलों को बूट करने योग्य प्रारूप में, एक डिवाइस पर लिखें?


मैंने कभी सोचा नहीं है कि 19US में liveUSBscatdd
Rob

3
यह "पूंछ", लाइव टोर इमेज के निर्देशों में था। मैंने थोड़ी गुगली की (यहाँ पूछने से पहले) और ऐसा लगता है कि dd था जो लोग इस तरह की चीज़ के लिए इस्तेमाल करते थे, लेकिन बिल्ली अब पसंदीदा उपकरण लगती है। मुझे लगता है कि यह आसान है क्योंकि आपको इनपुट / आउटपुट विवरण के लिए नामित मापदंडों को निर्दिष्ट करने की आवश्यकता नहीं है।

जवाबों:


14

एक आईएसओ फ़ाइल एक पूर्ण, स्वरूपित फाइल सिस्टम छवि है। सब catया ddकरता है कि आपके लक्ष्य मीडिया के लिए उस फाइल सिस्टम छवि की एक बिट के लिए बिट प्रतिलिपि है।

पर्दे के पीछे कोई जादू चल रहा है। आईएसओ फाइलसिस्टम तैयारी पहले से (अक्सर एक विशेष उपकरण द्वारा) की गई थी। सभी catलिखता है कि बाइट्स का संग्रह है। यह बिल्कुल भी व्याख्या नहीं करता है .iso, और न ही यह समझता है कि यह एक बूट करने योग्य हटाने योग्य माध्यम बनाने की कोशिश कर रहा है।
यह कर्नेल और डिवाइस ड्राइवर से writeउस मीडिया पर काम करने के लिए उचित समर्थन की आवश्यकता है । थोड़ा सा "जादू" वहाँ चला जाता है, क्योंकि लिखने योग्य ऑप्टिकल मीडिया बिल्कुल पारंपरिक हार्ड ड्राइव के समान नहीं संचालित होता है। लेकिन उस जादू में ISO फ़ाइल की सामग्री की व्याख्या करना शामिल नहीं है।

आप .isoलूप माउंट (यदि ऐसा आपके ओएस पर उपलब्ध है) का उपयोग करके फ़ाइल को बिना जलाए सीधे माउंट कर सकते हैं । इसी तरह, आप एक फ़ाइल बना सकते हैं जिसमें उदाहरण के लिए एक ext4फ़ाइल सिस्टम शामिल है, और आप catएक विभाजन के लिए ऐसा कर सकते हैं ।


1
और फिर बस यह सुनिश्चित करें कि डेटा ने वास्तव में आपको विभाजन के लिए लिखा है (केवल बफर के बजाय)
yuyichao

@yuyichao सिंक को कवर करना चाहिए, है ना? संपादित करें: मुझे एहसास हुआ कि मैंने 6 साल पुरानी टिप्पणी पर जवाब दिया था
मांचाइनल

5

यह काम करता है क्योंकि आईएसओ छवि के साथ संसाधित किया गया था isohybrid, जो सामान्य छवि में एक सामान्य syslinux बूट लोडर स्थापित करता है। यह संभव है क्योंकि iso9660 आम तौर पर छवि के पहले कुछ क्षेत्रों का उपयोग नहीं करता है, इसलिए अधिक या कम सामान्य हार्ड डिस्क बूट लोडर को वहां रखा जा सकता है। जब एक ऑप्टिकल डिस्क को जलाया जाता है, तो इसे नजरअंदाज कर दिया जाता है और बायोस पारंपरिक एल टोरिटो सीडीरॉम बूट विधि का उपयोग करके डिस्क को बूट करता है। जब छवि को फ्लैश ड्राइव पर रखा जाता है, तो सिस्लिनक्स बूट सेक्टर लोड होता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.