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

    技术2022-05-20  53

    就是这么一个很小的问题,又折腾了一个晚上,甚至想到要把本来的不太熟悉的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)