मैं एक डिस्क के UUID को कैसे बदलूं जो मैं चाहता हूं?


29

मेरे पास एक अनोखी स्थिति है जहां मुझे यूयूआईडी फ्लैश ड्राइव के यूयूआईडी को पिछले यूयूआईडी में बदलने की आवश्यकता है। मैंने इसे स्वरूपित किया और स्पष्ट रूप से संख्या बदल गई ...

मैं 1TB hdd के साथ ubuntu सर्वर सेटअप, और 4GB USB फ्लैश ड्राइव से बूट करने के लिए है। Grd on hdd को UUID के लिए कॉन्फ़िगर किया गया है, जब मैंने usb ड्राइव तैयार किया और ubuntu सर्वर को फिर से इंस्टॉल किया। मेरे पास कोई बाह्य मॉनिटर नहीं है, इसलिए मैं USB को लैपटॉप से ​​जोड़ता हूं और वहां सर्वर स्थापित करता हूं ... जितना मैं इसे सर्वर हार्डवेयर में स्थानांतरित करता हूं।

जैसा कि मैंने अपनी समस्या का उल्लेख किया है कि मुझे पिछले UUID पर वापस जाने के लिए USB की आवश्यकता है, अन्यथा सर्वर बूट नहीं होगा। और मुझे सोमवार तक बाहरी निगरानी नहीं मिल सकती है! :)

मुझे पता है कि मुझे इन फ़ाइलों को बाद में बदलने की आवश्यकता है:

जिन फाइलों के लिए UUID सबसे अधिक महत्वपूर्ण है:

/boot/grub/menu.lst

/etc/fstab

/etc/initramfs-tools/conf.d/resume

लेकिन मैं कहीं भी UUID को कस्टमाइज़ करने के बारे में शुद्ध जानकारी नहीं पा सकता।

किसी को?

जवाबों:


37

यदि आप इसके लिए ext का उपयोग करते हैं:

tune2fs /dev/{device} -U {uuid}

से man tune2fs

-यू यूआईडी

UUID के लिए फ़ाइल सिस्टम का सर्वव्यापी विशिष्ट पहचानकर्ता (UUID) सेट करें। यूयूआईडी का प्रारूप हाइफ़न द्वारा अलग किए गए हेक्स अंकों की एक श्रृंखला है, जैसे c1b9d5a2-f162-11cf-9ece-0020afc76f16:। UUID पैरामीटर निम्न में से एक भी हो सकता है:

clear  clear the filesystem UUID
random generate a new randomly-generated UUID
time   generate a new time-based UUID

UUID का उपयोग माउंट (8), fsck (8), और / etc / fstab (5) (और संभवतः अन्य) द्वारा UUID = uuid को निर्दिष्ट करने के बजाय ब्लॉक विशेष उपकरण नाम जैसे / dev / hda1 द्वारा किया जा सकता है।


वह काम किया! लेकिन मुझे यह नहीं मिल रहा है: /etc/initramfs-tools/conf.d/resume मैंने पाया कि /boot/grub/menu.lst को /boot/grub/grub.cfg में बदल दिया गया है

मेरे पास मेरे सिस्टम पर एक /etc/initramfs-tools/conf.d/resume है। । और grub.cfg वास्तव में नई menu.lst (मुझे लगता है कि एक नई GRUB2 के साथ खेलने में आया है
Rinzwind

कोई फर्क नहीं पड़ता कि मैं क्या कोशिश करता हूं, मुझे अपना यूयूआईडी (ट्यून 2 एफ: अमान्य यूयूआईडी प्रारूप) सेट करने की कोशिश करते समय एक त्रुटि मिलती है। क्या चीजों का कोई विशिष्ट क्रम है?
एंड्रयू

tun2fs मेरे ZFS gpt डिस्क पर काम नहीं कर रहा है, मैं वहाँ क्या करूँ?
ब्रायन थॉमस

XFS (xfs_admin) के उत्तर को देखते हुए मैं सुझाव दूंगा कि मैं एक zfs_admin की तलाश करूँगा लेकिन क्या zf Solaris नहीं है ?! आप यहाँ पर मदद करने में सक्षम होने के लिए उबंटू को कैसे देखते हैं?
रिनजविंड

14

मुझे लगता है कि यह एक पुराने प्रश्न की तरह है, लेकिन मुझे लगा कि एक नया बदलाव आया है, और यह वही था जो Google ने मेरे लिए बनाया था, इसलिए मैं यहां पाया गया उत्तर पोस्ट करूंगा।

जब मैंने अपने रूट फाइलसिस्टम के uid (एक प्रसिद्ध शुरुआत और एक सीरियल नंबर प्रत्यय) को नए 14.04 ubuntu पर बदलने की कोशिश की, तो मैंने पाया कि मेरा हॉरर ट्यून 2 एफ वापस रिपोर्ट किया है: मैं उस फाइल सिस्टम को माउंट नहीं कर सकता। मैं अच्छी तरह से ज्ञात यूआईडी के साथ एक टेम्पलेट छवि का उपयोग करने में सक्षम होने पर निर्भर करता हूं, और प्रत्येक इंस्टॉल को क्रमबद्ध यूआईडी में बदल सकता हूं। मैंने पाया कि समस्या अचूक नहीं थी।

वहाँ एक झंडा है जिसे अक्षम करने की आवश्यकता है, नए ट्यून 2 एफएफ़ के साथ घुड़सवार-यूआईडी परिवर्तनों को अनुमति देने के लिए। यह वही है जो मेरी प्रक्रिया को देखा:

root@ubuntu1404:~# blkid
/dev/sda1: UUID="2ec827b0-72be-4c73-b58a-102a37aa24a3" TYPE="ext4"
root@ubuntu1404:~# uuid="deafcafe-abba-daba-deca-fc0ffee05065"
root@ubuntu1404:~# root_disk=$(df /|grep /|cut -d' ' -f1)
root@ubuntu1404:~# echo $root_disk
/dev/sda1
root@ubuntu1404:~# tune2fs -U $uuid $root_disk
tune2fs 1.42.9 (4-Feb-2014)
The UUID may only be changed when the filesystem is unmounted.
root@ubuntu1404:~# tune2fs -O ^uninit_bg $root_disk
tune2fs 1.42.9 (4-Feb-2014)
root@ubuntu1404:~# tune2fs -U $uuid $root_disk
tune2fs 1.42.9 (4-Feb-2014)
root@ubuntu1404:~# tune2fs -O +uninit_bg $root_disk
tune2fs 1.42.9 (4-Feb-2014)
root@ubuntu1404:~# df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       7.3G  3.9G  3.0G  58% /
root@ubuntu1404:~# blkid
/dev/sda1: UUID="deafcafe-abba-daba-deca-fc0ffee05065" TYPE="ext4"
root@ubuntu1404:~#

धन्यवाद। भविष्य में सहायक हो सकता है, लेकिन मैं अभी भी 12.04 :)

1
आप root_disk=$(findmnt -n -o SOURCE /)पाइपिंग के बजाय grep और कट का उपयोग कर सकते हैं ।
mivk

यह मत करो या आप अपने FILESYSTEM की पुष्टि करेंगे। मैंने फिर हटा दिया uninit_bgऔर इसे मेटाडेटा भ्रष्टाचार और स्वचालित बूट-रीमेक केवल अगले बूट ( ext4_mb_generate_buddy:757: group 1, block bitmap and bg descriptor inconsistent: 3701 vs 3700 free clustersत्रुटि संदेशों का प्रकार) पर ले जाता है। कारण यह है कि tune2fsकर्नेल के पैरों के नीचे डिस्क को सीधे संशोधित करता है, और जब कर्नेल bgमेटाडेटा को अद्यतन करने के लिए मिलता है , तो यह वास्तव में मेटाडेटा को भ्रष्ट करता है! बॉटमलाइन: फाइलसिस्टम यूयूआईडी को फाइल सिस्टम को ठीक से अनमाउंट किए बिना सुरक्षित रूप से नहीं बदला जा सकता है।
एरिक

6

Xfs के लिए देखें man xfs_admin

xfs_admin -U {uuid} {device}

{uuid} केवल एक नया uuid प्राप्त करने के लिए 'जनरेट' किया जा सकता है।

Reiserfs के लिए देखें man tunefs.reiserfs

tunefs.reiserfs -i {uuid} {device}

Btrfs के लिए ऐसा लगता है कि uuid का उपयोग फ़ाइल सिस्टम के साथ किया जाता है ताकि हर नोड को अपडेट करना पड़े। अभी तक ऐसा करने का कोई सुरक्षित तरीका नहीं है।


0

5
उबंटू पूछने के लिए आपका स्वागत है! जब भी यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, तो उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर होगा
पीच
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.