感谢支持
我们一直在努力

Ubuntu 9.04 下引导修复menu.lst 文件分析

solve Ubuntu 9.04 ALERT: /host/ubuntu/disks/root.disk does not exist,Dropping to a shell! /引导修复/menu.lst 文件分析


今天升级了一些软件,结果不知道为什么Ubuntu 9.04又进不去了,经过了一番探索,现在修好了。


我现在就是用的Ubuntu 下的中文输入法,输入的这些文字。


在尝试处理问题的过程中出现了很多问题,而这些问题应该是绝大多数的人都可能遇到的问题,但是网上没找到很清晰的解释,经过我的尝试,问题已经基本明了,我大概描述如下:


一、开始的时候无法启动桌面,提示***File not exist*** busy box **initramfs* 之类的一些东西,判断是grub4dos 的menu.lst文件出了问题,找到文件,文件在安装目录下的ubuntu/disks/boot/grub下面打开,翻到最后一部分,


## ## End Default Options ##


title        Ubuntu 9.04, kernel 2.6.28-11-generic


uuid        0E48A65048A6367D


kernel        /boot/vmlinuz-2.6.28-11-generic root=UUID=0E48A65048A6367D loop=/ubuntu/disks/root.disk ro quiet splash


initrd        /boot/initrd.img-2.6.28-11-generic


title        Ubuntu 9.04, kernel 2.6.28-11-generic (recovery mode)


uuid        0E48A65048A6367D


kernel        /boot/vmlinuz-2.6.28-11-generic root=UUID=0E48A65048A6367D loop=/ubuntu/disks/root.disk ro single


initrd        /boot/initrd.img-2.6.28-11-generic


title        Ubuntu 9.04, memtest86+


uuid        0E48A65048A6367D


kernel        /boot/memtest86+.bin


### END DEBIAN AUTOMAGIC KERNELS LIST


分析发现title指的是显示标题,kernel指的是启动内核,绿色的两部分是其他的启动方式,我们不用关心。


开始我估计是目录识别的问题,就像是boot.ini中可能遇到的初始目录不对,当然无法引导了。


于是我尝试输入了路径的全称(hd0,0)/ubuntu/disks/root/***( 注(hd0,0)表示第一块硬盘,第一分区),然后发现出现了一点画面,但是又出现了ALERT: /host/(hd0,0)/ubuntu/disks/root.disk does not exist,Dropping to a shell!


判断是root.disk文件的问题,我上网找了一下,发现人家有的引导文件中没有loop这行,我又不确定loop是做什么的,于是删除loop以及后面一小段,


重新启动之后发现有更多的错误,更多的文件没有找到,


然后才明白root.disk是wubi安装后整个系统的虚拟文件,别人有的人没有loop是因为他们是全新安装,并非是wubi集成安装的,于是又添加上了loop那句,


对于/host/(hd0,0)/这个警告肯定也是目录识别的问题,应该是文件系统挂载到host了,


host下面当然就没有找到(hd0,0)了,看来是要初始设置目录,于是将menu.lst该成如下:


## ## End Default Options ##


title        Ubuntu 9.04, kernel 2.6.28-11-generic


root (hd0,0)/ubuntu/disks


uuid        0E48A65048A6367D


kernel        /boot/vmlinuz-2.6.28-11-generic rootdelay=90 root=UUID=0E48A65048A6367D loop=/ubuntu/disks/root.disk ro quiet splash


initrd        /boot/initrd.img-2.6.28-11-generic


引导成功(注意添加红色的部分,其余的两段就无所谓了,平时也不进那里)


host文件夹,实际上就是我之前装xp的根目录。


对于uuid        0E48A65048A6367D


每个人的值可能不一样,所以大家不用改,关键注意红色的和加粗的部分就可以了。


希望能解决各位遇到的问题。


winxos 2009-5-19


补充说明:


后来查了一下:UUID实际上就是一个唯一标识符,就是类似与 (hd0,0)的功能,是作为引导位置的标志,是个新的概念,可能老的grub4dos不能支持。


再次补充说明:


经过昨天晚上的再次尝试,去掉了UUID引导,直接从挂载地址读取,就没问题了。修改后的文件如下:


title   Ubuntu 9.04, kernel 2.6.28-11-generic


root (hd0,0)/ubuntu/disks


UUID=0E48A65048A6367D


kernel   /boot/vmlinuz-2.6.28-11-generic root=/dev/sda1 loop=/ubuntu/disks/root.disk ro quiet splash


initrd   /boot/initrd.img-2.6.28-11-generic


之前我一直以为C盘是hda1(映象中是),结果搞了半天没成功,后面才发现实际上c盘挂到了sda1…难道我的硬盘是sata的?


各位如果还没有引导成功的可以参考改成上面的样子,应该是很稳定了。或者如果不是sata的就将sda1改成hda1就可以了。


winxos 2009-05-20

赞(0) 打赏
转载请注明出处:服务器评测 » Ubuntu 9.04 下引导修复menu.lst 文件分析
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏