আমি কীভাবে একটি ডিস্ক চিত্রটি মাউন্ট করতে পারি?


26

আমার একটি ডিস্ক চিত্র myimage.diskরয়েছে যাতে পার্টিশন টেবিল এবং একটি প্রাথমিক পার্টিশন রয়েছে (যেমন একটি FAT32 ফাইল সিস্টেম)। এটি একটি ইউএসবি পেন চিত্র হিসাবে মনে করুন।

আমি স্থানীয় ডিরেক্টরিতে প্রাথমিক পার্টিশনটি মাউন্ট করতে চাই। আমি জানি লুপ ব্যবহারগুলি ব্যবহার করে কোনও পার্টিশন চিত্র কীভাবে মাউন্ট করতে হবে তবে এখানে আমার ডিস্ক চিত্র রয়েছে। আমার অনুমান যে আমি পার্টিশন টেবিলটি "এড়িয়ে" ইমেজটি মাউন্ট করতে পারি তবে আমি কীভাবে এটি করতে পারি?


7
আরও দেখুন সুপারইউস.আর.কশনস / ১১13১////২ আপনি সহজেই এর losetup --partscan --find --show disk.imgপরে ব্যবহার করতে পারেনmount /dev/loop0p1 /mnt/disk
ফ্লো

উত্তর:


44

কে-পার্টেক্স সরঞ্জাম এটিকে আরও সহজ করে তোলে। এটি আপনার চিত্রের প্রতিটি বিভাগের জন্য / dev / mapper এ লুপ ডিভাইস তৈরি করে। তারপরে আপনি নিজে থেকে অফসেটটি গণনা না করে লুপ ডিভাইসটি মাউন্ট করতে পারেন যা আপনার পছন্দসই পার্টিশনের সাথে মিলে যায়।

উদাহরণস্বরূপ, ডিস্ক চিত্রের প্রথম পার্টিশনটি মাউন্ট করতে:

kpartx -a -v myimage.disk
mount /dev/mapper/loop0p1 /mnt/myimage

আপনি যখন চিত্রটি সম্পন্ন করবেন, লুপ ডিভাইসগুলি সরান:

umount /mnt/myimage
kpartx -d -v myimage.disk

বিকল্পভাবে, যদি আপনার সাম্প্রতিক কার্নেল থাকে এবং বুটে লুপ.ম্যাক্স_ পার্ট = 63 পাস করুন (যদি লুপটি অন্তর্নির্মিত থাকে) বা মোডপ্রোবে (যদি লুপটি মডিউল হয়) তবে আপনি এটি এইভাবে করতে পারেন:

losetup /dev/loop0 myimage.disk
partprobe /dev/loop0             # Re-read partition table if /dev/loop0 was used with a different image before
mount /dev/loop0p1 /mnt/myimage

আপনি যখন লুপটি সম্পন্ন করবেন:

losetup -d /dev/loop0

1
আপনার -o loopউপরের প্রয়োজন নেই , /dev/mapper/loop0p1ইতিমধ্যে একটি ব্লক ডিভাইস (একটি লুপ ডিভাইসের উপরে একটি ম্যাপার ডিভাইস, আপনি তার উপরে লুপ ডিভাইসের অন্য স্তরটি চান না)।
sch

2
আপনি যদি চালানোর /dev/loop0p1পরে পার্টিশন ডিভাইস ( ইত্যাদি) না পান তবে losetupচালান partprobe /dev/loop0
ভ্লাদিমির পানতেলিভ

kpartxলিনাক্স মিন্ট 18 ডিফল্টরূপে ইনস্টল করা মনে
unfa

4

এটি পাওয়া গেছে:

http://www.andremiller.net/content/mounting-hard-disk-image-including-partitions-using-linux

যা দেখতে আমি ঠিক তাই খুঁজছিলাম।

মূল অংশটি এখানে:

mount -o loop,ro,offset=32256 hda.img /mnt/rabbit

যেখানে অফসেটের মান বাইটে হয়। অফসেটটি পাওয়ার প্রস্তাবিত উপায়টি হ'ল partedইমেজটির দিকে নির্দেশ করা, তারপরে বাইটের জন্য ইউনিট বি এবং প্রিন্ট আউটপুট থেকে শুরু মান নেওয়া। বিকল্প হিসাবে, আপনার ডিস্কের স্থান রয়েছে তা ধরে নিয়ে, স্পষ্টতই করুন: একবার আপনার অফসেট এবং আকার হয়ে গেলে ddপ্রতিটি পার্টিশনকে আলাদা আলাদা ফাইলে এক্সট্রাক্ট করতে ব্যবহার করুন।


1
সত্যিই দুর্দান্ত উত্তর লেখার জন্য, আপনি কি এখানে সবচেয়ে গুরুত্বপূর্ণ অংশগুলি ব্যাখ্যা করতে পারেন? একটি লিঙ্ক থাকা দুর্দান্ত, তবে এখানে তথ্য রাখা ভাল হবে।
slhck

1
এখানে মূল অংশটি: mount -o loop,ro,offset=32256 hda.img /mnt/rabbitযেখানে মানটি offsetবাইটে রয়েছে। অফসেটটি পাওয়ার প্রস্তাবিত উপায়টি হচ্ছে ইমেজটিতে বিভক্ত হওয়া, তারপরে unit Bবাইটের জন্য এবং আউটপুট startথেকে মান নেওয়া take printবিকল্প হিসাবে, আপনার ডিস্কের স্থান রয়েছে তা ধরে নিয়ে, স্পষ্টতই করুন: একবার আপনার অফসেট এবং আকার হয়ে গেলে ddপ্রতিটি পার্টিশনকে আলাদা আলাদা ফাইলে এক্সট্রাক্ট করতে ব্যবহার করুন।
একটি সিভিএন

হ্যাঁ, খুব ছোট হওয়ার জন্য দুঃখিত। মাইকেল যেমন প্রাসঙ্গিক অংশটি নির্দেশ করেছেন, অবশ্যই, বিকল্পটি mountসম্বলিত লাইন offset
এমিলিয়ানো

2
local_image_file=/var/tmp/image.img
first_byte=$(parted -m ${local_image_file} unit B print | grep Linux | cut --fields 2 --delimiter ':' | sed 's/.$//')
loop_file=/var/tmp/loop
mkdir -p ${loop_file}
mount -o loop,ro,offset=${first_byte} ${local_image_file} ${loop_file}

1
যদিও এটি প্রশ্নের উত্তর দিতে পারে, আপনি কেন এটি করেন তার কিছু ব্যাখ্যা দিতে পারলে এটি আরও ভাল উত্তর হবে।
DavidPostill

2

আজকাল আপনি ব্যবহার করে আপনার কাজকে ছোট করতে পারেন udisksআর্কউইকি থেকে সমাধান : udisks - মাউন্ট লুপ ডিভাইস

আইএসও চিত্রগুলি সহজে মাউন্ট করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

udisksctl loop-setup -r -f image.iso

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

-r কেবল পঠন বিকল্পের জন্য।


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