ฉันจะเมาท์ไฟล์. vhd ได้อย่างไร


11

ฉันใช้ 13.04 raring AMD64 และฉันต้องการที่จะติดไฟล์ .vhd บนอูบุนตูของฉัน ฉันเข้าไปเกี่ยวกับมันและพบว่าแพ็คเกจ virtualbox-ฟิวส์เป็นคำตอบ

แต่แพคเกจถูกลบออกจากพื้นที่เก็บข้อมูล apt มีวิธีการติดตั้งแพ็คเกจด้วย 13.04 ไหม? หรือมีทางเลือกอื่นเพื่อ virtualbox-ฟิวส์?


ผมก็ไม่ได้สิ่งเดียวกันนี้และผลการค้นหาของฉันจบลงด้วยการที่คุณสามารถแปลง VDI ไปยังภาพดิบ
zeitue

หุยฮา นั่นไม่ใช่วิธีแก้ปัญหาที่ดีเมื่อไฟล์ vhd หรือ vdi มีขนาดใหญ่เกินไปที่จะทำสำเนาเป็นไฟล์ภาพดิบ
Joshua Robison

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 จากvdfuse.sourceforge.net เช่นในกรณีของฉันบรรทัดสุดท้ายคือ: sudo mount -o -loop / tmp / win / Partition1 / mnt / Windows
MaxV

4

ใช้ Ubuntu 15.10 (ใช้ได้กับ Ubuntu 16.04) คุณสามารถติดตั้ง vhdimount และ tsk (The Sleuth Kit) ผ่านทาง:

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ด้วยออฟเซ็ตของคุณ คุณอาจต้องเปลี่ยนประเภท fs ตามประเภท fs ที่รวมอยู่ในไฟล์ vhd ของคุณ

ฉันได้สร้างสคริปต์ดังนั้นฉันจึงไม่ต้องพิมพ์สิ่งนี้ทุกครั้ง;)


สิ่งนี้จะเมานต์เป็นแบบอ่านอย่างเดียว ฉันจะทำอย่างไรเพื่อเมาท์ด้วยสิทธิ์การเขียน การละเว้นroสำหรับmountผลลัพธ์ยังเป็นแบบอ่านอย่างเดียว
Mads Skjern

เปลี่ยน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

ค้นหาพื้นที่ Launchpad ของ Ubuntu ต่อไปนี้เกิดขึ้น:

virtualbox (ไบนารี 'virtualbox-fuse' เป็นส่วนหนึ่งของแพ็คเกจ virtualbox)

ซึ่งหมายความว่าพวกเขารวมvirtualbox-fuseอยู่ในแพ็คเกจหลักและคุณเพียงแค่ต้องติดตั้งเวอร์ชวลบ็อกซ์จากที่เก็บ (นี่คือสิ่งที่เคยถูกเรียกใช้virtualbox-oseดังนั้นหากคุณต้องการรุ่น "เต็ม" ที่ได้รับอนุญาตจาก PUEL สิ่งนี้จะไม่ช่วยคุณ)


2

ฉันไม่ต้องการพึ่ง VM เพื่อเข้าถึงข้อมูลบนอิมเมจ vhd ตั้งแต่virtualbox-fuseและvdfuseไม่มีใน Ubuntu ( ไม่แม่นยำ (12.04) ) และ Debian ( ไม่ใช่ตั้งแต่ Wheezy (7) ) ผมสามารถที่จะติดพาร์ติชัน NTFS ของ VHD blk-tapส่วนบุคคลโดยใช้

ใส่ pid ของ apropriate จาก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

ขั้นตอนเหล่านี้มาจากโครงการ Xen ของวิกิพีเดีย

/dev/xen/blktap-2/blktap0อุปกรณ์ป้องกันของฉันถูกสร้างขึ้นที่ ด้วยเหตุผลบางอย่างkpartx -aจะไม่แมปพาร์ติชัน (ฉันกำลังมองหา / dev / xen / blktap-2 / tapdev0p1) แต่ฉันพบว่า/dev/disk/by-id/dm-name-tapdev0p1มีการเชื่อมโยงกับอุปกรณ์บล็อกสำหรับพาร์ติชัน


1

นี่คือสิ่งที่ฉันทำเพื่อ:

ดูเหมือนจะไม่มีทางที่ราบรื่นในการไป ฉันเพิ่งดาวน์โหลดvirtualbox-fuseไฟล์แพ็คเกจ deb จาก launchpad ( ที่นี่ )

ฉันเลือก 4.1.18 เพราะ vbox ของฉันเก่ากว่านิดหน่อย แต่ฉันเดาว่ามันจะใช้ได้กับเวอร์ชั่นล่าสุด

dpkg -iติดตั้งแพคเกจที่มี คุณอาจต้องระบุ--force-dependsตัวเลือกสำหรับการติดตั้ง


9
แล้วไง? คุณติดตั้ง VHD อย่างไรหลังจากติดตั้งแล้ว
Enkouyami

1

ฉันประสบความสำเร็จในการติดตั้งไฟล์. vhdx ที่ฉันสร้างด้วยไฟล์สำรองข้อมูล Windows 10 ไปยัง Ubuntu 16.04 ระบบปฏิบัติการโดยใช้โปรแกรมที่เรียกว่า guestmount

guestmountหน้าคู่มือใน libguestfs.org

โปรดทราบว่าสิทธิ์จะต้องมีการปรับเปลี่ยนหรือเมานต์เข้าถึงหลังจากsudo -iหรือsudo -sดำเนินการแล้ว


-1

คุณสามารถใช้ VirtualBox

VirtualBox เป็นโซลูชั่น virtualization x86 ฟรีที่ช่วยให้ระบบปฏิบัติการ x86 หลากหลายเช่น Windows, DOS, BSD หรือ Linux สามารถทำงานบนระบบ Linux

ในการติดตั้ง VirtualBox ภายใต้ Ubuntu 13.04 เพียงกดCtrl+ Alt+ Tบนแป้นพิมพ์เพื่อเปิด Terminal เมื่อเปิดขึ้นให้เรียกใช้คำสั่งด้านล่าง:

sudo apt-get install virtualbox

เมื่อติดตั้งเสร็จแล้วให้ดำเนินการต่อและสร้างเครื่องเสมือนใหม่

ป้อนคำอธิบายรูปภาพที่นี่

พิมพ์ชื่อ ตรวจสอบให้แน่ใจว่าคุณเลือกประเภทที่ถูกต้องและเวอร์ชั่นของระบบปฏิบัติการที่อยู่ใน VHD

ป้อนคำอธิบายรูปภาพที่นี่

เลือกใช้ไฟล์ฮาร์ดไดรฟ์เสมือนที่มีอยู่แล้วเรียกดูไฟล์ VHD ของคุณแล้วคลิกที่สร้าง

ป้อนคำอธิบายรูปภาพที่นี่


2
จะช่วยให้คุณเรียกใช้ระบบปฏิบัติการที่อยู่บน VHD แต่ไม่อนุญาตให้คุณเมานต์อิมเมจใน Linux
IQAndreas
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.