মাউন্ট ছাড়াই .img ব্রাউজ করুন


13

কোনও .img ফাইল মাউন্ট না করেই কি ব্রাউজ করতে হবে? আমার কাছে একটি .img ফাইল রয়েছে যা আমি একটি ক্লোনজিলা পার্টিশন স্ন্যাপশট থেকে উত্পন্ন করেছি। কমান্ডটি দিয়ে আমার কোনওরকম ফাইল মাউন্ট করতে সমস্যা হচ্ছে mount -o loop sda5.img /mnt/

dmesg | tail আমাকে নিম্নলিখিত ত্রুটিটি দেখায়:

[1325.395286] EXT4-fs (লুপ0): খারাপ জ্যামিতি: ব্লক গণনা 11221248 ডিভাইসের আকারকে ছাড়িয়েছে (11218432 ব্লক)

মাউন্ট না করেই কীভাবে ব্রাউজ করবেন বা কী কারণে এই ত্রুটি ঘটতে পারে এমন ধারণা যে কেউ পেয়েছেন?



উত্তর:


18

এটি যদি পুরো হার্ড ড্রাইভের চিত্র বা আপনার ক্ষেত্রে এটি একটি বর্ধিত পার্টিশনের চিত্র হতে পারে তবে এগুলি মাউন্ট করতে সক্ষম হওয়ার জন্য আপনার পার্টিশন লেআউট এবং ফাইলের প্রতিটি পার্টিশনের অফসেটগুলি জানতে হবে।

এটি করার জন্য আপনার partedসরঞ্জামটির প্রয়োজন হবে , আপনি এটি নিম্নলিখিত কমান্ড দিয়ে ইনস্টল করতে পারেন:

apt-get install parted

ইনস্টল করার পরে parted, এটি আপনার চিত্র ফাইলের পথ দিয়ে শুরু করুন। একটি partedপ্রম্পট প্রদর্শিত হবে:

$ parted /path/to/image/file/sda5.img
GNU Parted 2.3
.....
(parted)

এই প্রম্পটে (পূর্বে উপস্থাপিত (parted)) নিম্নলিখিত কমান্ডগুলি টাইপ করুন:

(parted) unit B
(parted) print
.....
Number  Start          End            Size           Type     File system  Flags
 1      1048576B       1573912575B    1572864000B    primary  ntfs         boot
 2      1573912576B    156774694911B  155200782336B  primary  ntfs
 3      156774694912B  171454758911B  14680064000B   primary  ntfs
 4      171454758912B  180044693503B  8589934592B    primary

(parted) q

আউটপুট-এ সারণী আপনাকে ফাইলের প্রতিটি পার্টিশনের অফসেট এবং প্রতিটি পার্টিশনে ফাইল সিস্টেমের টাইপ জানাবে। উদাহরণস্বরূপ উপরের অনুকরণীয় আউটপুটে প্রথম পার্টিশনটি মাউন্ট করার জন্য আপনাকে নিম্নলিখিত কমান্ডটি প্রবেশ করতে হবে:

sudo mount -o loop,ro,offset=1048576 /path/to/image/file/sda5.img /mnt/partition

নিশ্চিত যে এটি /mnt/partitionবিদ্যমান আছে।


1
ঠিক আছে, আমি মনে করি সমস্যাটি প্রিন্ট কমান্ডটি চালানোর সময় আমি একটি ত্রুটি পেয়েছি কারণ এটি অজানা পার্টিটন টেবিলটি বলে। ভাবুন তো ছবিটি নষ্ট হয়ে গেছে?
অহতিয়াস

দেখতে দেখতে অনেকটা ভেঙে গেছে। তবে গুগলে প্রথমে আপনার ত্রুটির জন্য চেষ্টা করার চেষ্টা করুন।
বেন্ডিং

1
Can't have a partition outside the disk!
জিপিআর্টের

8

আমি ক্লোনজিলা স্ন্যাপশট থেকে উত্পন্ন একটি ext4 চিত্রের সাথে এই একই সমস্যাটি পেয়েছি।

আসলে আমার পক্ষে যা কাজ করা হয়েছিল তা হ'ল বিভাজন টেবিল রিপোর্ট আকারে ফাইলটি ছড়িয়ে দেওয়া, কাটা কাটা ব্যবহার করে। আমার ক্ষেত্রে ত্রুটিযুক্ত ডেমস্যাগটি হ'ল:

[15687.653868] EXT4-fs (loop0): bad geometry: block count 18482176 exceeds size
  of device (18352672 blocks)

সুতরাং আমি ফাইলটির দৈর্ঘ্যটি এর সাথে সামঞ্জস্য করেছি:

truncate -o -s 18482176 /path/to/partition.img

(^ দ্রষ্টব্য যে লগের মধ্যে এটি প্রথম এবং দুটি সংখ্যার চেয়ে বড়)

এর পরে মাউন্টটি খুশি হয়েছিল এবং আমি আমার ডেটা অ্যাক্সেস করতে পারি।


এটি আমার পক্ষে কাজ করেছে যদিও আকারটি ভুল ছিল, আমি অনুমান করি যে ব্লকের আকারগুলি ভিন্ন ছিল, তাই আমাকে আকারটি বাইটে নির্দিষ্ট করতে হয়েছিল। সতর্কতা অবলম্বন করুন কারণ আপনি যদি নিজের চিত্র ফাইলটি মূল আকারের চেয়ে ছোট আকারে কাটা করেন তবে আপনি ডেটা হারাতে পারেন।
golimar

1
আপনি কিভাবে সঠিক আকার জানেন? এখানে কমান্ড যুক্ত করুন।
হুনসু

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