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을 사용하는 경우 lvm
VM의 볼륨 그룹을 로컬로 마운트 및 활성화한 다음 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
디스크를 추출한 다음 마운트합니다.