ubuntu9 0 4 pygrub找不到fsimage问题的解决

分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

               

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

这个问题的表现就是启动虚拟机后停在那里一直没有反应,使用xmlist检查虚拟机状态看到的是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界面。

           

分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

猜你喜欢

转载自blog.csdn.net/qq_43668159/article/details/87876350