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(系統數據執行保護)
相關文章
相關標籤/搜索