Làm cách nào để tôi gắn tập tin .vhd?


11

Tôi đang sử dụng 13.04 Rared amd64 và tôi cần phải gắn tệp .vhd trên Ubuntu của mình . Tôi đã googled về nó và thấy rằng gói cầu chì ảo là câu trả lời.

Nhưng gói đã bị xóa khỏi kho apt. Có cách nào để cài đặt gói w / 13.04 không? hoặc có bất kỳ thay thế cho cầu chì hộp ảo?


Tôi cũng đã làm điều tương tự, và kết quả tìm kiếm của tôi kết thúc ở chỗ bạn có thể chuyển đổi vdi thành một hình ảnh thô
zeitue

boo. đó không phải là một giải pháp tốt khi tệp vhd hoặc vdi có thể quá lớn để tạo một bản sao dưới dạng hình ảnh thô
Joshua Robison

1
Vì vậy, nếu tôi cài đặt hộp ảo, tôi có thể sử dụng lệnh vdfuse không?

Câu trả lời:


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

Lưu ý rằng bạn có thể cần các tùy chọn bổ sung mountđể đặt quyền theo ý thích của mình.


Nó hoạt động, bạn có thể tải xuống vdfuse từ vdfuse.sourceforge.net, ví dụ trong trường hợp của tôi, dòng cuối cùng là: sudo mount -o -loop / tmp / win / Partition1 / mnt / Windows
MaxV

4

Sử dụng Ubuntu 15.10 (cũng hoạt động trên Ubuntu 16.04), bạn có thể cài đặt vhdimount và tsk (Bộ Sleuth) thông qua:

sudo apt-get install libvhdi-utils sleuthkit

Sau đó, bạn có thể tiến hành như sau:

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

Tiếp theo, bạn sẽ phải tính toán phần bù từ đầu ra mmlsnhư thế này:

echo offset*512 | bc

Và để kết thúc:

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

Thay thế offset-foundbằng bù của bạn. Bạn cũng có thể phải thay đổi loại fs theo loại fs có trong tệp vhd của bạn.

Tôi đã tạo một kịch bản để tôi không phải gõ nó mỗi lần;)


Điều này gắn kết nó như chỉ đọc. Tôi có thể làm gì để gắn kết nó với quyền ghi? Bỏ qua rocho mountkết quả vẫn chỉ đọc.
Mads Skjern

Thay đổi robởi rwvà điều đó sẽ chạy trong đọc / ghi thay vì đọc / chỉ. vhdimountánh xạ sang /mnt/vhd/vhdi1chế độ đọc / ghi nhưng lệnh tiếp theo sử dụng mountlà ở chế độ đọc / chỉ nếu bạn không chỉ định rwlàm tùy chọn
Jiab77

1
Trong Ubuntu 16.04: Thay vì sử dụng mml hoặc fdisk để tìm hiểu về khu vực bắt đầu của phân vùng, bạn cũng có thể sử dụng kpartxđể tạo tệp thiết bị ảo mà bạn có thể gắn mà không có offsettùy chọn:sudo kpartx -av /mnt/vhd/vhdi1; sudo mount -vt ntfs-3g -o ro,noload /dev/mapper/loop0p1 /media/${USER}/your/folder
chậm

2

Tìm kiếm không gian Launchpad của Ubuntu, phần sau đây xuất hiện:

virtualbox ('Virtualbox-fuse' nhị phân là một phần của gói virtualbox)

Điều này có nghĩa là chúng được hợp nhất virtualbox-fusevào gói chính và bạn chỉ cần cài đặt hộp ảo từ kho lưu trữ (Đây là tên được sử dụng virtualbox-ose, vì vậy nếu bạn cần phiên bản "đầy đủ" được cấp phép PUEL, điều này sẽ không giúp bạn.)


2

Tôi không muốn dựa vào VM để truy cập dữ liệu trên hình ảnh vhd. Vì virtualbox-fusevdfusekhông còn khả dụng trong Ubuntu ( kể từ chính xác (12.04) ) và Debian ( không phải từ Wheezy (7) ). Tôi đã có thể gắn kết phân vùng NTFS của VHD cá nhân bằng cách sử dụng blk-tap.

Tất nhiên, chèn pid apropitable từ tap-ctl spawn. Sơ đồ phân vùng của bạn có thể khác với của tôi, do đó điều chỉnh cho phù hợp.

# 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

Những bước này đến từ wiki của dự án xen .

Thiết bị khối của tôi đã được tạo ra tại /dev/xen/blktap-2/blktap0. Vì một số lý do, kpartx -asẽ không ánh xạ các phân vùng (tôi đang tìm / dev / xen / blktap-2 / tapdev0p1), nhưng tôi thấy rằng /dev/disk/by-id/dm-name-tapdev0p1đã được liên kết với thiết bị khối cho phân vùng.


1

Đây là những gì tôi đã làm cho nó:

Dường như không có cách nào suôn sẻ. Tôi vừa tải virtualbox-fusetập tin gói deb từ launchpad. ( ở đây )

Tôi đã chọn 4.1.18 vì vbox của tôi cũ hơn một chút nhưng tôi đoán nó sẽ hoạt động với phiên bản gần đây.

Cài đặt gói với dpkg -i. Bạn có thể cần chỉ định --force-dependstùy chọn để cài đặt.


9
Rồi sao? Làm thế nào để bạn gắn VHD sau khi cài đặt?
Enkouyami

1

Tôi đã gắn thành công tệp .vhdx tôi đã tạo với các tệp Sao lưu Windows 10 vào HĐH Ubuntu 16.04 của mình bằng chương trình có tên guestmount

guestmounttrang hướng dẫn trên libguestfs.org .

Lưu ý rằng các quyền sẽ cần phải được điều chỉnh hoặc gắn kết truy cập sau khi sudo -ihoặc sudo -sđã được thực thi.


-1

Bạn có thể sử dụng VirtualBox.

VirtualBox là một giải pháp ảo hóa x86 miễn phí cho phép một loạt các hệ điều hành x86 như Windows, DOS, BSD hoặc Linux chạy trên hệ thống Linux.

Để cài đặt VirtualBox Trong Ubuntu 13.04, chỉ cần nhấn Ctrl+ Alt+ Ttrên bàn phím để mở Terminal. Khi nó mở, chạy (các) lệnh bên dưới:

sudo apt-get install virtualbox

Sau khi hoàn tất cài đặt, hãy tiếp tục và tạo một máy ảo mới

nhập mô tả hình ảnh ở đây

Nhập tên. Đảm bảo rằng bạn chọn đúng loại và phiên bản HĐH trong VHD.

nhập mô tả hình ảnh ở đây

Chọn sử dụng tệp ổ cứng ảo hiện có và duyệt tìm tệp VHD của bạn, sau đó bấm vào tạo.

nhập mô tả hình ảnh ở đây


2
Điều đó sẽ cho phép bạn chạy HĐH trên VHD, nhưng nó không cho phép bạn gắn hình ảnh trong Linux.
IQAndreas 8/2/2016
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.