क्या विभाजन संख्या के बिना mkfs करना ठीक है?


10

मेरे पास एक पेन ड्राइव और एक पार्टीशन है:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 931.5G  0 disk 
└─sda1   8:1    0 931.5G  0 part /
sdb      8:16   1   7.5G  0 disk 
└─sdb1   8:17   1   7.5G  0 part

और मैंने कमांड के साथ प्रारूपित किया है:

   # mkfs.fat -n A /dev/sdb

और यह ठीक काम करता है।

लेकिन उसके बाद, मैंने mkfs के मैन पेज को स्किम्ड कर दिया:

   mkfs is used to build a Linux filesystem on a device,  usually  a  hard
   disk  partition.   The  device argument is either the device name (e.g.
   /dev/hda1, /dev/sdb2),  or  a  regular  file  that  shall  contain  the
   filesystem.   The  size argument is the number of blocks to be used for
   the filesystem.

यह कहते हैं कि mkfsविभाजन संख्या के साथ काम करना चाहिए। और मेरी समस्या यह है कि त्रुटि के बिना मेरा ऑपरेशन शीघ्र क्यों होता है?


1
एकल विभाजन के बजाय पूरे उपकरण का उपयोग करने में कोई समस्या नहीं है। यह अधिक समझ में आता है यदि आप 3.5 G वसा और 4G ext3 / luckfs / जो भी चाहते हैं, तो आपको प्रत्येक भाग को भाग और प्रारूपित करना होगा।
आर्केहेम

1
यदि आप इसे एक डिवाइस में रखते हैं जो एक विभाजन तालिका मौजूद होने की उम्मीद करता है, तो यह आपको प्रारूपण करने के लिए कह सकता है ... आमतौर पर विभाजन तालिका रखना बेहतर होता है, भले ही इसकी सख्त आवश्यकता न हो।
फ्रॉस्ट्सचुट

1
मैन पेज कहता है कि डिवाइस आमतौर पर एक हार्ड डिस्क पार्टीशन है । एक संपूर्ण हार्ड डिस्क भी एक उपयुक्त ब्लॉक डिवाइस है।
टॉबी स्पीट

जवाबों:


10

विभाजन के बजाय संपूर्ण डिस्क पर एक फाइल सिस्टम बनाना संभव है, लेकिन असामान्य है। प्रलेखन केवल स्पष्ट रूप से विभाजन का उल्लेख करता है क्योंकि यह सबसे सामान्य मामला है (यह आमतौर पर कहता है )। आप किसी भी चीज़ पर एक फ़ाइल सिस्टम बना सकते हैं जो एक निश्चित आकार की फ़ाइल की तरह पर्याप्त रूप से कार्य करता है, अर्थात ऐसा कुछ जहाँ यदि आप किसी निश्चित स्थान पर डेटा लिखते हैं और उसी स्थान से वापस पढ़ते हैं तो आपको वही डेटा वापस मिलता है। इसमें संपूर्ण डिस्क, डिस्क विभाजन और अन्य प्रकार के ब्लॉक डिवाइस , साथ ही साथ नियमित फ़ाइलें (डिस्क चित्र) शामिल हैं।

करने के बाद mkfs.fat -n A /dev/sdb, अब आपके पास उस डिस्क पर एक विभाजन नहीं है। खबरदार कि कर्नेल अभी भी सोचता है कि डिस्क में एक विभाजन है, क्योंकि यह विभाजन तालिका को मेमोरी में कैश्ड रखता है। लेकिन आपको /dev/sdb1अब और उपयोग करने की कोशिश नहीं करनी चाहिए , क्योंकि यह अब मौजूद नहीं है; यह लिखने के /dev/sdbबाद से आपके द्वारा बनाई गई फाइलसिस्टम /dev/sdb1का एक हिस्सा भ्रष्ट हो जाएगा /dev/sdb(शुरुआत में कुछ सौ बाइट को छोड़कर सब कुछ)। partprobeविभाजन तालिका को फिर से पढ़ने के लिए कर्नेल को बताने के लिए कमांड को रूट के रूप में चलाएँ ।

एक पूरी डिस्क पर एक फाइल सिस्टम बनाते समय यह संभव नहीं है, मैं इसकी सिफारिश नहीं करता। कुछ ऑपरेटिंग सिस्टम के साथ समस्या हो सकती है (मुझे लगता है कि विंडोज का सामना करना पड़ेगा लेकिन कुछ उपकरण जैसे कैमरे नहीं हो सकते हैं), और आप अन्य विभाजन बनाने की संभावना खो देते हैं। एक विभाजन रहित फाइलसिस्टम की खूबियां भी देखें


8

यदि आप अपने डिवाइस पर एक से अधिक फाइल सिस्टम रखने का इरादा नहीं रखते हैं, तो विभाजन को प्रारूपित और स्वरूपित करने के बजाय, संपूर्ण डिवाइस पर एक फाइलसिस्टम को रखना आम तौर पर ठीक है। आपको बस सुसंगत होना पड़ेगा; चूँकि आपके फाइल सिस्टम के sdaबजाय पर रखा गया है sda1, आपको माउंट sdaभी करना sda1होगा , क्योंकि यह बिल्कुल भी मौजूद नहीं होगा।

आपके प्रश्न में डिवाइस एक FAT- स्वरूपित हटाने योग्य ड्राइव प्रतीत होता है: यदि इसका उपयोग उन एम्बेडेड उपकरणों के साथ किया जा रहा है, जिनके पास फाइल सिस्टम को कैसे माउंट किया जा सकता है, इसकी अधिक या कम विस्तृत धारणा हो सकती है, तो यह परीक्षण के लायक हो सकता है कि वे इसमें क्या कर रहे हैं तथ्य एक विभाजन तालिका के बिना पूरे डिवाइस फाइल सिस्टम का समर्थन करते हैं। (उदाहरण के लिए, कैमरे एकल विभाजन और प्रारूप बनाते हैं, यह पूरी तरह से संभव है कि वे एक विभाजन रहित मेमोरी कार्ड को अनुपयोगी घोषित करेंगे।)

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