好的,我做了一些研究,终于可以编辑虚拟盒子图像了。方法如下:
如果您在启动时进入 vmlite 映像的 grub 条目,内核条目(带有“kernel”关键字的条目)有一个参数--use-cmd-line,这个cmdline 定义在第一个条目cmdline (hd0,2)/cmdline 中,它是一个文件名为cmdline 放置在引导硬盘的第三个分区内。
这个文件有内核选项:
init=/init qemu=1 console=ttyS0 console=tty0 vga=788 verbose androidboot.hardware=vbox_x86 androidboot.console=ttyS0 android.qemud=ttyS1
现在您必须编辑这个名为 cmdline 的文件,将 vga=788 选项更改为 vga=ask。
编辑:(在 Linux 机器上)
你需要安装vdfuse。
sudo apt-get install virtualbox-fuse
在某处创建两个空文件夹。
sudo mkdir /mnt/image
sudo mkdir /mnt/partition
然后将虚拟盒映像(vdi、vmdk 或 vhd 等)安装到文件夹。 (假设virtualbox磁盘映像文件是/tmp/vmlite.vmdk,我们会将其挂载到/mnt/image文件夹)
vdfuse -w -f /tmp/vmlite.vmdk /mnt/image
会在挂载文件夹中创建一些文件,名为 EntireDisk、Partition1、Partition2、Partition3 等.
由于我们对第三个分区感兴趣,所以我们将对应的文件挂载到/mnt/partition:
sudo mount -o loop /mnt/image/Partition3 /mnt/partition
查看内容:
sudo ls -l /mnt/partition
会有 cmdline、ramdisk 和内核。
现在我们编辑 cmdline 文件(我们将使用 gedit 文本编辑器,你可以使用你喜欢的):
sudo gedit /mnt/partiton/cmdline
进行编辑,将vga=788 更改为vga=ask,保存并关闭。验证新文件内容:
sudo cat /mnt/partition/cmdline
卸载文件和图像:
sudo umount /mnt/partition
sudo umount /mnt/image
如果我们不需要这两个文件夹:
sudo rm /mnt/image
sudo rm /mnt/partition
完成,从虚拟机启动映像。它会说按 ENTER 以查看可用的视频模式,在 Enter 时显示一个列表,输入选择的数字,或输入“扫描”以搜索更多显示模式。
注意:并非所有模式都有效,请使用颜色深度为 24 或 32 并支持纵横比的 VESA 模式。