XP引导UbuntuUbuntu手记之系统配置

    昨天夜里为了等丁丁睡醒(现在每天也就这点时间能做点自己的事情),试着在笔记本中装上了下载了很久的Ubuntu 8.04。

    因为之前就已经试着装过(unbuntu的硬盘安装), 因此一切都是轻车熟路。这次希望能向原来未曾解决的问题发起冲锋:使用XP的引导程序来引导Ubuntu。

    照老规矩,安装时不将Grub写入到mbr,先让Ubuntu先沉睡在系统中,然后再配置Windows XP来引导Ubuntu。

    经过一番探索发现理论上应该有两种方法:

    方法一:使用XP来直接引导Ubuntu,也就是boot.ini中配置的是Ubuntu的引导文件(扇区?),这种方法我没实验成功。

    方法二:实验成功了,但并不能算是真正意义上的XP引导,因为本质是使用Grub。即XP引导Grub,再由Grub引导Ubuntu。

    我的boot.ini如下:

[boot loader]
timeout
=10
default
=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(
0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
c:\grldr
=Ubuntu

    grldr是安装时就复制到C盘根目录下的,一起复制过来的还有initrd.gz和menu.lst,menu.lst如下:

 1 default        0
 2 timeout        0
 3
 4 title Ubuntu
 5 kernel (hd0,6)/boot/vmlinuz-2.6.24-16-generic root=/dev/sda7 ro quiet splash
 6 initrd (hd0,6)/boot/initrd.img-2.6.24-16-generic
 7 boot
 8 
 9 title Windows XP
10 rootnoverify (hd0,0)
11 makeactive
12 chainloader +1

    其中9-12行只是让Grub可以重新引导XP,真正重要的是4-7行,timeout设置为0是为了跳过Grub的选择,此时相当于废除了重新引导到XP的选择。

    需要说明的首先是内核文件的名字和位置,在/boot目录下的两个,是后来到系统中翻出来的,,也可以使用默认的链接:/vmlinuz和/initrd.img,这两个链接总是指向更新后的内核,这样即使内核变了也不会有问题。

    其次是一定要指向正确的磁盘分区,这儿是(hd0,6)是因为在我的机器上Ubuntu安装在XP分区后面,我的分区情况如下:

    XP主分区(ntfs) | XP逻辑分区1 | XP逻辑分区2 | Ubuntu分区。

    其中两个逻辑分区在一个扩展分区中。没有仔细去看相关文档,我的推论是:主分区为(hd0,0),扩展分区为(hd0,1),因为mbr中共能放4个分区,因此(hd0,2)和(hd0,3)是保留给它们的。往后再排就是(hd0,4)表示逻辑分区1,(hd0,5)表示逻辑分区2,而Ubuntu分区就是(hd0,6)了。

    因为是SATA硬盘,因此分区被Ubuntu标识为/dev/sda*,*的编号从1开始,自然Ubuntu的分区就是/dev/sda7了。

    上面关于Grub分区编号以及Ubuntu分区标识只是我的臆断,还需权威认证。

原文地址:https://www.cnblogs.com/badwood316/p/1315499.html