मैं .vhd फ़ाइल कैसे माउंट करूं?


11

मैं 13.04 Raring amd64 का उपयोग कर रहा हूं और मुझे अपने ubuntu पर एक .vhd फ़ाइल माउंट करने की आवश्यकता है । मैंने इसके बारे में गुगली की है और पाया है कि वर्चुअलबॉक्स-फ्यूज पैकेज इसका जवाब है।

लेकिन पैकेज को रिपॉजिटरी से हटा दिया गया था। क्या पैकेज w / 13.04 को स्थापित करने का कोई तरीका है? या फिर वर्चुअलबॉक्स-फ्यूज का कोई विकल्प है?


मैंने बस यही किया है, और मेरे खोज परिणाम समाप्त हो गए हैं कि आप vdi को एक कच्ची छवि में बदल सकते हैं
zeitue

बू। यह एक अच्छा समाधान नहीं है जब एक vhd या vdi फ़ाइल एक कच्ची छवि के रूप में नकल करने के लिए बहुत बड़ी हो सकती है
जोशुआ रॉबिसन

1
तो, अगर मैं virtualbox स्थापित करता हूं तो मैं vdfuse कमांड का उपयोग कर सकता हूं?

जवाबों:


4
sudo apt-get install virtualbox-fuse
sudo mkdir /mnt/vhd-disk/
sudo vdfuse -f disk.vhd /mnt/vhd-disk/
sudo mount -o loop  /mnt/vhd-disk/Partition1 /mnt/partition1

ध्यान दें कि आपको mountअपनी पसंद के अनुसार अनुमतियाँ सेट करने के लिए अतिरिक्त विकल्पों की आवश्यकता हो सकती है ।


यह काम करता है, आप उदाहरण के लिए vdfuse.sourceforge.net से vdfuse डाउनलोड कर सकते हैं । मेरे मामले में अंतिम पंक्ति थी: sudo Mount -o -loop / tmp / win / Partition1 / mnt / Windows
MaxV

4

उबंटू 15.10 (उबंटू 16.04 पर भी काम करता है) का उपयोग करके, आप vhdimount और tsk (द स्लीथ किट) के माध्यम से स्थापित कर सकते हैं:

sudo apt-get install libvhdi-utils sleuthkit

फिर आप निम्नानुसार आगे बढ़ सकते हैं:

sudo mkdir -v /mnt/vhd
sudo vhdimount -X allow_root /path/to/file.vhd /mnt/vhd/
sudo mmls -aB /mnt/vhd/vhdi1

अगला, आपको mmlsइस तरह के आउटपुट से ऑफसेट की गणना करनी होगी :

echo offset*512 | bc

और खत्म करने के लिए:

sudo mkdir -v /media/${USER}/your/folder
sudo mount -vt ntfs-3g -o ro,noload,offset=offset-found /mnt/vhd/vhdi1 /media/${USER}/your/folder

offset-foundअपने ऑफसेट द्वारा बदलें । आपको अपनी vhd फाइल में शामिल fs-type के अनुसार fs-type को बदलना पड़ सकता है।

मैंने एक स्क्रिप्ट बनाई है, इसलिए मुझे हर बार इसे टाइप करने की ज़रूरत नहीं है;)


यह केवल पढ़ने के लिए इसे mounts। मैं इसे लिखने की अनुमति के साथ माउंट करने के लिए क्या कर सकता हूं? अभी भी केवल पढ़ने के roलिए mountपरिणाम के लिए आमंत्रित ।
मैड्स स्केजर्न

roद्वारा बदलें rwऔर जिसे पढ़ने / लिखने के बजाय केवल पढ़ने / लिखने में चलना चाहिए। पढ़ने / लिखने की विधा में vhdimountनक्शे /mnt/vhd/vhdi1लेकिन अगली कमांड का उपयोग mountपढ़ने में / केवल तभी होता है जब आप rwविकल्प के रूप में निर्दिष्ट नहीं करते हैं
Jiab77

1
Ubuntu 16.04 में: विभाजन के शुरुआती क्षेत्र के बारे में जानने के लिए mmls या fdisk का उपयोग करने के बजाय, आप kpartxएक वर्चुअल डिवाइस फ़ाइल बनाने के लिए भी उपयोग कर सकते हैं जिसे आप एक offsetविकल्प के बिना माउंट कर सकते हैं :sudo kpartx -av /mnt/vhd/vhdi1; sudo mount -vt ntfs-3g -o ro,noload /dev/mapper/loop0p1 /media/${USER}/your/folder
slowhand

2

उबंटू के लॉन्चपैड स्थान की खोज, निम्नलिखित आता है:

वर्चुअलबॉक्स (बाइनरी 'वर्चुअलबॉक्स-फ्यूज' वर्चुअलबॉक्स पैकेज का हिस्सा है)

इसका मतलब है कि वे virtualbox-fuseमुख्य पैकेज में विलय हो गए हैं और आपको बस रिपॉजिटरी से वर्चुअलबॉक्स स्थापित करने की आवश्यकता है (यह वही है जिसे कॉल किया जाता है virtualbox-ose, इसलिए यदि आपको PUEL लाइसेंस प्राप्त "पूर्ण" संस्करण की आवश्यकता है, तो यह आपकी मदद नहीं करेगा।)


2

मैं वीएचडी छवि पर डेटा तक पहुंचने के लिए वीएम पर भरोसा नहीं करना चाहता हूं। के बाद से virtualbox-fuseऔर vdfuseउबंटू में अब उपलब्ध नहीं है ( नहीं के बाद से सटीक (12.04) ) और डेबियन ( खरखरा (7) के बाद से नहीं )। मैं एक व्यक्तिगत VHD का उपयोग करके NTFS विभाजन को माउंट करने में सक्षम था blk-tap

से tap-ctl spawn, निश्चित रूप से उपयुक्त पीड़ डालें । आपकी विभाजन योजना खदान से भिन्न हो सकती है, इसलिए तदनुसार समायोजित करें।

# apt-get install blktap-utils
# modprobe blktap
# tap-ctl allocate
/dev/xen/blktap-2/tapdev0
# tap-ctl spawn
tapdisk spawned with pid 1234
# tap-ctl attach -m 0 -p 1234
# tap-ctl open -m 0 -p 1234 -a vhd:/full/path/to/image.vhd
# mount /dev/disk/by-id/dm-name-tapdev0p1
# ls -lh do/your/thing with/all/your/files.txt 
# tap-ctl close -m 0 -p 1234
# tap-ctl detach -m 0 -p 1234
# tap-ctl free -m 0

ये कदम एक्सईएन प्रोजेक्ट की विकि से आया है ।

मेरा ब्लॉक डिवाइस बनाया गया था /dev/xen/blktap-2/blktap0। किसी कारण से, kpartx -aविभाजन को मैप नहीं करेंगे (मैं / dev / xen / blktap-2 / tapdev0p1 की तलाश कर रहा था), लेकिन मैंने पाया कि /dev/disk/by-id/dm-name-tapdev0p1विभाजन के लिए ब्लॉक डिवाइस से जोड़ा गया था।


1

यहाँ मैं इसके लिए क्या किया है:

ऐसा लगता है कि वहाँ जाने के लिए एक आसान तरीका नहीं है। मैंने virtualbox-fuseलॉन्चपैड से सिर्फ डेब पैकेज फ़ाइल डाउनलोड की है । ( यहाँ )

मैंने 4.1.18 को चुना क्योंकि मेरा vbox थोड़ा पुराना है, लेकिन मुझे लगता है कि यह हाल के संस्करण के साथ काम करेगा।

के साथ पैकेज स्थापित करें dpkg -i। आपको --force-dependsस्थापित करने के लिए विकल्प निर्दिष्ट करने की आवश्यकता हो सकती है ।


9
फिर क्या? स्थापित करने के बाद आप VHD कैसे माउंट करते हैं?
एनकाउमी

1

मैंने सफलतापूर्वक एक .vhdx फ़ाइल बनाई जिसे मैंने अपने Ubuntu 16.04 OS के साथ विंडोज 10 बैकअप फ़ाइलों के साथ बनाया था, जिसे प्रोग्राम कहा जाता है guestmount

guestmountमैनुअल पेज libguestfs.org पर

ध्यान दें कि अनुमतियों को समायोजित करने की आवश्यकता है, या निष्पादित होने के बाद sudo -iया माउंट sudo -sकिया गया है।


-1

आप VirtualBox का उपयोग कर सकते हैं।

वर्चुअलबॉक्स एक नि: शुल्क x86 वर्चुअलाइजेशन समाधान है जो लिनक्स सिस्टम पर चलने के लिए विंडोज, डॉस, बीएसडी या लिनक्स जैसे x86 ऑपरेटिंग सिस्टम की एक विस्तृत श्रृंखला की अनुमति देता है।

VirtualBox के तहत उबंटू 13.04, बस प्रेस स्थापित करने के लिए Ctrl+ Alt+ Tखुला टर्मिनल के लिए अपने कीबोर्ड पर। जब यह खुलता है, तो नीचे कमांड चलाएँ:

sudo apt-get install virtualbox

एक बार जब यह इंस्टॉल करना समाप्त कर लेता है, तो आगे बढ़ें और एक नई वर्चुअल मशीन बनाएं

यहाँ छवि विवरण दर्ज करें

नाम में टाइप करें। सुनिश्चित करें कि आप VHD में मौजूद OS का सही प्रकार और संस्करण चुनते हैं।

यहाँ छवि विवरण दर्ज करें

किसी मौजूदा वर्चुअल हार्ड ड्राइव फ़ाइल का उपयोग करें, और अपनी VHD फ़ाइल के लिए ब्राउज़ करें, और फिर create पर क्लिक करें।

यहाँ छवि विवरण दर्ज करें


2
यह आपको VHD पर चलने वाले OS को चलाने देगा, लेकिन यह आपको लिनक्स में छवि को माउंट करने की अनुमति नहीं देता है।
IQAndreas
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.