एक ड्राइव का UUID जो / dev / डिस्क / by-uuid या blkid में दिखाई नहीं देगा


12

मेरे पास एक USB ड्राइव है जिसे UUID नहीं मिल रहा है। जब मैं / dev / डिस्क / बाय-यूआईडी की सामग्री को देखता हूं तो यह वहां मौजूद नहीं होता है। विभाजन जिस देव बिंदु पर रहता है वह देव / sdb पर है। मैं sdb को / dev / डिस्क / बाय-पाथ के तहत देख पा रहा हूं। इसके अलावा, जब blkid का उपयोग करते हैं, तो मुझे शून्य आउटपुट मिलता है। मैं मान रहा हूं कि मुझे एक त्रुटि कोड मिला है जो वापस आ गया है।

क्या इस विभाजन के लिए UUID प्राप्त करने का कोई तरीका है?

के परिणाम fdisk -l /dev/sdb:

Disk /dev/sdb: 320.1 GB, 320072932352 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142446 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00082145

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   625141759   312569856   83  Linux

विभाजन तालिका और विभाजन gparted के साथ बनाया गया था, इसलिए यह विभाजन किया गया था और कमांड mkfs.ext3 चला गया था।

Fsck -n / dev / sdb1 का आउटपुट

fsck from util-linux 2.20.1
e2fsck 1.42 (29-Nov-2011)
fsck.ext2: Superblock invalid, trying backup blocks...
zwei was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
zwei: 11/19537920 files (0.0% non-contiguous), 1275097/78142464 blocks

इसे एक्सट्रीम 3 ड्राइव के रूप में स्वरूपित किया गया था। क्यों वह ext2 के रूप में दिखा रहा है?


आपको यह स्पष्ट करने की आवश्यकता है कि आप किस डिवाइस के बारे में बात कर रहे हैं। /dev/sdbएक UUID के लिए नहीं होगा, लेकिन /dev/sdb1चाहिए अगर यह स्वरूपित किया गया है।
गोल्डीलॉक्स

1
मैं / देव / sdb1 का जिक्र कर रहा हूं, जो / देव / sdb के तहत है
भिक्षु

का आउटपुट पोस्ट करें fsck -n /dev/sdb1। आप इसे tune2fs -U random /dev/sdb1तब देखने के लिए UUID देने का प्रयास कर सकते हैं। इससे कोई फर्क नहीं पड़ता कि UUID क्या है।
गोल्डीलॉक्स

पोस्ट [खेद है कि अगर यह गुस्सा हो रहा है]
22

1
कोई दिक्कत नहीं है। "सुपरब्लॉक अमान्य" बिट समझा सकता है कि कोई UUID क्यों नहीं है। यदि आपको वहां सामान का बैकअप लेने की आवश्यकता है, तो इसे माउंट करने और ऐसा करने का प्रयास करें, फिर अनमाउंट करें और fsck -y /dev/sdb1; यदि आप इसे माउंट नहीं कर सकते, तो बस fsck चलाएं और उम्मीद है कि कुछ भी नहीं खोया है। और के man fsckबीच अंतर के लिए पढ़ें । -n-y
गोल्डीलॉक्स

जवाबों:


13

यही होना चाहिए।

यहाँ खेल में "डिस्क" या "ड्राइव" शब्द के दो बोलचाल के उपयोग हैं: पहला एक usb स्टिक जैसे भौतिक उपकरण को संदर्भित करता है । दूसरा एक फाइल सिस्टम विभाजन को संदर्भित करता है , जिसमें से एक भौतिक उपकरण पर कई हो सकते हैं।

डिवाइस नोड्स जैसे /dev/sdaपहले अर्थ (भौतिक उपकरण) को संदर्भित करते हैं; डिवाइस नोड्स जैसे /dev/sda1दूसरे (फाइलसिस्टम विभाजन) को देखें। सही बात? sda1 भौतिक डिस्क sda पर एक फाइल सिस्टम विभाजन है। एक विभाजन के साथ एक संपूर्ण डिवाइस को प्रारूपित करना संभव है, लेकिन यह असामान्य है, इसलिए सामान्य तौर पर, /dev/sdaकभी भी यूयूआईडी नहीं होगा।

फाइलसिस्टम विभाजन में यूयूआईडी, भौतिक उपकरण हैं नहीं हैं । मेरा मानना ​​है कि जब फाइल सिस्टम बनाया जाता है, तो वे बेतरतीब ढंग से बनाए जाते हैं (यही कारण है कि वे बदल जाएंगे यदि आप, उदाहरण के लिए, एक पार्टीशन को रिफॉर्मेट करते हैं, और क्यों अगर आप ब्लॉक लेवल को पार्टीशन कॉपी करते हैं और इमेज के साथ एक नया पार्टिशन बनाते हैं, तो आपके पास दो पार्टिशन होंगे उसी UUID के साथ)।

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

अंत में, चूंकि यह यूयूआईडी सेट करने वाले विभाजन को प्रारूपित करने के लिए उपयोग किया जाने वाला उपकरण है, इसलिए यह संभव हो सकता है कि बहुत पुराने उपकरण ऐसा न करें। हालाँकि, आप हमेशा एक नया ( tune2fsउदाहरण के लिए) सेट कर सकते हैं , जैसे:

tune2fs -U random /dev/whatever

एसडीए मेरा मुख्य अभियान है। SDB, SDD, आदि USB ड्राइव हैं। मैंने यह साबित करने के लिए fdisk -l को शामिल करने के लिए अपने उत्तर को अपडेट किया है कि यह एक विभाजन है।
भिक्षु

@monksy: और डिवाइस नोड जो UUID की रिपोर्ट नहीं करता है /dev/sdb1या है /dev/sdb? बाद में नहीं करना चाहिए। इसके अलावा, fdisk आउटपुट यह नहीं दर्शाता है कि एक विभाजन स्वरूपित है, और इस प्रकार, यह साबित नहीं करता है कि इसे UUID उपलब्ध होना चाहिए । मैंने इसे समझाने के लिए ऊपर कुछ छोटे पैराग्राफ जोड़े हैं।
गोल्डीलॉक्स

यह बनता है। जब [पूर्व fstab आइटम] ग्नोम आटोमैटिक में प्लग किया जाता है, तो इसे ऊपर लाया जाएगा। मुझे sdb1 के लिए UUID नहीं मिल रहा है।
Fdisk

1
विभाजन में दिखाए जाने से पहले मुझे रिबूट करना पड़ा /dev/disk/by-uuid(उबंटू 16.04 लेकिन शायद दूसरों को प्रभावित करता है)। इसलिए (1) विभाजन (एस) और फाइलसिस्टम (एस), (2) रिबूट बनाएं। शायद एक गैर-रिबूट तरीका है, लेकिन मैंने जांचना पसंद किया कि सब कुछ ठंडे बूट से आता है इसलिए जांच नहीं की गई।
आलसी

2

/ Dev / डिस्क / बाय-uuid बूट पर प्रोग्राम "partprobe" द्वारा आबाद है। यदि आपके पास डिस्क या पार्टीशन है जिसे partprobe नहीं पहचान सकता है, तो partprobe त्रुटि के साथ विफल हो जाता है और शेष विभाजन को स्कैन करना बंद कर देता है :

root@machine1:~# partprobe 
Error: /dev/mapper/sda5_crypt: unrecognised disk label
root@machine1:~# 

यह स्पष्ट रूप से partprobe भाग पर त्रुटि है । शायद ubuntu 14.04 (भरोसेमंद) के लिए विशिष्ट है। वर्कअराउंड पार्टप्रॉब को स्पष्ट रूप से उस विभाजन पर चलाना है जिसे स्कैन नहीं किया गया था:

root@machine1:~# partprobe /dev/sdd1

ध्यान दें कि कई बार शुरू किया गया है कि हर डिस्क-प्रबंधन ऑपरेशन का परिणाम है, इसलिए वर्कअराउंड अल्पकालिक है।


2

मैंने पाया है कि file -sएक मामले में विभाजन के लिए UUID दे सकता है जहां blkidनहीं होगा:

sudo file -s /dev/sda1
/dev/sda1: Linux rev 1.0 ext2 filesystem data (mounted or unclean), UUID=ef55765f-dae5-426f-82c4-0d98265c5f21 (needs journal recovery)

1

ls -l /dev/disk/by-uuidया के साथ sudo की कोशिश करोblkid /dev/sdb1

मेरे पास एक विभाजित + स्वरूपित sdb1भी है, किसी कारण से यह सूची में दिखाई नहीं देता है जब तक कि मैं उपयोग नहीं करता हूं sudo

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