ভার্চুয়ালবক্স ড্রাইভের চিত্র (ভিডিআই) মাউন্ট করবেন?


88

কোনও ভার্চুয়ালবক্স ড্রাইভ চিত্র (.vdi) মাউন্ট করা সম্ভব হয় যাতে নটিলাসে বিষয়বস্তুগুলি দেখা যায়?

আমার কাছে উইন্ডোজ 2000 .vdi রয়েছে যা ভার্চুয়ালবক্স ২.x থেকে ৩.১..6 এ আপগ্রেড করার পরে ("অ্যাক্সেসযোগ্য বুট ডিভাইস") বুট করবে না। আমি বিশ্বাস করি যে আইডিই ড্রাইভের বিবরণ পরিবর্তন হয়েছে এবং আমার কেবলমাত্র অভ্যন্তরীণ ড্রাইভের চিত্রটি অ্যাক্সেস boot.iniকরা এবং নতুন স্থানে ইঙ্গিত করার জন্য উইন্ডোজ সম্পাদনা করা দরকার ।


1
যদি আপনার .vdi এবং তারপরে .img ফাইলটিতে আরও 1 টি বিভাজন থাকে, তবে এটি খুব দরকারী: ব্রাউজ করুন-
ইমগ

উত্তর:


55

আপনি স্ট্যান্ডার্ড ছবিতে রূপান্তর করতে পারেন এবং তারপরে এটি মাউন্ট করতে পারেন।

VBoxManage clonehd --format RAW ubuntu.vdi ubuntu.img

তারপর

mount -t ext3 -o loop,rw ./ubuntu.img /mnt

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

আপনার VDI ফাইল সম্পর্কে বিস্তারিত পরীক্ষা করার জন্য, সঞ্চালন করুন: VBoxManage showhdinfo ubuntu.vdi

উত্স: [সলভ] আর্কাইভ ম্যানেজারের সাথে .vdi খুলুন? - ubuntuforums.org


4
এই জাতীয় পরিস্থিতিতে স্পেসিলি দরকারী। ওপি মূল ব্যাকআপ হিসাবে রেখে অনুলিপিটিতে কাজ করতে সক্ষম হবে।
জাভিয়ের রিভেরা

7
গতিশীল আকারের .vdi ফাইল সহ সাবধানতার সাথে এটি করা। .Img এ রূপান্তরকরণ চিত্রের ফাইলটিকে ডিস্কের লজিক্যাল আকারের চেয়ে বড় হতে বাধ্য করবে, যার কারণে এই পদ্ধতিটি কার্যকর হয় তবে এটি .vdi ফাইলের চেয়ে অনেক বড় হতে পারে। VBoxManage showhdinfo [your vdi file]আপনি যদি নিশ্চিত না হন তবে তার ফলাফল দেখুন ।
জ্যাক ও'কনোর

1
-1, স্টুইসেল এবং ম্যাক্সিম আর এর উত্তরগুলি সমাধান সরবরাহ করে - এটি ন্যায্য কাজ, কিন্তু প্রশ্নের সেরা উত্তর নয়
STW

3
ছবিটি একটি পার্টিশন টেবিল (অধিকাংশ ড্রাইভ মত) না থাকে তবে আপনার সাথে এই উত্তর একত্রিত করতে হবে এই এক পৃথক পার্টিশন মাউন্ট করতে।
বাইন

1
কাজ করে না। ভুল এফএস টাইপের মাউন্টগুলি পেতে থাকুন Keep আমি ext3 এবং ext2 এবং ext4 চেষ্টা করেছি। ভার্চুয়াল বাক্স বলে hd fs টাইপটি ext4 ext
জোশুয়া রবিসন

86

ব্যবহার করুন qemu-nbd, প্রক্রিয়াটি সার্ভারফল্টে এবং এই ব্লগে ব্যাখ্যা করা হয়েছে

মূলত, qemuপ্রয়োজন হলে আপনাকে ইনস্টল করতে হবে:

sudo apt-get install qemu

তারপরে আপনাকে নেটওয়ার্ক ব্লক ডিভাইস মডিউলটি লোড করতে হবে :

sudo rmmod nbd
sudo modprobe nbd max_part=16

আপনি সদ্য তৈরি করা এনবিডির একটিতে .vdi চিত্রটি সংযুক্ত করুন:

sudo qemu-nbd -c /dev/nbd0 drive.vdi

এখন আপনি বেশ কয়েকটি / dev / nbd0p * পার্টিশন ডিভাইস নোড সহ একটি / dev / nbd0 ব্লক ডিভাইস পাবেন।

sudo mount /dev/nbd0p1 /mnt

আপনার কাজ শেষ হয়ে গেলে, সমস্ত কিছু আনমাউন্ট করুন এবং ডিভাইসটি সংযোগ বিচ্ছিন্ন করুন:

sudo qemu-nbd -d /dev/nbd0

আমি এটি উল্লেখ করতে চাই যে max_part=16এটি একটি সমালোচনামূলক অংশ বলে মনে হচ্ছে। এটি ছাড়া আপনি কোনও /dev/nbd0pXফাইল দেখতে পাবেন না , যদিও মূল ডিভাইসটি সঠিকভাবে কাজ করবে। লোকেরা এই সমস্যার মুখোমুখি হয় তা দেখতে জেন্টু ফোরামে নিম্নলিখিত আলোচনাটি পরীক্ষা করুন ।
ফায়ারগুফিকু

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

2
এটি দুর্দান্ত কাজ করেছে। মনে রাখবেন qemu-kvmপরিবর্তে ইনস্টল করা qemuঠিক তত ভালভাবে কাজ করতে পারে। এটি আমার উব্ব্টু ১.0.০৪-এ আমার জন্য করেছে এবং সম্পূর্ণ কিমু ইনস্টলের জন্য 230MB এর পরিবর্তে কেবল 23MB এবং 13 নির্ভরতা এবং আরও অনেক নির্ভরতা ইনস্টল করেছে।
mivk

2
আমি যুক্ত করতে চাই যে আপাততsudo partprobe নতুন কার্নেলগুলি দিয়ে মৃত্যুদন্ড কার্যকর করা দরকার যাতে এটি /dev/nbd0p*ডিবিয়ান / উবুন্টুতে তৈরি করা হয় ( বাগস.ডিবিয়ান.আর.বি.সি / বিগ্রেপুট.সি ?? বুগ=824553 )।
কাই

1
এটি গ্রহণযোগ্য উত্তর হওয়া উচিত !! আমার ভিডিআই আমার হার্ড ড্রাইভে একটি .iso রূপান্তর করতে খুব বড়। কিছুক্ষণ লড়াই করার পরে আমি স্ক্রোল করে দেখলাম যে অন্য কোনও পদ্ধতি সরাসরি ভিডিআই ব্যবহার করে কিনা। এই এক সহজ। (দ্রষ্টব্য: আমাদের হার্ড ড্রাইভ পূরণ করা সম্পর্কে যত্নশীল আমাদের জন্য
কিউমু

35

দেখে মনে হচ্ছে ভিডিফিউজ হল যে সরঞ্জামটি আপনি সন্ধান করছেন। এটি উবুন্টু সংগ্রহস্থলগুলিতে রয়েছে। আপনি যদি নিজেকে সংকলন করতে চান (২০১০ উত্স) আপনি এটিও করতে পারেন ।

তবে আমাদের বেশিরভাগের জন্য এটি একটি সাধারণ থেকে সিদ্ধ হয়:

sudo apt-get install virtualbox-fuse

দেখে মনে হচ্ছে এটি এখন গতিশীল ভিডিআই সমর্থন করে।

এবং dir .vdiফাইলটি মাউন্ট /mntকরতে কমান্ডটি ব্যবহার করুন:

sudo vdfuse -a -f /path-to-vdi-file /mnt

পুরো ডিস্কটি পার্টিশন Partition1, Partition2নামকরণ ফর্ম্যাট দিয়ে মাউন্ট করা হবে। তারপরে সেই ফাইলগুলি লুপ মাউন্ট করা যায়। উদাহরণ স্বরূপ,

sudo mount -o loop /mnt/Parition1 /mountpoint

1
@ ম্যাটওয়িলকি: এখন পার্থক্য: আর কোনও ম্যানুয়াল সংকলনের প্রয়োজন নেই
স্টিভিসেল

1
আপনি স্বাগত জানাই।
গ্লাসে ঠোঁটের

5
এটি 14.04 এ উপলব্ধ নয়।
int_ua

2
এক এখান থেকে এটা বিনামূল্যে ডাউনলোড করতে পারেন: sourceforge.net/projects/vdfuse/?source=typ_redirect এবং এটি (15.04 দিকে) কাজ করে
sup

4
16.10 এর জন্য আর বৈধ নয়, প্যাকেজ আর বিদ্যমান নেই।
পিসকভোর

14

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

পদক্ষেপ 1: ধরে নিই যে ভার্চুয়াল বাক্সে আপনার ইতিমধ্যে ভার্চুয়াল ওএস রয়েছে (উবুন্টু 16.04 বলুন) ইনস্টল করা আছে, সেই ভার্চুয়াল ওএসের সেটিংস থেকে একটি নতুন সঞ্চয়স্থান যুক্ত করুন। এখানে চিত্র বর্ণনা লিখুন

পদক্ষেপ 2: আপনি যে ভিডিআই অ্যাক্সেস করতে চান সেটি ব্রাউজ করুন এবং এটি নির্বাচন করুন।

পদক্ষেপ 3: ভার্চুয়াল ওএসে লগন।

পদক্ষেপ 4: ভার্চুয়াল ডিস্কটি সম্ভবত ওএসের অভ্যন্তরে উপলব্ধ হবে। যদি না হয়, পদক্ষেপ 5 অনুসরণ করুন

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


1
রেকর্ডের জন্য, ২০১ in সালে এটি কাজ করবে না
পাওলো পেদ্রোসো 25'16

1
এটি উবুন্টু 16.04 এ কাজ করে।
শারুন

সত্যই এটিই একমাত্র সমাধান যখন আপনাকে পরিবর্তন করতে হবে এবং তারপরে এটি ব্যবহারে ফিরে যেতে হবে, vdfuse নিয়ে কাজ করা rw পেতে পারেন না
ডুবিস্টকোমিচ

7

আমি নিজে পরীক্ষা করিনি তবে তাদের মাউন্ট করার জন্য একটি ফিউজ মডিউল রয়েছে ( vdfuse), নীচের পৃষ্ঠাটি দেখুন:

দয়া করে নোট করুন যে এটি লেখার অ্যাক্সেসের জন্য ব্যবহার করা ঝুঁকিপূর্ণ।


ব্যবহার:

$ ./vdfuse-v<version> -h
USAGE: ./vdfuse [options] -f image-file mountpoint
   -h   help
   -r   readonly
   -t   specify type (VDI, VMDK, VHD, or raw; default: auto)
   -f   VDimage file
   -a   allow all users to read disk
   -w   allow all users to read and write to disk
   -g   run in foreground
   -v   verbose
   -d   debug

কোনও চিত্রের ফাইল নামটি ব্যবহার করে সরাসরি মাউন্ট করতে:

$ ./vdfuse-v<version> -f image.vdi /mnt/vdi
$ mount -o loop /mnt/vdi/Partition1 /mnt/WindowsXP

একটি মেশিন ডিস্ক মাউন্ট করতে (স্ন্যাপশট সহ):

$ ./vdautomount-<version> -p /path/to/vdfuse WinXP /mnt/vdi
$ mount -o loop /mnt/vdi/Partition1 /mnt/WindowsXP

এই ইউটিলিটিটি সমর্থিত না হওয়ায় আর প্রাসঙ্গিক নয়।
ইভান ক্যারল

3

আপনি যা অনুরোধ করেছিলেন তা নয়, তবে ভিডিআই থেকে ফাইলগুলি সরিয়ে ফেলার বিষয়টি যদি হয় এবং আপনি খুব দ্রুত সমাধান চান :

  1. আপনার হোস্টে একটি ssh সার্ভার চালান ( apt-get install openssh-server && service ssh restart)
  2. বিদ্যমান ভিডিআই ফাইল থেকে ভার্চুয়াল মেশিন তৈরি করতে ভার্চুয়ালবক্স ব্যবহার করুন, তারপরে সেই ভার্চুয়াল মেশিনটি বুট করুন। (ভিএম তৈরির সময় আমি কেবলমাত্র ডিফল্ট নেটওয়ার্ক অ্যাডাপ্টার (NAT) রেখেছি))
  3. ভার্চুয়াল মেশিনের মধ্যে, আপনার হোস্টের জন্য এসফ্টপ করুন। ( sftp hostuser@hostip)
  4. এসএফটিপ সেশনে putহোস্টের কাছে যতগুলি ফাইল আপনার প্রয়োজন হবে।

1
একটি কুরুচিপূর্ণ হ্যাক, তবে আপনি যদি শক্ত জায়গা হয়ে থাকেন তবে এটি কাজটি সম্পন্ন করে।
পিসকভোর

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

2

ভোজটেক ট্রেফনি যেমন উপরে উল্লিখিত হয়েছে,

1) প্রথমে আপনার ভিডিআই -> আইএমজি রূপান্তর করুন

VBoxManage clonehd --format RAW ubuntu.vdi ubuntu.img

2) তারপরে আইএমজি মাউন্ট করুন

mount -t ext3 -o loop,rw ./ubuntu.img /mnt

3) তবে, আমি যেমন এই ত্রুটি বার্তা পেয়েছি:

mount: wrong fs type, bad option, bad superblock on /dev/loop0,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

এবং dmesg বলেছেন:

[3105578.013671] EXT4-fs (loop0): VFS: Can't find ext3 filesystem

আপনার .img এর পার্টিশন কাঠামোটি পরীক্ষা করে দেখতে হবে:

fdisk -l ubuntu.img

Disk ubuntu.img: 21.0 GB, 20971520000 bytes
255 heads, 63 sectors/track, 2549 cylinders, total 40960000 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: 0xf45bc910

   Device Boot      Start         End      Blocks   Id  System
ubuntu.img1   *        2048    12582911     6290432   83  Linux
ubuntu.img2        12584958    16775167     2095105    5  Extended
ubuntu.img3        16775168    40959999    12092416   83  Linux
ubuntu.img5        12584960    16775167     2095104   82  Linux swap / Solaris

4) আপনি দেখতে পাচ্ছেন যে, মূল পার্টিশনটি 16775168 বাইটে শুরু হচ্ছে However তবে সেকেন্ডের আকারটি 512 বাইটের ফলে নোট করুন, সুতরাং আপনাকে ফলাফলগুলি 16775168 x 512 = 8588886016 গুণ করতে হবে যাতে আপনাকে এইভাবে মাউন্টটি অফসেট করতে হবে:

mount -t ext3 -o loop,rw,offset=8588886016 ./ubuntu.img /mnt

5) প্রকৃতপক্ষে পুনরায় আকার দেওয়ার পরে ফাইল সিস্টেমটি মলিন হওয়ার ক্ষেত্রে এটি আমার পক্ষে কাজ করে না। এই ক্ষেত্রে আমি আরও এটি করেছি:

dd if=ubuntu.img of=ubuntu.disk bs=512 skip=16775168 count=12092416
e2fsck ubuntu.disk
mount ubuntu.disk /mnt

1
এটি প্রশ্নের উত্তর নয়। আপনার আর একটি সমস্যা ছিল - একটি দূষিত চিত্র। আপনার একটি নতুন প্রশ্নের স্ব-জবাব দেওয়া উচিত।
ইভান ক্যারল

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