Linux操作系统被作为多种计算机硬件的首选操作系统,它可以实现轻松的安装和管理,因此很受欢迎。要在硬件上安装Linux,必须知道//Linux 引导程序//的工作原理。
引导程序是一种程序,它可以在硬件和操作系统之间进行沟通,以便操作系统可以成功加载和运行。Linux引导程序是在安装Linux操作系统之前必须运行的程序,可以完成两个主要任务:
1.硬件初始化
硬件初始化时,引导程序会检查计算机系统上安装的硬件部件,并且尝试识别和配置它们。检测的硬件可能包括硬盘、内存条、CPU等,引导程序还会确定系统的起始及结束地址。这可以通过以下代码完成:
cpuid = GetProcessorId();
InitializeMemory(cpuid);
2.让操作系统开始运行
当硬件初始化完成后,引导程序就可以找到和加载操作系统。它首先会从存储设备上加载作为磁盘引导块(DBRs)的boot loader,boot loader可以用来从硬盘上加载Kernel,Kernel实现了Linux操作系统的基本功能。例如,它可以保护系统资源、加载设备驱动程序、初始化系统核心数据结构(如进程控制块)和其他任务。
之后引导程序会分配内存地址给Kernel,然后再将Kernel加载到内存中。载入Kernel后,系统会开始运行底层和单机任务,例如启动系统服务(如网络 服务器 )、激活守护进程以及运行graphic shell等。
总的来说,Linux引导程序是安装和管理Linux操作系统所必要的一环。它可以在安装Linux之前完成硬件设备检测和配置,并用于让操作系统开始运行剩下的任务。
香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
如何在电脑上装windows和linux双系统
Windows和Linux双系统的安装方法Linux经过这些年的发展,其易用性大大提高,这也体现在Linux的安装程序上,所以,将Linux安装在一台已安装了Windows的电脑上已经不是什么难事。 下面,我就谈谈如何在windows电脑上安装Linux。 本文适合在已有Windows的计算机上安装Linux的用户,也适合在空硬盘上同时安装两个操作系统的用户阅读。 如果您想同时安装Windows和Linux,那很简单,请先安装Windows,并在安装Windows的时候,创建好分区,其中,创建一个大于5G的分区用于安装Linux。 当你完成了windows的安装,您可以阅读以下正文,来继续安装Linux。 在写正文前,你要知道一个常识,Linux的文件系统和windows的文件系统是互不兼容的。 所以,如果您要安装Linux,您就必须从windows里奉献出一个分区给Linux。 好,下面开始正文。 1:前期准备(准备Linux分区)我们要安装的Linux版本是Red Hat 9,一共三张CD我们的电脑分区结构:C、D、E、F其中,D盘数据已经清空,大小10GB。 这个分区就是用来装Linux的。 记住,在安装完Linux以后,您在Windows里将看不到这个分区了。 (不兼容的文件格式) 2:开始安装建议:如果您是第一次安装,最好将您电脑上的数据进行备份。 如果您没有备份数据,请仔细阅读文章以后再操作,以免造成数据的破坏。 1:放入Red Hat 9 的第一张光盘,重启电脑,让CD先于光盘启动。 如果您看到了Red Hat的商标,那恭喜您,光盘启动成功。 如果您没有看到,而是又进入了Windows,那么请进入您的BIOS,将CD-Rom先于HDD启动。 2:按下Enter键,进行图形化模式的安装。 之后会出现一个对话框,要求检查光盘,您可以选择skip,以节约时间。 3:之后的选项卡的内容无非就是选择语言,鼠标,键盘,时间等,我就不多说了,一般选择默认就可以了。 当你看到了这个单词:partition(分区)的时候,你就要小心了,因为下面将进入至关重要的分区阶段。 4:分区模式有两个,第一个是自动分区,第二个是手动分区,记住,一定要选择手动分区,否则您的windows将被自动分掉了。 5:好,进入了手动分区你可以看到上部,有一个图,这就是我们的硬盘分区图,你应该可以看到4个分区,其中第二个分区,就是我们的D盘。 我们将把Linux创建在这个分区上,而其他分区不去动它。 点击这个分区,让这个分区突出显示。 1:当你选择了D盘以后,点击新建(new),也就是在D盘中再创建Linux的分区。 2:弹出一个对话框,挂载点(mount)选择swap,大小设置为你内存的2倍,并选择“将分区格式化成swap”,这样,就创建了一个swap分区了。 注:Linux的分区至少有两个,一个是swap分区,大小一般为你内存的2倍,主要用于虚拟内存,也就是内存数据与硬盘的交换。 还有一个就是数据分区。 3:好,您已经创建了一个swap分区,现在看看分区图,是不是在D盘里面又有了一个新的块了?好了,剩下的那个块我们再创建一个数据分区。 点击D盘中那个剩下的块,点击新建。 4:弹出一个对话框,挂载点(mount)选择 / ,即根目录,并选择“将分区格式化成ext3”,这样,就创建了一个数据分区了。 注意:Linux的数据都存在/目录下,即根目录下,所以,您将根目录作为一个独立的挂载点,那就包含了所有的数据了。 当然,您还可以再为某个目录创建一个分区,当然,为了简单起见,这里我们就创建一个数据分区。 5:至此,我们的分区已经完成,点击下一步进行安装。 如果您点击下一步的时候,得到安装程序的错误,请仔细阅读上文,并确保您的分区中包含了swap分区和数据分区。 3:完成安装剩下的工作很简单,您都可以使用默认设置来完成。 不过请注意,请一定要选择正确的显卡驱动。 如果您的显卡适配器不幸没有再Linux系统中列出,那就是用它默认的,但请特别注意:在你配置显示器的时候,色彩深度设置为16,不要设置成24,否则安装完成以后就会出现花屏,很麻烦的。 如果你不幸已经花屏了,那请参看我的另一篇文章:解决Red Hat 9安装完后花屏,黑屏的方法。 好了,当文件复制完成之后,您的Linux就安装好了。 重启电脑时,一开始就会进入GRUB启动程序。 在启动菜单中,有两个选项。 第一个Red Hat 9,第二个是DOS,也就是Windows。 您可以选择要进入哪一个操作系统。
LINUX操作系统的启动过程
一、启动内核 首先介绍启动内核部分。 电脑启动时,BIOS装载MBR,然后从当前活动分区启动,LILO获得引 导过程的控制权后,会显示LILO提示符。 此时如果用户不进行任何操作,LILO将在等待制定 时间后自动引导默认的操作系统,而如果在此期间按下TAB键,则可以看到一个可引导的操作 系统列表,选择相应的操作系统名称就能进入相应的操作系统。 当用户选择启动LINUX操作系统时,LILO就会根据事先设置好的信息从ROOT文件系统所在的分 区读取LINUX映象,然后装入内核映象并将控制权交给LINUX内核。 LINUX内核获得控制权后, 以如下步骤继续引导系统: 1. LINUX内核一般是压缩保存的,因此,它首先要进行自身的解压缩。 内核映象前面的一些 代码完成解压缩。 2. 如果系统中安装有可支持特殊文本模式的、且LINUX可识别的SVGA卡,LINUX会提示用户 选择适当的文本显示模式。 但如果在内核的编译过程中预先设置了文本模式,则不会提示选 择显示模式。 该显示模式可通过LILO或RDEV工具程序设置。 3. 内核接下来检测其他的硬件设备,例如硬盘、软盘和网卡等,并对相应的设备驱动程序 进行配置。 这时,显示器上出现内核运行输出的一些硬件信息。 4. 接下来,内核装载ROOT文件系统。 ROOT文件系统的位置可在编译内核时指定,也可通过 LILO或RDEV指定。 文件系统的类型可自动检测。 如果由于某些原因装载失败,则内核启动 失败,最终会终止系统。 二、执行init程序 其次介绍init程序,利用init程序可以方便地定制启动其间装入哪些程序。 init的任务是 启动新进程和退出时重新启动其它进程。 例如,在大多数Linux系统中,启动时最初装入 六个虚拟的控制台进程,退出控制台窗口时,进程死亡,然后init启动新的虚拟登录控制台, 因而总是提供六个虚拟登陆控控制台进程。 控制init程序操作的规则存放在文件/etc/inittab中。 Red Hat Linux缺省的inittab文 件如下: # #inittab This file describes how the INIT process should Set up the system in a certain #run-level. # # #Default runlevels used by RHS are: #0-halt(Do NOT set initdefault to this) #1-Single user mode #2-Multiuser,without NFS(the same as 3,if you do not have networking) #3-Full multiuser mode #4-unused #5-X11 #6-reboot(Do NOT set initdefault to this) # id:3:initdefault: #system initialization si::sysinit:/etc/rc.d/ 10:0:wait:/etc/rc.d/rc 0 11:1:wait:/etc/rc.d/rc 1 12:2:wait:/etc/rc.d/rc 2 13:3:wait:/etc/rc.d/rc 3 14:4:wait:/etc/rc.d/rc 4 15:5:wait:/etc/rc.d/rc 5 16:6:wait:/etc/rc.d/rc 6 #Things to run in every runlevel ud:once:/sbin/update #Trap CTRL-ALT-DELETE ca::ctrlaltdel:/sbin/shutdown -t3 -r now #When our UPS tells us power has failed,assume we have a few minutes of power a #shutdown for 2 minutes from now. #This does,of course,assume you have powered installed and your UPS connected and working #correctly. pf::powerfail:/sbin/shutdown -f -h +2 Power Restored;Shutdown Cancelled #Run gettys in standard runlevels 1:respawn:/sbin/minggetty tty1 2:2345:respawn:/sbin/minggetty tty2 3:2345:respawn:/sbin/minggetty tty3 4:2345:respawn:/sbin/minggetty tty4 5:2345:respawn:/sbin/minggetty tty5 6:2345:respawn:/sbin/minggetty tty6 #Run xdm in runlevel 5 x:5:respawn:/usr/bin/X11/xdm -nodaemon Linux有个运行级系统,运行级是表示系统当前状态和init应运行哪个进程并保持在这种 系统状态中运行的数字。 在inittab文件中,第一个项目指定启动时装入的缺省运行级。 上例中是个多用户控制台方式,运行级为3。 然后,inittab文件中每个项目指定第二个 字段的项目用哪种运行级(每个字段用冒号分开)。 因此,对运行级3,下列行是相关的: 13:3:wait:/etc/rc.d/rc 3 1:respawn:/sbin/minggetty tty1 2:2345:respawn:/sbin/minggetty tty2 3:2345:respawn:/sbin/minggetty tty3 4:2345:respawn:/sbin/minggetty tty4 5:2345:respawn:/sbin/minggetty tty5 6:2345:respawn:/sbin/minggetty tty6 最后六行建立Linux提供的六个虚拟控制台。 第一行运行启动脚本/etc/rc.d/ rc 3; 这将运行目录/etc/ rc.d/rc3.d中包含的所有脚本,这些脚本表示系统初始化时要启动的程序。 一般来说, 这些脚本不需要编辑或改变,是系统缺省的。

grub是什么意思
grub是linux的引导程序,但是矮人是使用grub4dos引导进入dos的,而不是grub。 这里面说的比较清楚。 记住grub和grub4dos有点不一样。 grub4dos是由grub演变而来的。
发表评论