使用 guestmount 安装磁盘映像时出错

使用 guestmount 安装磁盘映像时出错

为了上班qemubuilder,我使用guestmount将图像(base-i386.qemu)挂载到临时目录(/run/shm/qemu.3430)上,而不需要root权限。

我正在运行 Ubuntu Precise 32 位。

磁盘映像和空的临时文件夹已经存在:

user@host:/scratch/qemubuilder$ file base-i386.qemu 
base-i386.qemu: Linux rev 1.0 ext3 filesystem data, UUID=6d00c1e4-8b63-4bed-89d9-1a28b1dfd9ed (large files)

下列的例子,我尝试运行:

user@host:/scratch/qemubuilder$ guestmount -a base-i386.qemu -i /run/shm/qemu.3430/
warning: Unable to get device geometry for /var/tmp/guestfs.4SXaJV/root
febootstrap-supermin-helper: ext2: parent directory not found: /lib: File not found by ext2_lookup
libguestfs: error: external command failed, see earlier error messages

如果我手动创建图像,我会收到同样的错误:

user@host:/scratch/qemubuilder$ dd if=/dev/null bs=1M seek=1024 of=testimg
[...]
user@host:/scratch/qemubuilder$ mkfs.ext4 testimg
[...]
user@host:/scratch/qemubuilder$ file testimg
testimg: Linux rev 1.0 ext4 filesystem data, UUID=47872462-214b-43ce-8a03-69c4c1572990 (extents) (large files) (huge files)
user@host:/scratch/qemubuilder$ guestmount -a testimg -i /run/shm/qemu.3430/
warning: Unable to get device geometry for /var/tmp/guestfs.R1UkyW/root
febootstrap-supermin-helper: ext2: parent directory not found: /lib: File not found by ext2_lookup
libguestfs: error: external command failed, see earlier error messages
datbite@shadow:/scratch/qemubuilder

我懂了出现相同症状的 bug,但我拥有的版本已将其标记为已修复。

我怎样才能挂载我的图像?

答案1

febootstrap-supermin-helper: ext2: parent directory not found: /lib: File not found by ext2_lookup

有两个地方可以打印此信息:

当 supermin 用尽 /tmp 或 /var/tmp 上的磁盘空间时。

或者当您需要更新设备(仅限于 Debian/Ubuntu)时,您可以这样做:

sudo update-guestfs-appliance

是的,这是一个不明显的内部错误,我们正计划改进该消息:

https://bugzilla.redhat.com/show_bug.cgi?id=965524

并从 Debian 包装中消除了这个陷阱。

相关内容