할당이 취소된 가상 머신의 파일 가져오기

할당이 취소된 가상 머신의 파일 가져오기

Azure(Ubuntu 20.04)의 가상 머신이 있습니다. 더 이상 비용을 지불할 수 없고 파일을 받고 싶지만 가상 머신을 시작할 수 없습니다. 디스크(DOS/MBR 부트 섹터, 확장 파티션 테이블(마지막 항목))을 다운로드했지만 무엇을 해야 할지 모르겠습니다.

답변1

디스크 이미지가 지원되는 형식(raw, VMDK, VDI, VHD(vpc), VHDX, qcow1 및 QED) 중 하나인 경우 qemu다음 명령을 사용하여 디스크를 nbd 장치(루트)로 사용할 수 있습니다.

modprobe nbd max_part=31
qemu-nbc -c /dev/nbd0 disk.img

( Debian 기반 시스템의 패키지 qemu-nbd에서 ).qemu-utils

그런 다음 파일 시스템이 파티션에 직접 있는 경우 다음 명령을 사용하여 마운트합니다.

mount -r /dev/nbd0p1 /some/mountpoint

(여기에 첫 번째 파티션이 있습니다).

VM에서 LVM을 사용하는 경우 lvmVM의 볼륨 그룹을 로컬로 마운트 및 활성화한 다음 vgchange논리 볼륨을 마운트해야 할 수도 있습니다.

Debian 기반 시스템의 패키지 대화형 탐색을 위한 셸형 유틸리티를 libguestfs-tools 포함하여 VM 디스크 이미지 탐색을 위한 최소한 몇 가지 유틸리티가 있습니다 .guestfish

$ sudo guestfish --ro -a slackware.qcow2

Welcome to guestfish, the guest filesystem shell for
editing virtual machine filesystems and disk images.

Type: ‘help’ for help on commands
      ‘man’ to read the manual
      ‘quit’ to quit the shell

><fs> launch
 100% ⟦▒▒▒▒▒▒⟧ 00:00
><fs> list-filesystems
/dev/sda1: ext2
/dev/sda2: ext2
/dev/sda3: ext2
/dev/sda4: vfat
><fs> mount /dev/sda1 /
><fs> ls /
.bash_history
.emacs
.kermrc
.less
.lessrc
.profile
.term
bin
conf
dev
dos
etc
home
inst
install
lastlog
lib
linux
lost+found
mnt
os2
proc
root
tmp
user
usr
var
zImage

답변2

qemu를 사용할 수 있습니다.

~을 위한.vdi

sudo modprobe nbd
sudo qemu-nbd -c /dev/nbd1 ./linux_box/VM/image.vdi

아직 설치되지 않은 경우 설치할 수 있습니다(Ubuntu에서는 이 명령).

sudo apt install qemu-utils

그런 다음 설치하세요

mount /dev/nbd1p1 /mnt

~을 위한.vmdk

sudo modprobe nbd
sudo qemu-nbd -r -c /dev/nbd1 ./linux_box/VM/image.vmdk

제가 이 옵션을 사용하는 -r이유는 다음과 같습니다.VMDK 버전 3은 읽기 전용이어야 합니다.qemu로 마운트 가능

그럼 내가 설치해

mount /dev/nbd1p1 /mnt

가끔 "마운트: 특수 장치 /dev/nbd0p1이 존재하지 않습니다"라는 메시지가 표시되기 nbd1때문에 사용합니다.nbd0

.ova용

tar -tf image.ova
tar -xvf image.ova

위의 명령은 .vmdk디스크를 추출한 다음 마운트합니다.

관련 정보