লিনাক্সে মাল্টি-পার্টিশন ডিস্ক চিত্রটি কীভাবে মাউন্ট করবেন?


22

আমি একটি কাঁচা এসডি কার্ড চিত্র ডাউনলোড করেছি যার দুটি পার্টিশন রয়েছে।

আমি সরাসরি কোনও এসডি কার্ডে এটি ডিডি করার চেষ্টা করার সময় এটি কিছু ফাইল সিস্টেমের ত্রুটির সৃষ্টি করেছিল। কার্ডটি ত্রুটিযুক্ত কিনা বা চিত্রটি সম্পর্কে আমি নিশ্চিত নই।

এই চিত্রটি কোনও ভৌত কার্ডে না লিখে পরীক্ষা করার কোনও উপায় আছে কি? পার্টিশনগুলি আলাদাভাবে মাউন্ট করার চেষ্টা করা বা টেবিলগুলি পরীক্ষা করা?

উত্তর:


18

আপনি ইমেজের পার্টিশনের জন্য লুপ ডিভাইস তৈরি করতে কে- পার্টেক্স বা পারটেক্স ব্যবহার করতে পারেন এবং তারপরে মাউন্ট করতে পারেন। সুতরাং হয়:

$ sudo kpartx -v -a file.iso
add map loop0p1 (253:17): 0 8382464 linear 7:1 2048
$ mount /dev/mapper/loop0p1 ./mnt_point
...  do something with the partition  ...
$ umount ./mnt_point
$ kpartx -d -v file.iso
del devmap : loop0p1
loop deleted : /dev/loop0

বা:

$ sudo partx -a -v file.iso
partition: none, disk: file.iso, lower: 0, upper: 0
Trying to use '/dev/loop0' for the loop device
/dev/loop0: partition table type 'dos' detected
range recount: max partno=1, lower=0, upper=0
/dev/loop0: partition #1 added
$ mount /dev/loop0p1 ./mnt_point
...  do something with the partition  ...
$ umount /dev/loop0p1 ./mnt_point
$ sudo partx -d -v /dev/loop0
partition: none, disk: /dev/loop0, lower: 0, upper: 0
/dev/loop0: partition #1 removed

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


ধন্যবাদ @ ফ্র্যাঙ্ক-ব্রেথলিং আমার কাছে আসার সুযোগ হওয়ার আগে পর্যালোচনাকারীরা সম্পাদনা প্রত্যাখ্যান করেছিল।
ক্যাটসকুল

13

losetup -Pf ইউজ-লিনাক্স> = 2.21 (উবুন্টু 16.04)

sudo losetup -Pf disk.img
sudo mkdir /mnt/loop0p1
sudo mount /dev/loop0p1 /mnt/loop0p1

দেখুন (8) losetup man পৃষ্ঠা এবং https://askubuntu.com/questions/69363/mount-single-partition-from-image-of-entire-disk-device/673257#673257

losetup -P স্বয়ংক্রিয়তা

এখানে আরও স্বয়ংক্রিয় করার জন্য এখানে ফাংশন রয়েছে। ব্যবহার:

$ los my.img
/dev/loop0
/mnt/loop0p1
/mnt/loop0p2

$ ls /mnt/loop0p1
/whatever
/files
/youhave
/there

$ sudo losetup -l
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE                                                                                      DIO
/dev/loop1         0      0         0  0 /full/path/to/my.img

$ # Cleanup.
$ losd 0
$ ls /mnt/loop0p1
$ ls /dev | grep loop0
loop0

উৎস:

los() (
  img="$1"
  dev="$(sudo losetup --show -f -P "$img")"
  echo "$dev"
  for part in "$dev"?*; do
    if [ "$part" = "${dev}p*" ]; then
      part="${dev}"
    fi
    dst="/mnt/$(basename "$part")"
    echo "$dst"
    sudo mkdir -p "$dst"
    sudo mount "$part" "$dst"
  done
)
losd() (
  dev="/dev/loop$1"
  for part in "$dev"?*; do
    if [ "$part" = "${dev}p*" ]; then
      part="${dev}"
    fi
    dst="/mnt/$(basename "$part")"
    sudo umount "$dst"
  done
  sudo losetup -d "$dev"
)

1

আপনি চেষ্টা করতে পারেন:

মাউন্ট -t টাইপ -o লুপ। / চিত্র / mnt

যেখানে "টাইপ" = এফএস টাইপ এবং "চিত্র" আপনার ডাউনলোড করা ফাইলের নাম


3
এটি নিয়ে ভাবনা, এটি একাধিক পার্টিশনযুক্ত কোনও চিত্রের সাথে কাজ করতে পারে না।
টোগ

2
আপনাকে "মাউন্ট-ল লুপ, রো, অফসেট = XXXXXXXX ইমেজফিল / এমএনটি" এর মতো কিছু দিয়ে মাউন্ট করার জন্য একক পার্টিশনের অফসেট নির্দিষ্ট করতে হবে
মিঃ শুঞ্জ

1
কোনও অফসেট নির্দিষ্ট করার জন্য হারানো কাজটি করবে না?
টগ

আপনি ঠিক বলেছেন ... লটআপের সাহায্যে আপনি একটি লুপব্যাক ডিভাইস তৈরি করতে পার্টিশনে একটি অফসেট সেট করতে পারেন যা কেবল মাউন্ট / ডেভ / লুপএক্স / এমএনটি দিয়ে মাউন্ট করা যায়
মিঃ শুনজ

1

সার্ভারফল্টে এই উত্তরটি পরামর্শ দেয়:

একটি / ডিভ / লুপ পেতে হার্টআপ ব্যবহার করবেন? ডিভাইস, তারপরে ইমেজ ফাইলের পার্টিশনের জন্য ডেপ ম্যাপিং তৈরি করতে এর উপর কেপার্টেক্স ব্যবহার করুন।

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