硬盘安装ubuntu 10.04与初探grub4dos的东东

来源:互联网 发布:脑部良性肿瘤 知乎 编辑:程序博客网 时间:2024/05/16 13:05

   如何硬盘安装linux,在网上一搜一大堆,了解其的过程才是我花几天去研究其过程r 最终的目的,以下是本人安装的一些总结,有点乱,也罢,笔记就是这样的,this is my style!,只求做下记录,方便下次参考!!!

 

 

  下载grub for dos ,把grldrgrldr.mbr 解压到c 盘根目录

用记事本写下以下内容:
title Install Ubuntu 10.04     
root (hd0,0)
kernel /vmlinuz boot=casper iso-scan/filename=/ubuntu-10.04-desktop-i386.iso ro quiet splash   
initrd /initrd.lz

保存,并重命名为menu.lst  


  返回到XP 的桌面,按下面顺序打开boot.ini

右击“我的电脑”-> “属性”-> “高级”-> “设置”(启动和故障恢复的那个)-> “编辑”,打开文件后,在下面添加如下一行:

c:/grldr=”Grub4Dos”

保存退出


   然后, 把ubuntu-10.04-desktop-i386.iso 放到C 盘下,用Daemon Lite 载入ubuntu-10.04-desktop-i386.iso ,并从/casper 文件夹里把vmlinuzinitrd.lz 这两个文件提取出来也放到C 盘下,重启后选中”Grub4dos” 选项,进入后选中”Install Ubuntu 10.04”, 不久后就会进入Ubuntu 10.04Livecd ,双击那个桌面上的安装图标前,进行如下操作:

1、 ctrl+alt+t 进入终端

2、 敲入“sud 法卸o umount -l /isodevice” ,不然会出现无载挂载点的错,并且会出现如下提示:

 

 

接着,双击那个桌面上的安装图标,进行安装

注意:

(1)    安装到分区的时候要小心,提倡手动分区,并且选中我们打算安装的地方

(2)    Grub 不要安装到MBR, 我选择安装在ubuntu 所用的分区中(我用的是sda3 ),这样在安装完成后,重启将不会看到所装的ubuntu, 但这样做不会损坏原来的XP ,可以用其他的方法进行引导ubuntu

 

 

                                            附录

 

xp与unbuntu 双系统安装英文参考:http://members.iinet.net.au/~herman546/p3.html

得引导信息:

方法一:/boot/grub/grub.cfg ,找到相应信息复制到XP 下的menu.lst

方法二:dd if=/dev/sda3 of=/mnt/bootsect.lnx bs=512 count=1


// XP 下的Dsda5 )盘挂载在/mnt 下,把bootsect.lnx 放在C 盘的根下,在boot.ini 添加一行c:/bootsect.lnx=”Ubuntu Desktop”

 

menu.lst 或在grub> 模式下用到的命令小解:

default  指定缺省的菜单项,由0 开始算起

 

timeout 缺省的等待时间,如果在指定的时间( 以秒为单位) 不按任何键,则会启动缺省的菜单项

 

root 在设置根设备前,先测试一下该分区的文件系统是否可以识别,而rootnoverify 则省略这一测试

 

chainloader 把启动扇区的内容装入内存,参数+1 指的是把分区的第一个扇区


setup (hd0) 引导写入硬盘MBR


root=UUID=xxx 指示LINUX 安装分区, 一开始不知到UUID 不要紧,可以随便写一个UUID ,然后在重启后选择ubuntu 启动项。由于UUID 对应了一个硬盘分区,因此启动会失败;启动失败后,会进入命令行。此时查看/boot/grub/menu.lst ,就可以找到真正的UUID 。(或者进入/dev /disk/by-uuid 目录,看看那个UUID 比较像. 注意这里的uuid, 不建议用uuid 来启动,因为uuid 是个很糟糕的选择,对于喜欢折腾的人来说,硬盘分区是经常变的,uuid 是搞不清楚的。而且太长了。对了解自己硬盘分区的人来说,用/dev/sda8 这种表示最方便,数一下就行了,这表示我F 盘后面的xfs 分区

 

(hd0,0)0+100,200+1,300+300 表示硬盘0 上第一个主分区里,从扇区0 起的100 个扇区,然后是从扇区200 起的1 个扇区,最后是从扇区300 起的300 个扇区。当位移为零时,可以省略不写,因此,(hd0,0)+1 表示的是硬盘0 上第一个主分区里从扇区0 起的1 个扇区,也就是分区的第一个扇区

 

启动一般系统: 一般来说,操作系统会在其所在分区的第一个扇区里放入启动代码。因此, 用以下的一组命令一般可以启动硬盘0 第一主分区上的操作系统:rootnoverify (hd0,0) chainloader +1 boot

 

                            磁盘交换

 

map 命令在GRUB Legacy 中的也存在,它是用作磁盘交换。

比如说,你有两只硬盘,但两只硬盘上均有可启动的系统。在第一只硬盘上启动时,不需要特殊的处理,直接用chainloader 装载启动扇区就可以了。不过,如果要从第二只硬盘上启动,那么单单用chainloader 是不够的,这是因为很多操作系统都缺省地从第一只硬盘上装载启动所需的文件,如果文件不在其上,系统便不能顺利地读取,从而导致启动失败。

一个原始的解决方法是在BIOS 中修改启动顺序,把需要启动的硬盘放到最前面。那么,重启计算机后该硬盘便会成为第一只硬盘,从而可以正常启动。

GRUB 中的map 命令便是为了解决这个问题而设计的,它可以在运行时交换磁盘,而无需修改BIOS 。例如:

title Boot First Partition on Second Disk

map (hd0) (hd1)

map (hd1) (hd0)

chainloader (hd1,0)+1

boot

在该例子中,使用了map 命令实现了(hd0)(hd1) 的交换。要注意的是,交换是在命令boot 后才生效的。因此在chainloader 命令中,读取的仍然是第二只硬盘

 

 

 

 

 

 

 

 

原创粉丝点击