1、bochs 报告 cpu directive malformed 问题
解决方法:
运行 bochs -help cpu,查看支持的CPU类型,然后修改bochs配置文件中配置CPU的那一行中的mode
2、制作flat模式的磁盘镜像后,在镜像上安装grub后,bochs模拟运行,grub好像不起作用。但是在安装时,grub-install命令提示是安装成功。
解决方法:
因为grub-install的是64位的grub,但是bochs配置文件中的CPU被配置成了32的了,根本无法运行,改一下CPU的mode为corei5_lynnfield_750即可
3、grub安装后报告 no such device
解决办法:单独运行 grub-mkimage 命令 和 grub-setup命令。不要使用grub-setup,否则总是提示安装成功,真正用bochs模拟运行却报告上面的错误。在使用grub-setup时遇到了一个奇怪的问题,可能是grub-setup的BUG。下面描述一下我遇到的问题,grub-setup版本如下:
aht@tr:~$ grub-setup -V
grub-setup (GRUB) 1.99-21ubuntu3.17
切换到/mnt/bochs-img/boot/grub 目录下,运行
grub-setup -b /mnt/bochs-img/boot/grub/boot.img -c /mnt/bochs-img/boot/grub/core.img -d /mnt/bochs-img/boot/grub/ -m /mnt/bochs-img/boot/grub/device.map /dev/loop0
grub 报错,提示内容是:
grub-setup:错误: cannot stat /mnt/bochs-img/boot/grub///mnt/bochs-img/boot/grub/boot.img
运行下面的命令是可以的:
grub-setup -b boot.img -c core.img -d /mnt/bochs-img/boot/grub/ -m /mnt/bochs-img/boot/grub/device.map /dev/loop0
上面说明, grub-setup会在 -b 和 -c 选项指定的参数前面加上当前目录,不知道这是不是grub-setup的一个BUG