DOS进行Linux系统硬盘安装,多系统引导

1、多种操作系统带领管理器及办事原理;
系统运维教导管理器,是在Computer运行后运转的第贰个程序,他是用来肩负加载、传输调整到操作系统的基础,一旦把基础挂载,系统指点管理器的天职正是完事退出,系统教导的别的部份,举个例子系统的最早化及运行进程则完全由基础来决定落成;
Briefly, boot loader is the first software program that runs when a
computer starts. It is responsible for loading and transferring control
to the operating system kernel software (such as the Hurd or the Linux).
The kernel, in turn, initializes the rest of the operating system (e.g.
GNU).
在X86 框架结构的机器中,Linux、BSD 或别的Unix类的操作系统中GRUB、LILO
是豪门最棒常用,应该说是主流;
Windows也会有近似的工具NTLOADE福特Explorer;比如大家在机器中装置了Windows
98后,我们再设置八个Windows XP
,在机械开动的会有二个美食做法让我们挑选进入是跻身Windows 98 依然进入Windows
XP。NTLOADE奇骏正是八个多系统运行辅导管理器,NTLOADE福特Explorer一样也能教导Linux,只是极为麻烦罢了;
在Powerpc 架构的机械中,假设设置了Linux的Powerpc 版本,繁多是用yaboot
多种教导管理器,举例Apple机近日用的是IBM
Powerpc管理器,所以在假若想在Apple机上,安装Macos 和Linux Powerpc
版本,比相当多是用yaboot来教导迷津五个操作系统;
因为脚下X86架构的机械仍是主流, 所以近期GRUB和LILO
依旧是我们最常用的所有人家操作系统指引管理器;
2、什么是GRUB;为啥本身要选拔GRUB;
1)什么是GRUB;
GNU GRUB 是三个多种操作系统运营管理器。GNU GRUB 是由GRUB(GRand Unified
Bootloader) 派生而来。GRUB 最早由Erich Stefan Boleyn 设计和选用;
GNU GRUB is a Multiboot boot loader. It was derived from GRUB, GRand
Unified Bootloader, which was originally designed and implemented by
Erich Stefan Boleyn.
2)“GRUB太不佳用”──对GRUB的认知的误区;
GRUB真的不好用啊?不是的,通过LinuxSir.Org
社区近三年来的运行,笔者发觉了好多菜鸟弟兄仍然不太明白GRUB;当然那也许有中文Linux社区的权力和义务,即便也许有GRUB的国语译本,初学Linux的小伙子可能有一点点看不懂;
大家欢畅的看来LinuxSir.Org
社区的多数弟兄都曾经或正在写GRUB施行文档,也是有的弟兄也总计了GRUB的片段基础知识,比方probing兄弟的 《GRUB
学习笔记》;由于每一个人的写文档时风格区别,也许同样份文书档案分化的人来写就有不相同的作风;所以明天也抖胆也一篇入门级的学科,由于北南不会写高档教程,所以还得请大师弟兄指教,先谢过;
3)为啥要选用GRUB;
依赖在X86架构的CPU而付出操作系统,系统指导管理器不止有GRUB
,而且也可以有LILO,但对此多种系统引导管理器,你只可以选择其一而用;不能八个同期利用;
当前那四个多种系统辅导管理器是豪门最常用的,也是主流Linux发行版而选拔的;有的弟兄喜欢GRUB;
主流发行版
Fedora、RedHat、CentOS等依赖RPM包的体系,在最新版本中都私下认可GRUB教导;Slackware
近些日子仍接纳LILO;而Debian发行版近期最新的版本也是使用GRUB;
从脚下总的来讲,GRUB有逐年替代LILO之势,GRUB
2.0正值开拓之中;所以我们有理由用GRUB,作者也许有理由写GRUB使用教程;
二、GRUB软件包版本选用和装置;
1、GRUB的版本采用,Linux版本的GRUB及Windows版本的GRUB的认证;
GRUB不但有Linux版本,也是有Windows版本;现大家挨个介绍;
如前方所说,如今在在Unix类的操作系统中,多数是都有GRUB;GRUB大概能引导全体X86架构的操作系统;功效之强,使用轻巧是GRUB最大的卖点;由于Windows
操作系统的先入为主的优势,使得大家对Windows的NTLOADEOdyssey了然的可比多,而对开源社区的GRUB显得略微寞生,因而而带来使用上的“激情恐惧”;究其初学者对GRUB“恐惧”的首要性原因可能对GRUB未有太多的问询和深深;无论是WINGRUB如故Linux版本的GRUB,最有助于的依然对
GRUB命令行的操作;一聊起命令行(Command)的操作,大概初学者对此恐惧;其实未有怎么难的,象北南那样低档的写手,还能够操作得兴起,您也应有能行;
2、GRUB的Windows版本WINGRUB;
请参见:《以WINGRUB 指导安装Fedora 4.0
为例,详述用WINGRUB来辅导迷津Linux的安装》
3、GRUB的Linux版本软件包的安装;
骨子里对于Linux的GRUB,大概全数的Linux主流发行版都有包装,借令你安装了Linux,并且在开机后边世GRUB字样的,注解您曾经安装了GRUB;而无需另行安装;Linux的GRUB软件包安装部份并不是本文的重要;
若是你的Linux系统未有设置GRUB,或然选拔的是LILO,而你想用GRUB,能够用系统装置盘自带GRUB软件包来设置,或许到有关发行版本的软件客栈下载后安装;
GRUB
的Linux版本方今在各大发行版中都有包装;举例Fedora/Redhat/Centos/Mandrive/Mandriva/SUSE等以RPM包处理机制的连串,能够因而如下的授命来安装;
请参见《Fedora / Redhat 软件包管理指南》
[root@localhost ~]# rpm -ivh grub*.rpm
要是是Slackware 您可以用如下的艺术来设置;
[root@localhost ~]# installpkg grub*.tgz
任何的批发版本请用其和好特点的软件包管理工科具来设置;
自然你也得以透过源码包,在任何Linux的发行版上设置;至于源码包的设置方式;
请参见:《怎么样编译安装源码包软件》
[root@localhost ~]#tar zxvf grub*.tar.gz
[root@localhost ~]#cd grub-xxx
[root@localhost ~]#./configure;make;make install
确定您是还是不是中标安装了GRUB,您能够测验是或不是有如下八个指令;
[root@localhost ~]# grub
[root@localhost ~]# grub-install
比如你不可能找到这五个指令,大概你的可试行程序的不二秘技未有设置;
请参见:《设置可执行程序路径》,当然你可以用相对路线;举例上面包车型大巴;
[root@localhost ~]# /usr/sbin/grub
[root@localhost ~]# /usr/sbin/grub-install
假设您依旧找不到GRUB软件包安装在哪了;您可以用上边包车型客车一声令下来化解和查究;
[root@localhost ~]# updatedb 注:这几个要花不短日子;是索引slocate
的库,然后再经过locate来搜寻;
[root@localhost ~]# locate grub
比如说找到的是有像样如下的;
[root@localhost ~]# locate grub
/sbin/grub-md5-crypt
/sbin/grub
/sbin/grub-install
/sbin/grub-terminfo
在经常景色下,在路线中带有bin或sbin中字样的,这一个渠道下皆以可实施程序;sbin
是最好权限顾客才具选用的军管命令;要接纳这几个命令日常的情形下得切换来root客商下本事应用;举个例子
[beinan@localhost ~]$ su – 注:切换来root客户,并且切换来其家目录;
Password:
[root@localhost ~]#/sbin/grub 注:用相对路径来运转grub命令;
三、在Linux中,GRUB的配备中的安装和写入硬盘的MB福特Explorer;
1、在Linux中,GRUB配置进度中的安装grub-install;
grub-install
命令有啥用呢?其实正是把大家前边已经安装的软件包中的一些文件复制到
/boot/grub中;对于新安装GRUB软件包后,也是一个必经的进程;我们前面所说的GRUB软件包的安装;而近年来大家说的是GRUB配置的经过中的安装;纵然在洋文中都以install
,但表达的野趣是不相同样的;
小编们第一要运转 fdisk -l 来承认到底是硬盘的标记;
以此进度首假若确认硬盘的标记是哪些调备,到底是/dev/hda依旧/dev/hdb
依然其余的;
[root@localhost ~]# fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
  Device Boot Start End Blocks Id System
/dev/hda1 * 1 970 7791493+ 7 HPFS/NTFS
/dev/hda2 971 9729 70356667+ 5 Extended
/dev/hda5 971 2915 15623181 b W95 FAT32
/dev/hda6 2916 4131 9767488+ 83 Linux
/dev/hda7 4132 5590 11719386 83 Linux
/dev/hda8 5591 6806 9767488+ 83 Linux
/dev/hda9 6807 9657 22900626 83 Linux
/dev/hda10 9658 9729 578308+ 82 Linux swap / Solaris
假诺由此fdisk -l 出现有/dev/hda字样的,我们就要用下面包车型地铁授命来安装;
[root@localhost ~]# grub-install /dev/hda
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install’.
(fd0) /dev/fd0
(hd0) /dev/hda
万一是你fdisk -l 出现的有/dev/hdb呢,那就像下运营;
[root@localhost ~]# grub-install /dev/hdb
若果既有/dev/hda和/dev/hdb 就安装到/dev/hda中;
[root@localhost ~]# grub-install /dev/hda
值得注意的是倘若您有一个/boot分区,应该用如下的法门来安装;
[root@localhost ~]#grub-install –root-directory=/boot /dev/hda
[root@localhost ~]#grub-install –root-directory=/boot /dev/hdb
讲解:具体是/dev/hda依旧/dev/hdb,请以fdisk -l
为准;若是多少个都有,就看你把/boot分区是放在第一块硬盘照旧其次块硬盘上了,以真实情状为准;
2、设定GRUB的/boot分区并写入MB揽胜极光;;
在Linux中,GRUB软件包的安装,及在布局进程中装置grub到
/boot中还是远远不足的,
还要把GRUB,写入MBPAJERO才行;有的时候大家重新安装了Windows,Windows会把MBPAJERO重写,那样GRUB就藏形匿影了;尽管你出现这么的意况,将要拓宽这些历程;
[root@localhost ~]# grub
会出现grub>指示符,那是grub命令行方式,借使能在开机中出现提醒符,未有辅导不起来的类别,除非您的系统破坏的极为严重。假如唯有是GRUB被毁损了,GRUB命令行是能让操作系统指引起来的;
进而看例子,大家要找到 /boot/grub/stage1的,在grub>前面输入;
grub> find /boot/grub/stage1
(hd0,6)
(fd0)
注:这一个是软驱;以往少之甚少用软驱了,如若你有那上头的急需,本身看GRUB的DOC吧;
注解:
(hd0,6) 那是/boot所在的分区;不要误会为是Linux
的/所在的分区,那是值得注意的;
(fd0)
注:那些是软驱;今后少之又少用软驱了,假如您有那下边包车型地铁内需,自个儿看GRUB的DOC吧;
grub>root (hd0,6) 注:那是/boot所在的分区;
grub>setup (hd0) 注:把GRUB写到MBR上;
注解:
地点这步骤是基于 find
/boot/stage1而来的,留神看一下就知晓了;未来大家日常设置相当少会把/boot分区名列一个独门的分区;可是有的弟兄可能也喜欢这样做;所以依旧有须要说一下为好;
四、GRUB的配备文件的menu.lst的写法;
对此GRUB来讲,若无计划menu.lst,无论是Linux版本的GRUB,还是WINGRUB,都会有命令行可用,通过命令行是一致能把操作系统指引起来的��有个别弟兄总以为menu.lst
配置错了,或然在机械开动前边世grub>命令行方式将要重新安装系统,其实历来未有那些须要;只要学会GRUB的命令行的用法,根本未曾须求重装系统;
menu.lst 位于/boot/grub目录中,也正是/boot/grub/menu.lst
文件;您能够用vi或你疼爱的编辑器来编排他;即便你不会用vi,依旧去上学一下啊;轻松的用法怎么也得会,对不对?毕竟那一个文书档案不是讲vi的用法的;
一部分弟兄会说,笔者未曾menu.lst怎么做?那就成立二个;用上面包车型客车一声令下;
[root@localhost ~]# touch /boot/grub/menu.lst
接下来我们再做一个/boot/grub/menu.lst 的链接 /boot/grub/grub.conf
[root@localhost ~]# cd /boot/grub
[root@localhost ~]# ln -s menu.lst grub.conf
到现在我们来写GRUB的menu.lst了,因为/boot/grub/grub.conf是
/boot/grub/menu.lst的链接文件,改哪个都行。链接文件相当于Windows的急忙格局,那样恐怕能越来越好的领会;
1、menu.lst的写法之一;
率先大家看一下本人的Fedora 4.0 中的/boot/grub/menu.lst 的内容;
default=0
timeout=5
#splashimage=(hd0,6)/boot/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.11-1.1369_FC4)
    root (hd0,6)
    kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/
    initrd /boot/initrd-2.6.11-1.1369_FC4.img
title WinXp
    rootnoverify (hd0,0)
    chainloader +1
注解:
default=0
default=0
是暗许运转哪个系统,从0开端;每一种操作系统的启航的概念都从title初始的,第一个title
在GRUB的开发银行菜单上显得为0,第一个运维为1,由此及彼;
timeout=5
注:表示在开机后,GRUB画面出现几秒后开始以暗许运营;尽管在运行时,移动上下键,则解除这一平整;
#splashimage=(hd0,6)/boot/grub/splash.xpm.gz
注:GRUB的背景画面,这么些是可挑选;我恶感GRUB的背景画面,所以加#号注掉,也能够去除;
hiddenmenu
讲解:遮盖GRUB的运维菜单,那项也是可选的,也得以用#号注掉;
貌似的意况下对Linux操作系统的运行,平常要包涵四行;title
行;root行;kernel 行;initrd 行;
1)在menu.lst中 ,通过 root (hd[0-n],y)来钦命/boot 所在的分区;
title XXXXX 注:title 前边加贰个空格,title
是小写的,前面能够团结定义;举个例子FC4,自个儿定义二个名字就行;
root (hd[0-n],y) ,在本例中,大家看看的是root (hd0,6) ,root
(hd[0-n],y)表示的是/boot所在的分区;不常我们安装Linux的时候,多数是不设置/boot的,那时/boot和/所在的同贰个分区;这一个root
(hd[0-n],y)很要紧,因为/boot目录中固然有grub目录,最为关键的是还也是有kernel
和initrd文件,那是Linux能开发银行起来无比重大东西;图片 1

GRUB.EXE 完全正是 GRUB,只不过重新打包,使得它能够在 DOS
下运转。所以,GRUB.EXE 具有你从前所熟练的 GRUB
的持有特出天性。近来,grub_for_dos 的最新稳固版 0.0.8 可以从这里得到:

ftp://ftp.cosoft.org.cn/incoming/grub_for_dos-0.0.8.tar.gz 
恐怕步向目录查看: ftp://ftp.cosoft.org.cn/incoming/

本子 0.0.8 在驱动器映射之下也能够重新能够轻松嵌套数次)安全地运转GRUB.EXE。采取的秘技是,在历次运行 GRUB.EXE
的时候,都自动卸载先前的驱动器映射,恢复旧的 BIOS int13中断向量。开拓版类别举个例子版本 0.1.4)当然也可能有那个职能。

解压后,把 grub.exe 文件拷贝到 DOS 的硬盘分区或许 DOS 软盘就可以。用法:

grub –config-file=(hd0,0)/boot/grub/menu.lst

要么不带参数:

grub

暗许的配置文件是 (hd0,0)/boot/grub/menu.lst

设若 Linux 安装之后无法运转,或许的缘故是 Lilo 的故障。那时候,用一张
grub 携带软盘运营,可保险运行成功。假若您从未 grub 运维软盘,那么用一张
DOS 运转软盘,再增进二个 grub.exe 文件,一样能够很简短地得到 grub
庞大的多种运维功用。

顺便说,用“DOS运行盘+GRUB.EXE”的点子所创立的软盘,能够用来运行 DOS
和另外操作系统,是真的的“万能指引软盘”。那张软盘在硬盘无法辅导DOS/Windows 的时候还足以辅导 DOS,而用别的形式制作的 GRUB
软盘,不能够再重新用作 DOS 运营盘。这里所说的“DOS运维盘”能够是 MS-DOS
的,也得以是 FreeDOS 的附带说,FreeDOS build 2029 已经支撑 Win98 的
FAT32 大分区格式了)。

除此以外一种情景:当你重新安装 Windows 的时候,Windows 会重写 MB奥德赛,进而把
LILO 或 GRUB 的启航代码抹掉。用
GRUB.EXE,你不需软盘就可以运营其余操作系统假定你的Windows是9x,也许硬盘上设置有DOS)。

用 loadlin.exe 也能运营 Linux,不过 loadlin
需求贰个内核文件vmlinuz),这些根本文件必得处在 DOS/Windows
的分区,有时候这一个基本文件不吻同盟为你新近安装的 Linux
系统的根本。GRUB.EXE 就从不及此的界定,它能够给您相当的大的大肆,它从 DOS
下运维,而能够从 Linux
分区找到任何挎满含基础文件),你很轻巧理解这一个根本跟你就要指引的体系是协作的,进而引导Linux 系统。

loadlin.exe 也是不用安装就足以选择的 Linux 辅导器。grub.exe
的区别在于,它是二个指导管理器,能够辅导其余操作系统。

请在搜索引擎 )中追寻有关 GRUB
的详细资料。这里只是举二个很常用的回顾例子,命令行操作:

grub> find /boot/vmlinuz

(hd0,7)

grub> root (hd0,7)

grub> kernel /boot/vmlinuz root=/dev/hda8

grub> boot

简轻便单的多少个 grub 命令,就能够运维 Linux 了,很有益啊?顺便说,grub 的
find 命令很好,grub 乃至还应该有一个 cat 命令可以展现贰个文件的内容。在 grub
的唤醒符下敲入 help 命令,能够获得在线帮忙。grub 的分区号 (hd0,N)
平日正是 Linux 的 /dev/hda(N+1), 比方: (hd0,7) 便是 /dev/hda8,
尽管你的是 SCSI 硬盘, 则是 /dev/sda8。二个特种境况是, 当你的系统中并未有IDE 主盘而唯有 IDE 0 上的三个从盘时, grub 展现的 (hd0,7) 将是 Linux 的
/dev/hdb8, 也便是说, GRUB 找到的第贰个 BIOS 硬盘 (hd0) 是系统中的
/dev/hdb 了。叁个纵横交错一些的事例:

搜索系统中的内核文件的地方:

grub> find /boot/vmlinuz

(hd0,7)

//若是你接纳了独自的 boot 分区, 那么供给用

grub> find /vmlinuz

//来探究。假定找到的结果是

(hd0,6)

//再找找系统中有啥根分区:

grub> find /sbin/init

(hd0,7)

//运转水源的指令是:

grub> kernel (hd0,6)/vmlinuz root=/dev/hda8

grub> boot

即使您的 (hd0,7) 不是 /dev/hda8 而是 /dev/hdb8, 你就试试它:

grub> kernel (hd0,6)/vmlinuz root=/dev/hdb8

发表评论

电子邮件地址不会被公开。 必填项已用*标注