Linux 和 Windows 的引导过程及恢复

在产品的测试过程当中,用户的不少操做都会形成系统的混乱,好比:
  • 频繁更换待测版本
  • 修改系统配置
  • 产品 bug 致使系统崩溃
  • 测试机被他人使用
为了解决这个问题,做为系统维护人员,首先想到的是作系统的备份与恢复。传统的备份还原技术只能基于本地,系统维护人员必须跑到机器前,经过一键恢复或者恢复盘进行恢复,费时费力。为此,咱们对这种传统的备份恢复技术进行了改进,让系统维护人员不用离开座位,只要经过远程轻轻一点就能够自动实现系统的恢复。
首先,咱们谈到远程,就不能不谈谈系统的引导过程,不然你们大老远的怎么能知道咱们的恢复程序都背着你干了些什么。Linux 和 Windows 的引导过程大概能够分红以下几部分依次执行:
Windows
BIOS(Basic Input/Output System,基本输入输出系统)全称是 ROM-BIOS,是只读存储器基本输入/输出系统的简写,它实际是一组被固化到电脑中,为电脑提供最低级最直接的硬件控制的程序,它是连通软件程序和硬件设备之间的枢纽,通俗地说,BIOS 是硬件与软件程序之间的一个“转换器”或者说是接口(虽然它自己也只是一个程序),负责解决硬件的即时要求,并按软件对硬件的操做要求具体执行。
BIOS 芯片是主板上一块长方型或正方型芯片,BIOS 中主要存放:
  • 自诊断程序:经过读取 CMOS RAM 中的内容识别硬件配置,并对其进行自检和初始化;
  • CMOS 设置程序:引导过程当中,用特殊热键启动,进行设置后,存入 CMOS RAM 中;
  • 系统自举装载程序:在自检成功后将磁盘相对0道0扇区上的引导程序装入内存,让其运行以装入 DOS 系统;
  • 主要 I/O 设备的驱动程序和中断服务;
从功能上看,BIOS 分为三个部分:
  • 自检及初始化程序;
  • 硬件中断处理;
  • 程序服务请求;
在自检及初始化程序又分红
  • 加电自检;
  • 初始化;
  • 引导程序;
最后一个部分是引导程序,功能是引导操做系统。BIOS 先从软盘或硬盘的开始扇区读取引导记录,若是没有找到,则会在显示器上显示没有引导设备,若是找到引导记录会把电脑的控制权转给引导记录,由引导记录把操做系统装入电脑,在电脑启动成功后, BIOS 的这部分任务就完成了。
MBR 是 Main Boot Record 的缩写,它是物理第1硬盘第0柱第0头第1扇区,其主要做用是引导机器读取更为复杂的引导程序。除了那些能够从非物理设备引导的机器,任何一个 PC 都没法从物理第一硬盘的{0,0,1}之外的任何一个扇区启动。
由于通常硬盘一个扇区只有512K,不能容纳系统的整个引导程序,因此操做系统厂商只将系统引导程序位置(主引导分区)放入 MBR 中,由主引导程序加载主引导分区的引导程序,进去第二阶段引导。
第二阶段引导是系统特定的引导程序,不能系统有不一样的引导程序。下面咱们区分 Linux 和Windows 来讲。
就 Linux 来讲,通常新版的 Linux 系统用的最多要数 GNU GRUB 了。GNU GRUB 是一个多重操做系统启动管理器。GNU GRUB 是由GRUB(GRand Unified Bootloader)派生而来。GRUB 最初由 Erich Stefan Boleyn 设计和应用。
  1. GRUB 的安装
通常 Linux 操做系统安装后会默认安装 GRUB,固然,你也能够本身安装,在操做系统的安装程序中均可以找到。
  1. GRUB 的配置文件 menu.lst
GRUB 有一个很是很是重要的配置文件,那就是 menu.list,它的默认位置/boot/grub/menu.list。
default=0
timeout=5
splashp_w_picpath=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux AS (2.6.9-42.ELsmp)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.9-42.ELsmp ro root=LABEL=/ rhgb quiet
        initrd /boot/initrd-2.6.9-42.ELsmp.img
title Red Hat Enterprise Linux AS-up (2.6.9-42.EL)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.9-42.EL ro root=LABEL=/ rhgb quiet
        initrd /boot/initrd-2.6.9-42.EL.img
title Windows
    rootnoverify (hd0,1)
    chainloader (hd0,1)+1
 
            
其中:default=0 表明默认启动第一个系统,在 menu.lst 文件中,按照 title 的前后区分,依次标号为0,1,2。在本例中,默认的引导系统为 Red Hat Enterprise Linux AS (2.6.9-42.ELsmp)。
timeout=5 表明在5秒以后启动默认的操做系统。用户能够在5秒内自由选择须要引导的系统。
Splashp_w_picpath 指出开机画面的文件所存放的路径和文件名。
Hiddenmenu 表示隐藏GRUB的启动菜单,直接进入由 default 庙宇的操做系统中去,为一可选项。
Title 表示在 GRUB 启动菜单里的名字。
对 linux 而言,
root(hda,0)是针对 linux 而言,表明 /boot 所在的磁盘位置。Hd 表明硬盘类型为 IDE 硬盘,(hd0,0) 表明该第一块硬盘的第一个分区。
kernel /boot/vmlinuz-2.6.9-42.ELsmp 是指 linux 内核文件的绝对路径。root=LABEL=/ 来表示Linux 的根所处的分区。LABEL=/ 这是硬盘分区格式化为相应文件系统后所加的标签。
initrd /boot/initrd-2.6.9-42.EL.img 表明在在 linux 内核启动前,boot loader 会将 /boot/initrd-2.6.9-42.EL.img 文件加载到内存,内核启动时会在访问真正的根文件系统前先访问该内存中的 initrd 文件系统。
对 windows 而言:
root (hd0,1) 这是指第一个硬盘上第二个分区
chainloader (hd0,1)+1 装入一个扇区的数据而后把引导权交给它。
对 windows 而言,其主要的配置文件是 C:\boot.ini 文件,这个文件是个系统隐藏文件,用户必须通过设置才能可见,主要步骤是:工具文件夹选项查看选择“显示全部文件和文件夹”而且不选择“隐藏受保护的操做系统文件(推荐)”。
下表就是 boot.ini 文件的基本内容:

清单 4. boot.ini 的内容
                
[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="IBM Client for e-business Windows XP v2.04" 
/noexecute=optin /fastdetect
C:\CMDCONS\BOOTSECT.DAT

其中:
1、系统加载部分([boot loader])
“timeout=”就是设定开机时系统引导菜单显示的时间,超过设定值则自动加载下面“default=”指定的操做系统。默认值是30,单位为秒。咱们能够在这里面设定等待时间的长短。若是将其设为“0”那么就是不显示系统引导菜单。
“default=”则是设定默认引导的操做系统。而等号后面的操做系统必须是已经在“[operating systems] ”中存在的。若是想默认为加载另外的操做系统,咱们能够参看“[operating systems] ”中的操做系统列表,而后把想要加载的操做系统按照格式写到“default=”后面就能够了。
2、操做系统部分([operating systems])
这部分里定义了全部能够引导的操做系统,好比 IBM Client for e-business Windows XP v2.04,“multi(0)disk(0)rdisk(0)partition(1)\WINDOWS”为,在0号非SCSI设备上的第0号磁盘上的第一个分区里面的“WINDOWS”目录下能够找到可以启动的操做系统。
/FASTDETECT:对于 Win2000 启动时,它使系统不检查串行口和并行口。
/noexecute=opti:表示启用 DEP(系统数据执行保护)
相关文章
相关标签/搜索