【原因】
之前写过一篇关于Linux操作系统bootloader安装于非MBR的方法,可是chainloader***失效了!!(参见我之前的文章)
失败的原因分析了一下,发现ubuntu在9系列开始便使用了grub2,是第二代,第二代对第一代的接口进行了很大程度的重新实现等等,反正细节我也不懂,大体猜测了,才使得chainloader方法失效。
不过LGG最后还是解决了,这里总结如下。
【条件】
ubuntu的bootloader安装于ubuntu系统所在分区,即挂载/的分区。
【解决方法】
依然是menu.lst的编写上解决。
1 第一种方法:
- root (hdx,y)
- kernel /boot/vmlinuz-xxx-generic root=/dev/sda6
- initrd /initrd.img-xxx-generic
- boot
这两个启动文件都是在系统中的,而xxx表示对应的版本号,如果没办法获取可以在windows下面安装一个可以浏览ext分区的工具,LGG使用Diskgen,它带这个功能,然后把数字将xxx替换掉。root(hdx,y)当然就是ubuntu所在的分区了。
这种方法实际上是利用grub直接加载操作系统的内核然后启动,使用的是windows下面安装的grub而没有使用到ubuntu的bootloader的grub2.
2第二种方法:
- root (hdx,y)
- kernel /boot/grub/core.img
- boot
这个方法其实LGG也不怎么懂,大家了解的可以看下grub2的教程,它的大概作用就是进入grub2的引导过程。这种方法使用到了ubuntu的bootloader,因此可以选择ubuntu的启动方式,比较推荐这样做。
【小结】
ubuntu,你就是不一样啊。
阅读(1558) | 评论(0) | 转发(0) |