vm-inspector
A sample tool for inspecting a disk image file, e.g. vmdk, vdi, qcow, etc., to determine which operating system and applications it contains.
Usage
To inspect a disk image file:
python3 inspect.py foo.vmdk
or
CLI options
usage: inspect.py [-h] [-b {libvmdk,nbdfuse}] [-v] image
Tool for inspecting a disk image file to determine which operating
system and applications it contains.
positional arguments:
image disk image file to inspect
optional arguments:
-h, --help show this help message and exit
-b {libvmdk,nbdfuse}, --backend {libvmdk,nbdfuse}
used backend for mounting disk image files in
the local filesystem (default: nbdfuse)
-v, --verbose print debug messages
Requirements
General Packages
sudo apt install git python3 python3-pip python-is-python3
$ sudo apt install build-essential flex bison bc libfuse-dev libarchive-dev xfsprogs
$ git clone https://github.com/lkl/linux.git --depth=1
$ cd linux
$ echo "CONFIG_NTFS_FS=y" >> arch/lkl/configs/defconfig
$ make -j -C tools/lkl
$ sudo cp tools/lkl/lklfuse /usr/local/bin
$ sudo apt install qemu-utils nbdfuse
$ sudo apt install build-essential libfuse-dev
$ wget https://github.com/libyal/libvmdk/releases/download20210807/libvmdk-alpha-20210807.tar.gz
$ tar xfv libvmdk-alpha-20210807.tar.gz
$ cd libvmdk-20210807/
$ ./configure
$ make -j
$ sudo make install
$ sudo ldconfig
- libvslvm >= 20210807 (Library and tools to access the Linux Logical Volume Manager (LVM) volume system format )
$ sudo apt install build-essential libfuse-dev
$ wget https://github.com/libyal/libvslvm/releases/download20210807/libvslvm-experimental-20210807.tar.gz
$ tar xfv libvslvm-experimental-20210807.tar.gz
$ cd libvslvm-20210807/
$ ./configure
$ make -j
$ sudo make install
$ sudo ldconfig
- pyparted (Python bindings for GNU parted )
$ sudo apt install python3-dev libparted-dev pkg-config
$ pip3 install pyparted
For Ubuntu 20.04 an older version is needed
$ pip3 install pyparted==3.11.7
$ pip3 install python-registry
$ sudo apt install build-essential python3-dev zlib1g-dev libgcrypt20-dev libmagic-dev libpopt-dev libsqlite3-dev libarchive-dev
$ wget https://ftp.osuosl.org/pub/rpm/releases/rpm-4.16.x/rpm-4.16.1.3.tar.bz2
$ tar xfv rpm-4.16.1.3.tar.bz2
$ cd rpm-4.16.1.3/
$ ./autogen.sh --enable-python --enable-bdb=no --enable-bdb-ro --enable-sqlite=yes --enable-ndb --without-lua --disable-plugins
$ make -j
$ sudo make install
$ sudo ldconfig
$ cd python && sudo python3 setup.py install