XP或Win7系统下grub4dos安装双系统ubuntu(32或64)

1、grub4dos在xp系统下引导安装ubuntu系统
先不要删除相关文件,只装好ubuntu不要按照文档做其他修改,保留一会
http://pan.baidu.com/s/1o6wiFr0
这个只能将ubuntu安装到空闲分区还没办法从xp或win7下引导进入ubuntu,解决方法是,再次进入ubuntu的pe安装系统,或者在上一步中不要立即重启,执行如下更新命令,用ubuntu自带的grub2作为整个系统的第一引导器
2、更新引导器
记住/分区在那个分区,以及有无boot分区,及其在哪个分区,以/在sda7,boot在sda8为例
Ctrl+Alt+t开启命令终端
sudo -i 切换为root用户
fdisk -l 查看分区分布
mount  /dev/sda7  /mnt 挂载根分区
mount /dev/sda8 /mnt/boot 挂载boot分区(如果有的话,没有则不执行此命令)
========--boot-directory选项使用tab键可以自动补全的,不能补全的话,说明敲错按键了========
+++++这些信息会写入/boot/grub/grub.cfg文件里面,也可以手动修改+++++
grub-install --boot-directory=/mnt/boot/ /dev/sda 写入第一主分区mbr,要装入第二硬盘的把sda改为sdb
reboot 重新启动,只能进入ubuntu无法进入xp或者win7了


进入命令终端
sudo update-grub 重建grub列表,将window xp或者win7引导项修复
sudo grub-install /dev/sda 写入主分区mbr
重启后可以进入ubuntu也可以进入xp或win7






2、grub4dos下menu.lst解释说明
1、在windows下,下载一个新版本的grub4dos,具体安装(把几个文件拷到C盘下)网上有。
2、把C盘下的那个boot.ini文件最后加入一行:
   C:/grldr=ubuntu
3、然后编辑grub4dos的menu.lst文件(在C盘根目录下,你要修改它的只读且隐藏属性才能进行编辑),加入以下
几行: 

<span style="font-family:Verdana;font-size:18px;">title Ubuntu 9.04  
root (hd0,7)  
kernel (hd0,7)/vmlinuz root=/dev/sda8 ro quiet splash  
initrd initrd.img  
quiet</span>

下面对这几行做个说明:
title的内容可以随便写,只要你将来自己看得懂,用来显示在grub4dos的引导选择界面上
root那一行是说明ubuntu的引导分区,取决于你把系统装到哪个分区上了。
kernel这一行,重点在root=/dev/sda8这句,对应于root那一行,比如(hd0,7)对应sda8或者hda8(sda表示SATA硬盘,hda表示IDE硬盘)。也即(hd0,n)对应n+1。
initrd这行照着写就是了
4、需要说明几点
如果你搞不清自己的ubuntu装在哪个分区上。可以通过手动引导,就是把上面第3步要写的东西在引导时手动写入。先重启,在引导界面选择 “ubuntu"(对应第2步),进入grub4dos引导界面,按"e"进行手动引导。在那个简陋的shell中写下root,然后空格,然后按 tab(多用tab键,grub4dos很智能,能提示你很多事情),它会把已有分区列出,你找找看哪个是ubuntu的安装分区。确定后,照上面第2步 的输入,在shell上输入一遍,输完一行记着回车。
有些文章介绍第2步时,内容很复杂大致如下:

<span style="font-family:Verdana;font-size:18px;">title       Ubuntu 8.04.2, kernel 2.6.24-23-generic (recovery mode)  
root        (hd0,7)  
kernel      /boot/vmlinuz-2.6.24-23-generic root=UUID=621d1b04-0504-491a-8ded-d9271b83d3c4 ro single  
initrd      /boot/initrd.img-2.6.24-23-generic</span>

第一,这么长的内核名字--vmlinuz-2.6.24-23-generic,就算你在手动引导时,利用tab键提示,由于系统内核更新,/boot/会有好几个类似的文件,不好选择。而我们上面只写了一个vmlinuz,它实际位于根系统的根目录下,是个链接,且内核每次更新会都会自动更新该链接到最新的内核,省去很多麻烦。
第二,root=UUID。。。这个东西够麻烦(有兴趣的可以网上搜),因为这个东西的作用是指出根系统所在分区,所以最简洁的方法就是写root=/dev/sdax....
如果不能确定是sda还是hda就随便猜一个。如果出错了,会跳到一个shell下,这时候用
         ls   /dev/  
命令看看自己的硬盘是哪种,再回头重新做。 
推荐手动

按键e
  grub>root  (hd
输入完上面的命令后,按TAB键,它自动会补个0 (因为我这只有一个硬盘),然后再按TAB键,它会把磁盘分区及分区格式全部列  出来,只需找到Linux分区类型所在的那个分区就对了,即不是ntfs分区,也不是什么未知分区的,我这显示的是ex2fs分区格式,即ext3格式,对应的分区为(hd0,6)

3、grub4dos设置引导ubuntu设置
用工具explore2fs只能查看ext3文件系统格式,ext4需要ext4explore
昨天重装XP系统,不小心把ubuntu的引导菜单弄丢了,不过没有关系,我有功能强大的grub4dos,用它就可以重新引导ubuntu了。现在就将我的操作过程一一道来,以供各位朋友参考。只要按照以下步骤操作,必能修复你的Linux引导菜单!
1、下载grub4dos,提取里面的两个文件:grldr和grub.exe,放在C盘根目录下。
2、修改C盘根目录下的boot.ini文件(隐藏文件),在最后一行加上一句:C:/grldr="Ubuntu 8.04" ,
双引号里的文字可以随心所欲的修改,那只是一个显示标题而已。比如我修改后的文件是这样的:
<span style="font-family:Verdana;font-size:18px;">[boot loader]
timeout=5
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 8.04"</span>
3、这一步最为关键,也是本文重点,请仔细阅读。
下载一个叫explore2fs的工具,这个工具可以在windows下查看linux里的东西。运行之,在/boot/grub/(可能有所差 别)下找到menu.lst文件,然后右键点击它,选择“导出文本”(不是“导出文件”),保存到C盘根目录下,文件名和扩展名均不变,仍为 menu.lst。可以用记事本打开,关键的只有几句,如:
<span style="font-family:Verdana;font-size:18px;">title  Ubuntu 8.04.1, kernel 2.6.24-19-generic
root  (hd0,2)
kernel  /boot/vmlinuz-2.6.24-19-generic root=UUID=a6ae6905-49ff-4767-853e-712d1f01311c ro splash
initrd  /boot/initrd.img-2.6.24-19-generic
quiet</span>
4、大功告成,重启电脑即可!
总结:原理上,在C盘根目录下有boot.ini、grldr、grub.exe和menu.lst等几个文件便可以引导windows和 linux双系统,boot.ini本来已有,只需稍加改动;而menu.lst的编写较为复杂,网上众说纷纭,然而其实可以在linux文件系统里找 到,只需借助工具提取,不必要自己编写。



引用:
http://wenku.baidu.com/view/de9f01eb81c758f5f61f674e.html
http://wenku.baidu.com/view/c5fc1e3d0912a2161479299e.html
http://wenku.baidu.com/view/0c93d0234b35eefdc8d3334d.html

你可能感兴趣的:(ubuntu,grub4dos)