linux内核学习

本文详细介绍了在使用Bochs模拟器时遇到的两个常见问题:CPU模式配置不匹配导致Grub安装后无法正常工作以及Grub安装后报告nosuchdevice错误。通过调整Bochs配置文件中的CPU模式和单独运行grub-mkimage与grub-setup命令解决了这些问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值