如何在没有用户密码的情况下检查 QEMU 虚拟机文件系统

如何在没有用户密码的情况下检查 QEMU 虚拟机文件系统

我正在使用 进行一些 Ubuntu 自动安装测试cloud-init。为此,我遵循了自动安装快速启动页面。在给定的示例中,显示的密码哈希与加密的密码ubuntu短语相对应,并且运行正常。但是,如果我尝试使用自己的加密哈希,它似乎不起作用(我无法使用输入加密算法的纯文本密码登录)。

我知道这可能与我正在使用的加密算法有关,但我认为它应该可以工作,而且我很乐意能够检查/etc/shadowQEMU 虚拟机以检查那里写了什么。

按照示例,我使用以下命令启动虚拟机:

kvm -no-reboot -m 2048 \
    -drive file=image.img,format=raw,cache=none,if=virtio

有没有办法将虚拟机的文件系统挂载到我的本地机器并检查/etc/shadow

短暂性失眠!

答案1

如果image.img确实是包含 Ubuntu 根分区的映像,并且确实如此生的,事情很简单。

sudo losetup --find --show --partscan /path/to/image.img
# This will print something like /dev/loop0
sudo mount /dev/loop0p3 /mnt/ubuntu

当然,您需要使用正确的分区号,但也可能不是p3

您的 版本losetup可能不支持--partscan。相反,您可以使用。您可以使用(或使用类似工具)sudo partprobe /dev/loop0列出分区。sudo fdisk -l /dev/loop0

完成后:

sudo umount /mnt/ubuntu
sudo losetup --detach /dev/loop0

如果是其他图像格式,你可以尝试qemu-nbd或者libguestfs 工具,不幸的是,我对这两者都没有经验。如果你正在使用 QEMU,你可能已经拥有qemu-nbd

相关内容