13.04 Ramd amd64를 사용하고 있으며 우분투에 .vhd 파일을 마운트해야합니다 . 나는 그것에 대해 googled하고 virtualbox-fuse 패키지가 답이라는 것을 알았습니다.
그러나 패키지는 apt 저장소에서 삭제되었습니다. 13.04로 패키지를 설치하는 방법이 있습니까? 또는 virtualbox-fuse에 대한 대안이 있습니까?
13.04 Ramd amd64를 사용하고 있으며 우분투에 .vhd 파일을 마운트해야합니다 . 나는 그것에 대해 googled하고 virtualbox-fuse 패키지가 답이라는 것을 알았습니다.
그러나 패키지는 apt 저장소에서 삭제되었습니다. 13.04로 패키지를 설치하는 방법이 있습니까? 또는 virtualbox-fuse에 대한 대안이 있습니까?
답변:
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
원하는 권한을 설정 하려면 추가 옵션이 필요할 수 있습니다 .
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 유형을 변경해야 할 수도 있습니다.
나는 매번 이것을 입력 할 필요가 없도록 스크립트를 만들었습니다.)
ro
for를 생략하면 mount
읽기 전용이됩니다.
ro
하고 rw
읽기 / 쓰기 대신 읽기 / 쓰기로 실행해야합니다. 옵션으로 지정하지 않으면 다음 명령은 읽기 / 쓰기 모드로 vhdimount
매핑 /mnt/vhd/vhdi1
되지만 다음 명령 mount
은 읽기 / 전용입니다.rw
kpartx
없이 마운트 할 수있는 가상 장치 파일을 만드는 데 사용할 수도 있습니다 offset
.sudo kpartx -av /mnt/vhd/vhdi1; sudo mount -vt ntfs-3g -o ro,noload /dev/mapper/loop0p1 /media/${USER}/your/folder
vhd 이미지의 데이터에 액세스하기 위해 VM에 의존하지 않는 것이 좋습니다. 이후 virtualbox-fuse
및 vdfuse
더 이상 사용할 수 우분투입니다 ( 하지 이후 정밀 (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
파티션의 블록 장치에 연결된 것으로 나타났습니다 .
Windows 10 백업 파일로 만든 .vhdx 파일을 Ubuntu 16.04 OS에 성공적으로 마운트했습니다. guestmount
guestmount
libguestfs.org의 매뉴얼 페이지 .
권한은 조정되거나 마운트 된 후에 sudo -i
또는 마운트 된 후에 마운트되어야 sudo -s
합니다.
VirtualBox를 사용할 수 있습니다.
VirtualBox는 Windows, DOS, BSD 또는 Linux와 같은 광범위한 x86 운영 체제를 Linux 시스템에서 실행할 수있는 무료 x86 가상화 솔루션입니다.
VirtualBox를 설치하려면 Ubuntu 13.04에서 키보드에서 Ctrl+ Alt+ T를 눌러 터미널을 엽니 다. 열리면 아래 명령을 실행하십시오.
sudo apt-get install virtualbox
설치가 끝나면 새 가상 머신을 생성하십시오.
이름을 입력하십시오. VHD에있는 올바른 유형 및 OS 버전을 선택해야합니다.
기존 가상 하드 드라이브 파일 사용을 선택하고 VHD 파일을 찾은 다음 생성을 클릭하십시오.