萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> linux系統的安裝和啟動過程

linux系統的安裝和啟動過程

  linux系統的安裝和啟動過程

  1. Linux安裝流程

  1.1 安裝過程總覽

  1. BIOS加電自檢

  2. 運行isolinux目錄下面的isolinux.bin文件,這個isolinux.bin文件根據isolinux.cfg文件的選項來加載內核vmlinuz和 initrd.img文件,initrd.img文件會在內存中生成一個虛擬的linux操作系統,為安裝過程提供一個安裝環境。

  3. initrd.img文件中的/sbin/loader文件會探測安裝介質,如果探測到是cd安裝,就會運行images目錄中的 stage2.img(安裝過程需要的所有鏡像)鏡像文件,這個文件中最重要的就是anaconda程序,我們看到的安裝過程中的向導圖就是這個 anaconda程序的作用。

  4. 安裝完成,重啟系統。

  文件的調用順序為isolinux/vmlinuz--->isolinux/initrd.img--->/init--->/sbin/loader--->imagaes/install.img---

  >/usr/bin/anaconda

  光盤結構介紹

  * isolinux 目錄存放光盤啟動時的安裝界面信息

  * images 目錄包括了必要的啟動映像文件,最重要的是引導第二階段安裝需要用到的鏡像文件install.img(rhel 5中是stage2.img),anaconda程序就在這個鏡像文件中。

  * CentOS 目錄存放安裝軟件包及信息

  * .discinfo 文件是安裝價質的識別信息 這個文件很重要

  * lemp.tar.gz 文件存放系統初始化及其相關程序安裝腳本。

  * EFI目錄:用於64位的基於EFI的系統引導。其中BOOT目錄下BOOTX64.conf為grub的配置文件,用於顯示引導菜單。

  *TRANS.TBL文件:記錄當前目錄的列表,用mkisofs的-T參數重新生成,主要是為了長文件名稱。

  /isolinux/iso.cfg

  在iso文件中的isolinux目錄下面,isolinux.cfg這裡面就是我們在安裝的時候出現的第一個界面上面的信息,還指明了改加載的內核鏡像和initrd鏡像:

  Install or upgrade an existing system

  Install system with basic video driver

  Rescue installed system

  Boot from local drive

  Memory test

  /isolinux/boot.msg

  這個文件信息只顯示了一句

  Press the <Enter> key to begin installation process.

  /isolinux/splash.jpg

  這張圖片是我們安裝界面的背景圖片

  1.2 vmlinuz

  vmlinuz是可引導的、壓縮的內核。"vm"代表"Virtual Memory".Linux 支持虛擬內存,不像老的操作系統比如DOS有640KB內存的限制。Linux能夠使用硬盤空間作為虛擬內存,因此得名"vm",vmlinuz是可執行的Linux內核。vmlinuz是可引導的、壓縮的內核。"vm"代表"Virtual Memory".Linux 支持虛擬內存,不像老的操作系統比如DOS有640KB內存的限制。Linux能夠使用硬盤空間作為虛擬內存,因此得名"vm".vmlinuz是可執行的Linux內核,vmlinuz是可執行的Linux內核,它位於/boot/vmlinuz,vmlinuz的建立有兩種方式。一是編譯內核時通過"make zImage"創建,然後通過:

  "cp /usr/src/linux-2.4/arch/i386/linux/boot/zImage /boot/vmlinuz"產生。

  vmlinux不是壓縮的內核,vmlinuz是壓縮的內核。

  一般來講大家很容易理解的是這樣的:系統內核 vmlinuz被加載到內存後開始提供底層支持,在內核的支持下各種模塊,服務等被加載運行。這樣當然是大家最容易接受的方式,曾經的linux就是這樣的運行的。假設你的硬盤是scsi 接口而你的內核又不支持這種接口時,你的內核就沒有辦法訪問硬盤,當然也沒法加載硬盤上的文件系統,怎麼辦?好辦!把內核加入scsi驅動源碼然後重新編譯出一個新的內核文件替換原來vmlinuz.需要改變標准內核默認提供支持的例子還有很多,如果每次都需要編譯內核就太麻煩了。所以後來的linux就提供了一個靈活的方法來解決這些問題---initrd.img

copyright © 萬盛學電腦網 all rights reserved