ubuntu9.0.4 pygrub找不到fsimage问题的解决

就是这么一个很小的问题,又折腾了一个晚上,甚至想到要把本来的不太熟悉的ubuntu 9.04删除掉,重新安装成centos操作系统。

这 个问题的表现就是启动虚拟机后停在那里一直没有反应,使用xm list检查虚拟机状态看到的是p状态(p代表pause)。检查虚拟机配置文件,没有任何问题,同样的配置文件和镜像文件在实验室服务器的centos 上就运行非常稳定非常正常。手动使用xm create启动虚拟机,根本看不到虚拟机启动的grub界面。

其实现在想想从看不到grub 界面应该就能想到是pygrub的问题。但是自己当时没有冷静地一步一步排除故障寻找问题的根源,却想当然地认为这个问题是由tapdisk设备没有正常 运行造成的。自己还顺便检查了一下xm log,虽然看到的完全没有说waiting device...这样的信息,但自己还执迷不悟,

root@node1:~/1297172703915# pygrub ~evcuser/1297159931302/evc.img
Traceback (most recent call last):
  File "/usr/bin/pygrub", line 26, in <module>
    import fsimage
ImportError: No module named fsimage

root@node1:~/1297172703915# locate fsimage
/usr/lib/libfsimage.so.1.0
/usr/lib/libfsimage.so.1.0.0
/usr/lib/fs/ext2fs/fsimage.so
/usr/lib/fs/fat/fsimage.so
/usr/lib/fs/iso9660/fsimage.so
/usr/lib/fs/reiserfs/fsimage.so
/usr/lib/fs/ufs/fsimage.so
/usr/lib/fs/zfs/fsimage.so
/usr/lib/python2.5/site-packages/fsimage.so

在/usr/bin/pygrub文件第26行附近的代码是:
import curses, _curses, curses.wrapper, curses.textpad, curses.ascii
import getopt

sys.path = [ '/usr/lib/python', '/usr/lib64/python' ] + sys.path

import fsimage
import grub.GrubConf
import grub.LiloConf

不 知道python的库是如果识别的,比如fsimage这个库对应的文件名是libfsimage.so还是fsimage.so。但从上面的 locate输出来看,确实在/usr/lib/python2.5下有fsimage.so。再者ubuntu-xen-server用的python 也是2.5不是2.6。所以修改/usr/bin/pygrub的sys.path那一行:
sys.path = [ '/usr/lib/python', '/usr/lib64/python', '/usr/lib/python2.5/site-packages' ] + sys.path
然后再运行:
root@node1:~/1297172703915# pygrub ~evcuser/1297159931302/evc.img
就可以看到虚拟机启动时的grub界面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值