ফাইল সিস্টেম ইউইউডি (2 একই ইউআইডি) কীভাবে পরিবর্তন করবেন?


26

আমার ভিএমওয়্যারের একটি ফেডোরা অতিথি ওএস রয়েছে। আমি /bootপার্টিশনটি প্রসারিত করতে চাই , তাই আমি এই ভিএমটিতে আরও একটি ভার্চুয়াল ডিস্ক যুক্ত করব এবং ডিস্কটি ক্লোন করার চেষ্টা করব।

এরপরে dd if=/dev/sda1 of=/dev/sdb1, blkidপ্রতিবেদন করুন / dev / sda1 এবং / dev / sdb1 এর একই ইউআইডি / জিইউডি রয়েছে।

এটি অদ্ভুত যে মহাবিশ্বে 2 টি একই ইউআইডি রয়েছে, কীভাবে তাদের একটিকে অন্য ইউআইডি মানতে পরিবর্তন করা যায়?


আপডেট 2017-01-25

বিষয় বদলেছে, ইউইউইডের অর্থ এখানে ফাইল সিস্টেম ইউআইডি, পার্টিশন ইউআইউডি নয়।

যেহেতু এটি ফাইলসিস্টেম ইউআইউডি, তাই ইউআইডি পরিবর্তন করতে, বা ডিস্কের কাঁচা ডেটা সংশোধন করতে হেক্সিডিটর ব্যবহারের জন্য ফাইল সিস্টেম নির্দিষ্ট ব্যবহারের প্রয়োজন হয় ( ঝুঁকিপূর্ণ, আপনি কী করছেন তা না জানলে প্রস্তাবিত নয় )।


10
এটি মোটেই অদ্ভুত নয়। আপনি যখন ডিডির সাথে একটি পার্টিশন ক্লোন করবেন, অবশ্যই ক্লোনটির মূল হিসাবে একই ইউআইডিউড থাকবে। ইউআইডি হ'ল পার্টিশনের মেটাডেটা - কোনও ফিজিকাল ডিস্কের অন্তর্নিহিত সম্পত্তি নয়।
অ্যান্ড্রু মেডিকো

আপনাকে অ্যান্ড্রু ধন্যবাদ, আমি ভেবেছিলাম ইউআইডিডি একটি নতুন পার্টিশন তৈরি হওয়ার আগে একটি গণনা করা মান। এখন আমি জানি এটি কেবল একটি মেটাডেটা স্টাফ।

উত্তর:


28

একটি এলোমেলো নতুন ইউআইডি উত্পন্ন করতে, কেউ এটি ব্যবহার করতে পারেন:

$ uuidgen

আসলে ইউআইডি পরিবর্তন করা ফাইল সিস্টেম নির্ভর।

অতিরিক্ত পরিবার ফাইল সিস্টেম ধরে নিচ্ছি

# tune2fs -U <output of uuidgen> /dev/sdb1

অথবা আপনি যদি আত্মবিশ্বাসী uuidgen কাজ করতে চলেছে:

# tune2fs -U $(uuidgen) /dev/sdb1

বিটিআরএফএস ফাইল সিস্টেম অনুমান করা হচ্ছে

# btrfstune -U $(uuidgen) /dev/sdb1

ইউআইডি সুপারব্লকটিতে সংরক্ষিত থাকে, তাই ফাইল সিস্টেমের বাইট-বাই বাইট অনুলিপিতে একই ইউআইডি থাকে।


14
অ্যান্ডি, আপনার এমনকি uuidgen কমান্ডের প্রয়োজন নেই: "tune2fs -U এলোমেলো / dev / sdb1" ভাল কাজ করা উচিত
grzuy

কীভাবে এটি এফএটি চালাবেন?
সিএমসিডিগ্রাগনকাই

@ সিএমসিডিগ্রাগনকাই, আমার উত্তর দেখুন।
লিউইয়ান 研 研

13

ব্যবহার করুন:

tune2fs -U random /dev/sdb1

যদি এটি কোনও এক্সট্রা ফাইল সিস্টেম, বা

xfs_admin -U generate /dev/sdb1

যদি এটি একটি এক্সএফএস ফাইল সিস্টেম হয়।


দ্বিতীয় পার্টিশনের একই ইউআইডি থাকার কারণ হ'ল ddকেবল একটি ফাইল থেকে অন্য ফাইলের ( dd if=/dev/sda1 of=/dev/sdb1= cat /dev/sda1 > /dev/sdb1) অনুলিপি করা ;ddকোনও পার্টিশন কী, বা কীভাবে কোনও ইউআইডি জেনারেট করা যায় তা জানে না, সুতরাং এটি ইউটিউড সহ সমস্ত তথ্য যেমন অনুলিপি করেছে, পার্টিশনের শুরুর কাছাকাছি ফিলি-সিস্টেম সুপারব্লকটিতে সংরক্ষিত রয়েছে।


যাইহোক,
আমি আরও মনে করি ইউআইডি (সর্বজনীন ইউনিক আইডেন্টিফায়ার) একটি অদ্ভুত নাম। এটিকে পিজিইউইড (সম্ভবত বিশ্বব্যাপী ইউনিক আইডেন্টিফায়ার) বলা উচিত, বা আরও ভাল, কেবল এআরএলএন (যুক্তিসঙ্গত বৃহত সংখ্যা) বলা উচিত।


আমি আমার / ডি / এসডিএ 6 এ আমার পার্টিশনটির ব্যাক আপ রেখেছি। আমি নিম্নলিখিত ত্রুটি পেয়েছি: xfs_admin -U উত্পন্ন / dev / sda6 ত্রুটি: ফাইল সিস্টেমে একটি লগে মূল্যবান মেটাডেটা পরিবর্তন রয়েছে যা পুনরায় খেলতে হবে। লগটি পুনরায় খেলতে ফাইল সিস্টেমটি মাউন্ট করুন এবং xfs_admin পুনরায় চালানোর আগে এটি আনমাউন্ট করুন। আপনি যদি ফাইল সিস্টেমটি মাউন্ট করতে অক্ষম হন, তবে লগটি ধ্বংস করতে এবং মেরামতের চেষ্টা করতে xfs_repair -L বিকল্পটি ব্যবহার করুন। নোট করুন যে লগটি ধ্বংস করা দুর্নীতির কারণ হতে পারে - দয়া করে এটি করার আগে ফাইল সিস্টেমের একটি মাউন্ট চেষ্টা করুন।
গজ

ইউআইডি হ'ল নোংরা মিথ্যা বলার জন্য +1 ... আমি "দুর্ভাগ্যক্রমে, ইউনিক আইডি নয়" এর জন্য ইউএনইউডিও প্রস্তাব দিতে পারি
ফুন

ঠিক আছে, আমি গ্লোবালি ইউনিক আইডেন্টিফায়ার (জিইউডি) - "বিশ্বব্যাপী" যেমন "সাধারণ", বা "সাধারণভাবে" পরামর্শ দেব। ওহ অপেক্ষা করুন ... এটি কি আসলে এটির আসল নাম নয়? ...
দ্য কোয়ার্ক ২

11

Ext2 / ext3 / ex4 এবং xfs ছাড়াও, আপনি নিম্নলিখিত ফাইল সিস্টেম বা ব্লক ডিভাইসের ইউআইডি পরিবর্তন করতে পারেন।

বিনিময়

swaplabel -U $NEW_UUID

সফ্টওয়্যার RAID (এমডি রেইড)

এমডি রেডের জন্য আপনাকে প্রথমে র‌্যাডটি থামাতে হবে, তারপরে পুনরায় একত্রিত হওয়ার সময় ইউআইডি আপডেট করুন। সুতরাং আপনার রেড যদি মাউন্ট করা থাকে তবে আপনার /অফলাইন মোডে ইউআইডি আপডেট করতে হবে - এটি করার জন্য একটি লাইভ সিডি ব্যবহার করুন।

  1. mdadm --stop $RAID_DEVICE
  2. mdadm --assemble $RAID_DEVICE --update=uuid --uuid=$NEW_UUID $MEMBER_DEVICES...

উদাহরণ:

  1. mdadm --stop /dev/md127
  2. mdadm --assemble /dev/md127 --update=uuid --uuid=2A1D2A1D-2A1D-2A1D-2A1D-2A1D2A1D2A1D /dev/sda2 /dev/sdb2

পরে UUID আপডেট করা, আপনাকে আপডেট করার প্রয়োজন হতে পারে grub.cfg( rd.md.uuid=$NEW_UUIDমধ্যে linux/linuxefi/linux16কমান্ড লাইন) এবং / অথবা fstabএবং / অথবা mdadm.confএবং / অথবা update-initramfs(ডেবিয়ান পরিবার) এবং / অথবাdracut --force আপনি সফলভাবে পরের বার বুট করতে পারে (রেড হ্যাট পরিবার) তাই।

LUKS (ক্রিপ্টসেটআপ)

cryptsetup luksUUID --uuid=$NEW_UUID $LUKS_DEVICE

উদাহরণ:

cryptsetup luksUUID --uuid=e0c0e0c0-e0c0-e0c0-e0c0-e0c0e0c0e0c0 ~/encrypted-LUKS.loop

ফ্যাট / এনটিএফএস / এক্সএফএটি

এটি এখানে অন্য গল্প, বর্তমানে এই ফাইল সিস্টেমগুলির ফাইল সিস্টেম ইউআইডি সংশোধন করার জন্য কোনও ইউটিলিটি নেই( রিচার্টের উত্তর - mlabelসরঞ্জামটি দেখুন) তবে এটি করার জন্য আমরা ডিস্কে কাঁচা ডেটা পরিবর্তন করতে পারি।

সতর্কতা, ডিস্কে কাঁচা ডেটা সংশোধন করা বিপজ্জনক এবং সতর্কতা অবলম্বন না করে ডেটা হারাতে পারে।

এখানে এর বিস্তারিত ব্যবহার ডিস্কে কাঁচা ডেটা সংশোধন করার জন্য পদক্ষেপ hexedit

  1. blkid, ফাইল সিস্টেমে ইউআইডিকে কাগজে লিখুন বা এটি মনে রাখবেন। FAT / exFAT এর 1122-3344ইউআইডি স্ট্রিং দেখতে এনটিএফএসের ইউআইডি স্ট্রিংয়ের মতো লাগে 1122334455667788
  2. Hexedit ব্যবহার করে পার্টিশন ডিভাইস খুলুন

    hexedit <partition device such as /dev/sda1>

  3. ডিস্কে ইউআইডি ডেটা সন্ধান করতে টিপুন /, বিপরীত ক্রমে ইউইউডি প্রবেশ করুন (যদি তা blkidজানানো হয় 1234-ABCDতবে অনুসন্ধান করুন CDAB3412)।
  4. একবার ইউইউডিটি উপস্থিত হয়ে গেলে সেগুলি পরিবর্তন করুন, F2সংরক্ষণ করতে এবং প্রস্থান করতে টিপুন ।
  5. blkid ইউআইডি যাচাই করতে।
  6. একবার ইউআইডি সংশোধিত হয়ে গেলে, আপনাকে আপডেট করার প্রয়োজন হতে পারে grub.cfgএবং / বা fstabযাতে পরবর্তী সময় আপনি সফলভাবে বুট করতে পারেন।
  7. সম্পাদন fsck <partition device such as /dev/sda1>কর এবং দেখ একটি "সেখানে বুট সেক্টর এবং তার ব্যাকআপ মধ্যে পার্থক্য হল" বার্তা। এটির সমাধানের জন্য, "1) ব্যাকআপটিতে মূল অনুলিপি করুন " নির্বাচন করুন , এবং যদি আপনি " চাপুন সম্পাদনা করবেন ? (Y / n)" জিজ্ঞাসা করা হয় তবে আপনি টিপুন y

এইচএফএস / এইচএফএস + বা এইচএফএসপ্লস সম্পর্কে কী?
26:38

1
ফেডোরা লিনাক্সের প্যাকেজ এক্সফ্যাট-ইউটিস দ্বারা কমান্ডটি ইনস্টল করা হয়েছিল mkfs.exfat -i 01234567 /dev/partitionnameসেখানেই আপনি ব্যবহার করতে পারেন । হেক্সাডিট বৈকল্পিকটি বেশ বিপজ্জনক হওয়ায় সম্ভবত আপনার উত্তরে এটি যুক্ত করা উচিত! mkfs.exfat
এরিক

@ এরিক টিপটির জন্য ধন্যবাদ, তবে আমরা বিদ্যমান ফাইল সিস্টেম বা ব্লক ডিভাইসে পুরানো ইউআইডিকে নতুন ইউআইডিতে আপডেট করার জন্য একটি পদ্ধতি খুঁজছি।
লিউইয়ান

আরে @ লিউইয়ান N N এনটিএফএসের জন্য একটি ntfslabelসরঞ্জাম রয়েছে। জিজ্ঞাসাবাবু
প্রশ্ন /

6

এক্সএফএসের জন্য, ব্যবহার করুন: xfs_admin -U <uuid> <device>

xfs_admin -u <device>কোনও ইউইউডি দেখতে ব্যবহার করুন (দেখার জন্য লোয়ার কেস বিকল্পটি নোট করুন, সেট করতে উচ্চতর ক্ষেত্রে বিকল্পের বিপরীতে)। ইউএন্ডএল-এর অন্য একটি পোস্ট blkidসিস্টেমে সমস্ত বা কিছু ইউইউডি দেখার কমান্ডটি নির্দেশ করেছে।


2

ভিএফএটি এর আংশিক উত্তর

Ext * এবং xfs ফাইল সিস্টেমের জন্য ইতিমধ্যে সূক্ষ্ম উত্তর রয়েছে। তবে ভিএফএটি-র জন্য আমি মাতুল প্যাকেজের mlabel ব্যবহার করার জন্য দৃ strongly়ভাবে পরামর্শ দিচ্ছিহেক্স সম্পাদক ব্যবহার করা বিপজ্জনক।

একটি নতুন ইউআইডি তৈরি করতে এরকম কিছু ব্যবহার করুন:

echo 'drive d: file="/dev/sdb3" exclusive' >>/etc/mtools.conf
mlabel -n d:

আপনি যদি ম্যানুয়ালি একচেটিয়া অ্যাক্সেসের জন্য পরীক্ষা করতে আপত্তি করেন না (যেমন এখানে বর্ণিত সমস্ত কমান্ড রয়েছে) তবে আপনি এটি একক কমান্ড হিসাবে করতে পারেনmlabel -n -i /dev/sdb3 ::
টেলকোএম

2

Btrfs

sudo btrfstune -u /dev/sdaX

sudo btrfstune -U 0de6bd81-7013-49a8-bdc5-d832ed209d2c /dev/sdaX

চলমান btrfsckসুপারিশ করা হয় কারণ বিটিআরএফএসে ইউআইডি পরিবর্তন করা কোনও পারমাণবিক ক্রিয়াকলাপ নয়।



0

ফেডোরা 27 এর অধীনে আমি দেখতে পেয়েছি যে আর্গুমেন্টের ক্রমটি একটি গুরুত্বপূর্ণ ভূমিকা পালন করে ... আপনাকে প্রথমে ডিভাইসটি লিখতে হবে, অন্যথায় ইউআইডি পরিবর্তন করা হয়নি। উদাহরণ স্বরূপ

tune2fs /dev/sdb1 -U random

1
এটি অস্বাভাবিক আচরণের মতো বলে মনে হচ্ছে, কমপক্ষে অন ​​লাইনের আগে ম্যান পেজটির বর্ণনাটি প্রদর্শিত -Uহবে device
জেফ স্ক্যালার হলেন

0

Dd কমান্ড পরিবর্তনের জন্য ডুপ্লিকেটড ডিস্ক পার্টিশন ইউআইডি / গুলি - জিপিআর্ট ব্যবহার করুন।

জিপিআরটিড ইউজার ইন্টারফেস থেকে ড্রাইভ নির্বাচন করুন, পার্টিশনটি নির্বাচন করুন, পার্টিশন আনমাউন্ট করুন। 'পার্টিশন ফোল্ডার' থেকে 'নতুন ইউআইডি' চয়ন করুন, প্রতিস্থাপনের জন্য সমস্ত ডিডি ড্রাইভের সদৃশ পার্টিশন ইউইআইডি / গুলি চিহ্নিত না করা পর্যন্ত পুনরাবৃত্তি করুন। বুটেবল ডিস্কের জন্য, ইউইএফআই পার্টিশন uuid প্রতিস্থাপন করবেন না।

নির্বাচিত ড্রাইভ লেটার এবং পার্টিশন / গুলি পর্যালোচনা করুন - সব ঠিক আছে? ...

জিপিআর্টেড ইউজার ইন্টারফেসে 'সমস্ত অপারেশন প্রয়োগ করুন' আইকনটি ক্লিক করুন।
বুটেবল ডিস্কের জন্য, / etc / fstab ফাইলটি UID = স্ট্রিং / গুলি এবং মাউন্ট পয়েন্ট / গুলি সম্পাদনা করুন:

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.