Grub是Ubuntu的系统引导程序,NTLoader则是XP的。由于重装XP时,XP霸道地将Grub驱逐出境,因此,为了启动Ubuntu,首先需要恢复Grub。
恢复Grub的方法网上有很多,我只使用也只会使用其中最简单有效的一种。
1、使用LiveCD引导进入Ubuntu。
2、在终端输入:
sudo grub
输入管理员密码,然后就看到了grub>这样的提示。
3、在终端输入(看完这段再输入,别急):
root(hdX,Y)
该语句指示Ubuntu的/boot目录在第几块硬盘的第几个分区。其中hd表示硬盘,X是一个数字,表示第几块硬盘(从0起计数的)。hd0即表示第一块硬盘。我的双系统是安装在 同一块硬盘上的,所以我输入的是hd0。Y也是一个数字,表示第几分区(也是从0起计数的)。要注意,Y可能不是连续的0、1、2、3、4……这点在我操 作的时候着实困惑了我许久。后来发现,可能由于我多年前曾用PQManager对硬盘进行过手动分区操作,在Grub中的分区号实际为:0、4、5、6、 7、8、9、10、11,而不是逻辑上的0、1、2、3、4、5、6、7、8。
如果你不知道你用的是哪个分区,没关系,按照如下方式操作。
在终端输入:
root (hd0,
然后按下Tab键,Ubuntu就会把当前所有分区都列出来供你判断了。千万注意,root和(之间有一个空格,否则不会有任何提示的。这点我也是摸索了很久才发现的。但无论是否有空格,完整的root命令都能被执行。
以下是我的反馈结果
grub> root (hd0,
Possible partitions are:
Partition num: 0, Filesystem type unknown, partition type 0x7
Partition num: 4, Filesystem type is fat, partition type 0xb
Partition num: 5, Filesystem type is fat, partition type 0xb
Partition num: 6, Filesystem type is fat, partition type 0xb
Partition num: 7, Filesystem type unknown, partition type 0x7
Partition num: 8, Filesystem type unknown, partition type 0x7
Partition num: 9, Filesystem type is ext2fs, partition type 0x83
Partition num: 10, Filesystem type unknown, partition type 0x82
Partition num: 11, Filesystem type is fat, partition type 0xb
从中可以看出,Grub只能列出Windows的Fat(32)分区名和Linux的系统分区ext2fs。对于Windows的NTFS分区和Linux的SWAP分区都显示为unknown。不过这已经足够了,可以得知第9分区正是我要的。于是将root命令补全:
root(hd0,9)
4、在终端输入:
setup(hd0)
表示设置Grub到第一块硬盘。
5、在终端输入:
quit
表示退出Grub。然后重启就行了。
由于Grub启动会检查主板,速度比NTLoader慢不少,所以我还是倾向于用NTLoader来引导双系统。
1、在设备管理器(硬件信息)中查到我的Ubuntu被安装在/dev/sda10上(和Grub的计数方式不同,是从1起计数的)。
2、在终端输入:
dd if=/dev/sda10 of=/ubuntu.lnx bs=512 count=1
dd命令使用来复制文件的。if=/dev/sda10表示输入。of=/ubuntu.lnx表示输出。bs表示文件大小为512字节。count=1表示块数目为1。这样就会把系统分区前512字节写入文件ubuntu.lnx中了(输出的文件名是可以任意取的)。
3、将ubuntu.lnx复制到Windows的C盘根目录下。
4、修改Windows的C盘根目录下的boot.ini,在最后加入
C:\ubuntu.lnx="Ubuntu Linux"
以下是我的boot.ini。
[boot loader]
timeout=30
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:\ubuntu.lnx="Ubuntu Linux"
5、最后在Windows下使用Fixmbr命令将Grub再次驱逐出境。。。这样,下次开机时,NTLoader就会停留30秒让你选择是进入XP还是Ubuntu了。
阅读(680) | 评论(0) | 转发(0) |