Як встановити файл .vhd?


11

Я використовую 13.04 Raring amd64 і мені потрібно встановити .vhd файл на моєму ubuntu . Я поглянув на це і виявив, що пакет віртуальних пакунків-запобіжників є відповіддю.

Але пакет був видалений із схожого сховища. Чи є спосіб встановити пакет з 13.04? чи є альтернатива virtualbox-fuse?


Я щойно зробив це те саме, і результати мого пошуку закінчилися тим, що ви можете перетворити 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 з 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 ( не так свистячих (7) ). Мені вдалося змонтувати розділ NTFS особистого VHD за допомогою 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

Ці кроки з'явилися у вікі проекту xen .

Мій блоковий пристрій створено о /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 після встановлення цього?
Enkouyami

1

Я успішно змонтував .vhdx файл, який я створив із файлами резервного копіювання Windows 10 до моєї ОС Ubuntu 16.04 за допомогою програми під назвою guestmount

guestmountсторінка керівництва на libguestfs.org .

Зауважте, що дозволи повинні бути скориговані або доступ до монтажу після sudo -iабо sudo -sвиконаного.


-1

Ви можете використовувати VirtualBox.

VirtualBox - це безкоштовне рішення для віртуалізації 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.