UUID और PARTUUID में क्या अंतर है?


15

मैं अपने रास्पबेरी पाई 3 बनाने के लिए रास्पबेरी पाई मंचों में प्रक्रिया का पालन किया है, एसडी कार्ड के बजाय एक USB कुंजी का उपयोग रूट फाइलसिस्टम के रूप में करता हूं, ताकि यह बिजली की हानि को और अधिक मजबूत बना सके।

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

ध्यान दें कि उद्धृत पृष्ठ संकेत देता है कि UUID ड्राइव के लिए है पार्टीशन के लिए PARTUUID है, लेकिन तब मुझे उम्मीद है कि UUID ड्राइव के सभी विभाजनों के लिए समान होगा, ऐसी बात नहीं है।


1
हाय एपीग्रामग्राम, और रास्पबेरी पाई स्टैक एक्सचेंज में आपका स्वागत है। मुझे लगता है कि आपको यह विचार करना चाहिए कि यह रास्पबेरी पाई के बारे में कोई सवाल नहीं है! यदि यह, शायद, मुख्य लिनक्स फोरम में थे, तो अधिक लोग इस प्रश्न को देखेंगे (इसका उत्तर देने के लिए और उत्तर देने के लिए दोनों का लाभ उठा सकते हैं)।
ताई वियनिक्का

@TaiViinikka, मैं इस और unix.se के बीच झिझक होने की बात स्वीकार करता हूं, लेकिन यह देखते हुए कि मैं रास्पबेरी पाई के साथ इस मुद्दे पर मिला हूं और x86 पर 23 साल के लिए डेबियन और डेबियन व्युत्पन्न वितरण के साथ काम करने के बाद मैं इस मुद्दे पर कभी नहीं मिला, जिसमें यूयूआईडी शामिल नहीं है। यह मिलना - मेरे सजगता मेरे मुद्दे के कारण का हिस्सा थे -, हालांकि, मैं रास्पबेरी पी के साथ एक रिश्ता हो सकता है।
एपीग्रामग्राम

यह काफी समझ में आता है और मुझे खुशी है कि आपको इसका जवाब मिला। मेरे [बहुत दुखी] अनुभव आपसे अलग थे; मेरे द्वारा किए गए प्रत्येक विभाजन ने UUID और PARTUUID को बेमेल कर दिया है: root @ herald: ~ # cat / proc / cpuinfo विक्रेता_id: RealIntel मॉडल का नाम: Intel (R) Atom (TM) CPU D2550 / 1.86GHz root @ herald: ~ # blkid / dev / dev sda1: LABEL = "बूट" UUID = "e92827af-6c5d-4438-b22a-8f9b3b4dc4f0" TYPE = "ext4" PARTUUU = "44e5688f-01" और इसलिए मैं विपरीत निष्कर्ष पर पहुंच गया।
ताई वियनिक्का

जवाबों:


14

UUID और PARTUUID के बीच अंतर पर

आप विकल्प को निर्दिष्ट करके UUIDऔर उसके बीच अंतर के बारे में कुछ संकेत प्राप्त कर सकते हैं ।PARTUUID-p

blkid -p /dev/sda1

या जो भी उपकरण / विभाजन आप देख रहे हैं। आपने देखा होगा कि यदि एक ही UUIDडिवाइस पर कई पार्टिशन होते हैं , तो PARTUUIDज्यादातर वही होता है जो कि विभाजन संख्या के साथ होता है।

A UUIDको अद्वितीय होने की गारंटी है। जहां तक ​​मुझे पता है, ब्रह्मांड के जीवनकाल के भीतर टकराव नहीं होगा। हालाँकि, आप ध्यान देंगे कि PARTUUIDबहुत छोटा है। ये "स्थानीय रूप से" अद्वितीय होने के लिए होते हैं, और सभी ज्ञातों के बीच टकराव की संभावना सबसे अधिक होती है PARTUUIDs

UUIDs पर

एक UUID केवल एक विशिष्ट पहचानकर्ता है। उनका उपयोग कई अलग-अलग उद्देश्यों के लिए किया जाता है। आप uuidgenफ़ंक्शन का उपयोग करके उन्हें उत्पन्न कर सकते हैं ।

UUIDs के बारे में आगे पढ़ने के लिए:

$man uuidgen 

या इंटरनेट:

uuidgen के लिए मैनपेज

कुछ और यूयूआईडी उदाहरणों का उपयोग करते हैं

$cat /etc/fstab

नए GNU / Linux सिस्टम के लिए, आपके पास सभी विभाजन और उनके UUIDs की एक सूची होगी। प्रत्येक नए विभाजन के लिए एक नया UUID उत्पन्न होता है। इसलिए, यदि किसी दिए गए ड्राइव को फिर से विभाजित किया जाता है, तो उस ड्राइव के सभी ब्लकिड UUIDs बदल जाएंगे।

UUIDs का उपयोग विभाजन के पहचानकर्ता के रूप में किया जाता है और ड्राइव को एक अलग क्रम में जोड़े या माउंट किए जाने पर भी पहचानकर्ताओं को बनाए रखना है। पहले के समय में, fstabजैसे कि पहचानकर्ता होगा /dev/sda1... यह संभवतः sda1किसी तरह का माउंट ऑर्डर बदलने पर शारीरिक रूप से अलग ड्राइव या विभाजन होने का नुकसान था।

PARTUUIDs पर

PARTUUIDs GUID विभाजन टेबल्स (GPT) का एक घटक है जो मास्टर बूट रिकॉर्ड (MBR) संबंधित डिस्क विभाजन के लिए एक प्रतिस्थापन है।

आगे पढ़ने के लिए Linux.com देखें - लिनक्स में नई GUID विभाजन तालिका का उपयोग करना

Linux.com कहता है:

GPT GUIDs (ग्लोबली यूनीक आइडेंटिफ़ायर) और हमारे परिचित लिनक्स यूयूआईडी (यूनिवर्सली यूनिक आइडेंटिफ़ायर) एक ही चीज़ नहीं हैं, हालांकि वे एक ही उपयोगी उद्देश्य की सेवा देते हैं: ब्लॉक डिवाइसेस को अद्वितीय नाम देना। लिनक्स यूयूआईडी, फाइलसिस्टम का एक कार्य है, और जब फाइलसिस्टम बनाया जाता है, तो इसे बनाया जाता है। लिनक्स यूयूआईडी को देखने के लिए सिर्फ ब्लेक कमांड को फायर करें नोट विभाजन गाइड कोड को नोट करें, और यह कैसे कहता है "माइक्रोसॉफ्ट बेसिक डेटा।" हाँ, ओले Microsoft हमेशा पार्टी-दुर्घटनाग्रस्त रहता है, क्योंकि यह एक EXT4 विभाजन है, इसलिए इसे पढ़ने के लिए विंडोज के लिए कोई रास्ता नहीं है, लेकिन इसे एक विकृत विभाजन के रूप में देखेंगे। आप इसे gdisk के वर्तमान रिलीज़ के साथ नहीं देखेंगे, क्योंकि 2011 तक कोई लिनक्स फाइल सिस्टम GUID नहीं थे। अब वहाँ हैं, इसलिए यदि आप मेरा (मिंट 13) आप जैसे पुराने लिनक्स का उपयोग नहीं कर रहे हैं

विभाजन अद्वितीय GUID वह है जो आप इस तरह fstab में उपयोग करेंगे:

PARTUUID = 8C208C30-4E8F-4096-ACF9-858959BABBAA / data ext4 उपयोगकर्ता, चूक 0 0


रहस्य गहराता है। कई ब्लॉक डिवाइसों को देखते हुए, एक डिवाइस PTUUID है और एक विभाजन के लिए एक UUID और एक PARTUUID है; डिस्क पर निर्भर करता है और शायद जिस उपकरण ने इसे बनाया और विभाजित किया है, PARTUUID डिस्क PTUUID से लिया गया है या नहीं। मेरा प्रश्न उस विभाजन UUID के बारे में था जिसे आप PARTUUID के साथ प्राप्त कर सकते हैं blkid
एपीग्रामग्राम

@AProgrammer: मेरे उत्तर में कुछ जानकारी जोड़ी गई।
रबरस्टैम्प

1
ठीक है, सारांश में, एक डिस्क blkid -pयूयूआईडी है जिसे आप प्राप्त कर सकते हैं जिसके साथ इसे पीटीयूआईडी कहा जाता है, एक विभाजन blkidयूयूआईडी है जो PARTUUID को कॉल करता है और कुछ फाइल सिस्टम में एक यूयूआईडी होता है जिसे ब्लकिड यूयूआईडी कहता है। मैं अभी भी स्पष्ट नहीं हूं कि मुझे UUID के बजाय PARTUUID का उपयोग क्यों करना पड़ा, कम से कम कुछ जगहों पर, रूट फाइल सिस्टम को रास्पबेरी पर USB कुंजी में स्थानांतरित करते समय जब मेरा लिनक्स सिस्टम केवल UUID का संदर्भ देता है, लेकिन मैं स्वयंसेवा नहीं कर रहा हूं कुछ और परीक्षण करने और यह जाँचने के लिए कि वास्तव में PARTUUID की आवश्यकता कहाँ है और जहाँ मैं अभी भी UUID का उपयोग कर सकता हूँ, लेकिन मुझे लगता है कि केवल इसकी cmdline.txtआवश्यकता है।
एपीग्रामग्राम

एक ही यूयूआईडी के साथ दो अलग-अलग डिस्क पर मेरे दो विभाजन हैं। " ब्रह्मांड के जीवनकाल " के लिए इतना ...
étale-cohomology

3

जैसा मुझे समझ में आया।

सामान्य रूप से UUID शब्द एक "यूनिवर्सली यूनिक आइडेंटिफायर" है, जो GUID के रूप में विंडोज़ की दुनिया में जाना जाता है। कुछ अलग-अलग योजनाएं हैं लेकिन अधिकांश भाग के लिए आधुनिक यूयूआईडी / GUID अनिवार्य रूप से एक बड़ी यादृच्छिक संख्या या हैश और कुछ ध्वज बिट्स हैं।

लाइनक्स पर बढ़ते फाइल सिस्टम के विशिष्ट मामले में "यूयूआईडी" एक अद्वितीय पहचानकर्ता का समर्थन करता है जो फाइल सिस्टम के अंदर संग्रहीत मेटाडेटा का हिस्सा है। "PARTUUID" विभाजन तालिका से या में संग्रहीत विभाजन के लिए एक विशिष्ट पहचानकर्ता को संदर्भित करता है।

ये विशिष्ट पहचानकर्ता वास्तविक यूयूआईडी हो सकते हैं या नहीं भी हो सकते हैं। जहाँ तक मैं बता सकता हूं।

  • GPT विभाजन तालिकाओं के लिए "PARTUUID" GPT विभाजन तालिका से GUID है।
  • MBR विभाजन तालिकाओं के लिए "PARTUUID" का गठन विभाजन संख्या के साथ डिस्क पहचानकर्ता को समेट कर किया जाता है
  • EXT4 के लिए, लिनक्स स्वैप, BTRFS और संभावित रूप से अन्य लिनक्स-मूल फाइल सिस्टम प्रकार "UUID" एक UUID है जो फाइल सिस्टम मेटाडेटा में संग्रहीत है।
  • FAT और NTFS के लिए "UUID" वॉल्यूम सीरियल नंबर, FAT के लिए 32 बिट्स और NTFS के लिए 64 बिट्स प्रतीत होता है।

ध्यान दें कि "UUID" और "PARTUUID" द्वारा रूट फाइल सिस्टम को बढ़ाने के लिए समर्थन भिन्न होता है। IIRC बिना किसी इंट्रोड के चलने वाला कर्नेल "PARTUUID" द्वारा माउंट किया जा सकता है लेकिन "UUID" द्वारा नहीं। Initramfs-tools के पुराने संस्करण "UUID" द्वारा माउंट किए जा सकते हैं, लेकिन "PARTUUID" नहीं, हाल ही में initramfs-tools दोनों का समर्थन करते हैं।

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