একটি ডিস্ক চিত্রের সাথে পার্টিশনগুলি একত্রিত করুন


13

আমার কাছে 3 টি চিত্র রয়েছে। প্রতিটি চিত্র একটি পার্টিশন ক্লোন করে (ডিডি দ্বারা) সম্পন্ন করা হত (এই পার্টিশনগুলি ext3 ফাইল সিস্টেম ব্যবহার করে ফর্ম্যাট করা)। একটি পার্টিশন GRUB1 (CentOS) দিয়ে বুট-সক্ষম

আমি কীভাবে এগুলিকে একটি ডিস্ক চিত্রের সাথে সংযুক্ত করতে পারি?

(আমি ডিডি কমান্ড ব্যবহার করে পার্টিশনগুলির চিত্রগুলি অনুলিপি করতে পারি, তবে কীভাবে পার্টিশন সারণী তৈরি করতে এবং বুটকে কাজ করতে হয় তা আমি জানি না)।


1
আপনি সত্যিই কি করতে চেষ্টা করছেন? নতুন হার্ডওয়্যার ইত্যাদিতে একটি ওয়ার্কিং সিস্টেম ক্লোন করুন? একটি একক সিস্টেমে বিভিন্ন মাউন্ট পয়েন্ট থেকে তিনটি পার্টিশন ছিল?
মাইক রেনফ্রো

লক্ষ্য কী? আপনি ফাইল-সিস্টেম ইমেজগুলির সাথে কাজ করতে লুপব্যাক ডিভাইসগুলি ব্যবহার করতে পারেন, তবে পার্টিশন / ফাইল-সিস্টেম চিত্রগুলির চেয়ে ডিস্ক চিত্রগুলি পরিবর্তন করা আরও অনেক জটিল।
মাইকেল লোম্যান

উত্তর:


15

একটি ডিস্ক চিত্র তৈরি করুন। নিম্নলিখিত কমান্ডটি একটি 10 ​​জি স্পার্স চিত্র তৈরি করবে :

# dd if=/dev/zero of=mydisk.img bs=1 count=0 seek=10G
0+0 records in
0+0 records out
0 bytes (0 B) copied, 1.6554e-05 s, 0.0 kB/s
# ls -lh mydisk.img
-rw-r--r--. 1 root root 10G Jun 17 15:27 mydisk.img

Fdisk সহ চিত্রটি বিভাজন করুন:

# fdisk mydisk.img

আপনি যে ইমেজগুলি করেছেন তার চেয়ে কম কম বড় পার্টিশন তৈরি করেছেন তা নিশ্চিত করুন! এই উদাহরণের জন্য আমি নিম্নলিখিত লেআউটটি তৈরি করেছি:

# fdisk -l mydisk.img
Disk mydisk.img: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x5519250f

     Device Boot      Start         End      Blocks   Id  System
mydisk.img1            2048     2099199     1048576   83  Linux
mydisk.img2         2099200     4196351     1048576   83  Linux

kpartxপ্রতিটি পার্টিশনের সাথে সম্পর্কিত ডিভাইস তৈরি করতে ব্যবহার করুন :

# kpartx -av mydisk.img
add map loop0p1 (253:3): 0 2097152 linear /dev/loop0 2048
add map loop0p2 (253:4): 0 2097152 linear /dev/loop0 2099200

এটি এর অধীনে এন্ট্রি তৈরি করবে /dev/mapper:

# ls -l /dev/mapper
lrwxrwxrwx. 1 root root       7 Jun 17 15:33 loop0p1 -> ../dm-3
lrwxrwxrwx. 1 root root       7 Jun 17 15:33 loop0p2 -> ../dm-4

এখন আপনি আপনার পার্টিশনে আপনার পার্টিশন চিত্রগুলি অনুলিপি করতে পারেন:

# dd if=image_of_partition_1.img of=/dev/mapper/loop0p1 bs=1M
# dd if=image_of_partition_2.img of=/dev/mapper/loop0p2 bs=1M

এখন ডিভাইস ম্যাপিংগুলি সরান:

# kpartx -dv mydisk.img
del devmap : loop0p2
del devmap : loop0p1
loop deleted : /dev/loop0

এবং আপনি প্রস্তুত!

মন্তব্য

  • আপনি একই জিনিসটি ব্যবহার করে ddএবং seekপ্যারামিটার ব্যবহার করে (আপনার ডিস্ক চিত্র ফাইলে উপযুক্ত অফসেটে লেখা শুরু করতে) ব্যবহার করার পরিবর্তে সম্পন্ন করতে পারেন kpartx, তবে আমি মনে করি যে kpartxব্যবহারটি কম ত্রুটিযুক্ত one

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

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