实习的时候用了几天ubuntu12.04,发现实在是比我那破旧的fedora9爽多了,决定在硬盘里面安装一个。
于是乎在实验室找了个废旧主机,拆了块硬盘装ubuntu12.04,然后就一直折腾怎么双启动(总不至于每次
启动的时候进bios设置吧),折腾了一天终于总算有了结果。虽然结果对我这种想多动一下手指都想省掉的
人来说还是不太完美,但总算可以双启动了,下面具体介绍。
我的情况是这样的:
我在安装ubuntu12.04的时候是直接从硬盘安装的,grub也是直接写到了当前这块硬盘上。也就是说,我现
在有两块硬盘A和B,并且A和B中都有安装好的系统,A中安装的是XP,B中安装的是Ubuntu12.04。并且在
安装Ubuntu的时候是直接将grub信息写到了B的MBR中,A的MBR完全没有修改。
然后我现在是想做一个双启动,也就是说把A做主盘(貌似一定要XP做主盘,具体查相关资料)B做从盘的时候,
我可以选择启动A、B中的任意系统。现在,主要的问题是Ubuntu安装的时候没有动A的MBR,那怎么解决呢?
可以借助神器grub4dos直接实现,而不需要修改A的mbr!grub4dos的下载在点这里,下面介绍步骤:
1.首先下载grub4dos,解压得到:
grldr menu.lst grldr.mbr grub.exe
并将这些文件拷贝到C盘根目录下。
2.然后修改文件
a)
修改boot.ini,在最后添加一行:
c:\grldr=”Ubuntu12.04 LTS“
b).
如果你的电脑只有两块硬盘,那么可以直接跳到步骤3,并且你的ubuntu是安装在hd1中的。如果你的电脑中
安装有多块硬盘,而你自己也不能能确定ubuntu到底是安装在哪个hd中,那么需要看下这一步。
首先直接重启,系统引导出现系统选择画面的时候 选择
Ubuntu12.04 LTS
然后可以进入grub4dos的界面了。
然后选择 commodline进入命令行模式,通过命令行来确定自己的ubuntu是安装在哪个hd上的。
首先在命令行中输入:
find
命令然后回车,接着会出现很多分区,类似于(hd0,0) (hd1,0)(hd1,4)(hd2,0)之类的。
然后运行命令
root (hd0,0)
注意root和括号之间是有空格的,回车之后会显示分区的具体文件系统类型。这个就是用来判断ubuntu
安装位置用的!XP系统下的分区文件类型多半是FAT、NTFS,而我安装的ubuntu的分区格式是ext2。所以
通过root命令依次将find到的所有分区试过去可以确定ubuntu安装在哪个hd上。
3.确定ubuntu安装的hd后需要修改menu.lst文件,在最后添加:
title Ubuntu 12.04 LTS
map (hd0) (hd2)
map (hd2) (hd0)
chainloader (hd2)+1
我的系统中挂有三块硬盘,除了两块安装有系统的硬盘外,还有一块存放资料的硬盘。
其中hd0是安装XP的硬盘,hd2是安装有ubuntu的硬盘,hd1是用于存放资料的硬盘。
其中map(hd0) (hd2)表示将安装有ubuntu的hd2映射为hd0,也就是映射为主盘
然后再通过map(hd2)(hd0)将原来的主盘映射为hd2
也就是将hd0和hd2的主从关系通过映射反一下。
然后在次重启,在引导界面中选择ubuntu12.04,在进入grub4dos界面后选择最下方的 Ubuntu 12.04 LTS,ubuntu可以顺利启动了!
不完美之处在于,启动选择的时候需要多敲几次,呵呵。