.vhd 파일을 어떻게 마운트합니까?


11

13.04 Ramd amd64를 사용하고 있으며 우분투에 .vhd 파일을 마운트해야합니다 . 나는 그것에 대해 googled하고 virtualbox-fuse 패키지가 답이라는 것을 알았습니다.

그러나 패키지는 apt 저장소에서 삭제되었습니다. 13.04로 패키지를 설치하는 방법이 있습니까? 또는 virtualbox-fuse에 대한 대안이 있습니까?


방금 똑같은 일을했고 검색 결과에 따라 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.sourceforge.net에서 vdfuse 를 다운로드 할 수 있습니다 : 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오프셋으로 교체하십시오 . vhd 파일에 포함 된 fs 유형에 따라 fs 유형을 변경해야 할 수도 있습니다.

나는 매번 이것을 입력 할 필요가 없도록 스크립트를 만들었습니다.)


읽기 전용으로 마운트합니다. 쓰기 권한으로 마운트하려면 어떻게해야합니까? rofor를 생략하면 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

Ubuntu의 런치 패드 공간을 검색하면 다음이 나타납니다.

virtualbox (이진 'virtualbox-fuse'는 virtualbox 패키지의 일부입니다)

즉, 이들이 virtualbox-fuse메인 패키지에 병합 되었으며 저장소에서 virtualbox를 설치하기 만하면됩니다 (이것은 이전에 호출 virtualbox-ose되었으므로 PUEL 라이센스 "풀"버전이 필요한 경우에는 도움이되지 않습니다.)


2

vhd 이미지의 데이터에 액세스하기 위해 VM에 의존하지 않는 것이 좋습니다. 이후 virtualbox-fusevdfuse더 이상 사용할 수 우분투입니다 ( 하지 이후 정밀 (12.04) )와 데비안 ( 하지 위지 (7) 이후 ). 을 사용하여 개인용 VHD의 NTFS 파티션을 마운트 할 수있었습니다 blk-tap.

tap-ctl spawn물론 적절한 pid를 삽입하십시오 . 파티션 구성표가 내 것과 다를 수 있으므로 적절하게 조정하십시오.

# 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 프로젝트의 wiki 에서 가져 왔습니다 .

내 블록 장치는에 생성되었습니다 /dev/xen/blktap-2/blktap0. 어떤 이유로 든 kpartx -a파티션을 매핑하지는 않지만 (/ dev / xen / blktap-2 / tapdev0p1을 찾고 있었지만) /dev/disk/by-id/dm-name-tapdev0p1파티션의 블록 장치에 연결된 것으로 나타났습니다 .


1

여기 내가 한 일이 있습니다.

갈 수있는 부드러운 방법이없는 것 같습니다. virtualbox-fuse런치 패드에서 deb 패키지 파일을 다운로드했습니다 . ( 여기 )

내 vbox가 약간 오래 되었기 때문에 4.1.18을 선택했지만 최신 버전에서 작동한다고 생각합니다.

로 패키지를 설치하십시오 dpkg -i. --force-depends설치 옵션 을 지정해야 할 수도 있습니다 .


9
그리고 뭐? VHD를 설치 한 후 어떻게 마운트합니까?
Enkouyami

1

Windows 10 백업 파일로 만든 .vhdx 파일을 Ubuntu 16.04 OS에 성공적으로 마운트했습니다. guestmount

guestmountlibguestfs.org의 매뉴얼 페이지 .

권한은 조정되거나 마운트 된 후에 sudo -i또는 마운트 된 후에 마운트되어야 sudo -s합니다.


-1

VirtualBox를 사용할 수 있습니다.

VirtualBox는 Windows, DOS, BSD 또는 Linux와 같은 광범위한 x86 운영 체제를 Linux 시스템에서 실행할 수있는 무료 x86 가상화 솔루션입니다.

VirtualBox를 설치하려면 Ubuntu 13.04에서 키보드에서 Ctrl+ Alt+ T를 눌러 터미널을 엽니 다. 열리면 아래 명령을 실행하십시오.

sudo apt-get install virtualbox

설치가 끝나면 새 가상 머신을 생성하십시오.

여기에 이미지 설명을 입력하십시오

이름을 입력하십시오. VHD에있는 올바른 유형 및 OS 버전을 선택해야합니다.

여기에 이미지 설명을 입력하십시오

기존 가상 하드 드라이브 파일 사용을 선택하고 VHD 파일을 찾은 다음 생성을 클릭하십시오.

여기에 이미지 설명을 입력하십시오


2
그러면 VHD에있는 OS를 실행할 수 있지만 Linux에서 이미지를 마운트 할 수는 없습니다.
IQAndreas
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.