安裝程式的任務是:“安裝”作業系統到一臺計算機上,準確的說,“安裝”包括“複製檔案”和“配置硬體”兩個部分。安裝程式本身其實就是一個小的作業系統,他本身能提供作業系統的最基本功能:使用者介面、硬體管理、檔案操作等。所以作業系統有的功能,安裝程式也基本上都有,是一個精簡版的作業系統。正常的Windows(XP/7)、Linux的啟動過程是:
1、系統加電,載入MBR或者UEFI;
2、MBR/UEFI找到可以啟動的分割槽,載入bootloader或者啟動程式或者grub,交換控制權;
3、啟動程式(比如grub或者Windows的啟動程式)顯示啟動介面(如果有需要選擇啟動項等),等待使用者配置特殊的啟動項或者自動載入;
4、啟動程式載入核心,Windows的啟動程式還負責載入已經配置好的一部分驅動,交換控制權給作業系統核心;
5、核心(或者其它匯流排驅動)處理硬體配置,載入並配置剩餘驅動程式碼,啟動使用者介面(Shell或者其它)。安裝程式與正常作業系統的區別包括:1、正常作業系統的硬體配置都已經很完善了,但安裝程式在執行前沒有任何配置資訊,需要自己處理硬體配置和基本的驅動。2、安裝程式要求相容性特別好,在不清楚硬體配置的情況下,要儘可能的在各種不同的硬體環境裡執行。3、安裝程式需要自己整合一個boot loader來啟動。所以安裝程式的工作步驟是:1、BIOS或者UEFI切換控制權給安裝程式的引導扇區。2、安裝程式引導扇區載入bootloader或者grub並載入一個基本核心。3、基本核心載入最常規的基本驅動:滑鼠、鍵盤、顯示卡、磁碟驅動等。這一步其實是有最多不同點的一部:為什麼大多數Linux安裝程式都要求使用者選擇鍵盤佈局?因為此時安裝程式可能也不知道鍵盤佈局是什麼;為什麼XP不支援AHCI硬碟?因為安裝程式裡沒有整合AHCI驅動;……所以安裝程式的驅動就直接決定了作業系統是否能正常的安裝到這個PC上。4、等待使用者配置安裝引數。5、開始按照使用者配置複製檔案。
6、開始檢測硬體配置並配置各種驅動引數。
7、將能引導作業系統的載入程式(如bootloader/grub等)寫入硬碟,並建立或重寫引導扇區。
8、重啟系統。重啟以後,硬體就能根據引導扇區一步一步的載入已經配置好的作業系統了。
安裝程式的任務是:“安裝”作業系統到一臺計算機上,準確的說,“安裝”包括“複製檔案”和“配置硬體”兩個部分。安裝程式本身其實就是一個小的作業系統,他本身能提供作業系統的最基本功能:使用者介面、硬體管理、檔案操作等。所以作業系統有的功能,安裝程式也基本上都有,是一個精簡版的作業系統。正常的Windows(XP/7)、Linux的啟動過程是:
1、系統加電,載入MBR或者UEFI;
2、MBR/UEFI找到可以啟動的分割槽,載入bootloader或者啟動程式或者grub,交換控制權;
3、啟動程式(比如grub或者Windows的啟動程式)顯示啟動介面(如果有需要選擇啟動項等),等待使用者配置特殊的啟動項或者自動載入;
4、啟動程式載入核心,Windows的啟動程式還負責載入已經配置好的一部分驅動,交換控制權給作業系統核心;
5、核心(或者其它匯流排驅動)處理硬體配置,載入並配置剩餘驅動程式碼,啟動使用者介面(Shell或者其它)。安裝程式與正常作業系統的區別包括:1、正常作業系統的硬體配置都已經很完善了,但安裝程式在執行前沒有任何配置資訊,需要自己處理硬體配置和基本的驅動。2、安裝程式要求相容性特別好,在不清楚硬體配置的情況下,要儘可能的在各種不同的硬體環境裡執行。3、安裝程式需要自己整合一個boot loader來啟動。所以安裝程式的工作步驟是:1、BIOS或者UEFI切換控制權給安裝程式的引導扇區。2、安裝程式引導扇區載入bootloader或者grub並載入一個基本核心。3、基本核心載入最常規的基本驅動:滑鼠、鍵盤、顯示卡、磁碟驅動等。這一步其實是有最多不同點的一部:為什麼大多數Linux安裝程式都要求使用者選擇鍵盤佈局?因為此時安裝程式可能也不知道鍵盤佈局是什麼;為什麼XP不支援AHCI硬碟?因為安裝程式裡沒有整合AHCI驅動;……所以安裝程式的驅動就直接決定了作業系統是否能正常的安裝到這個PC上。4、等待使用者配置安裝引數。5、開始按照使用者配置複製檔案。
6、開始檢測硬體配置並配置各種驅動引數。
7、將能引導作業系統的載入程式(如bootloader/grub等)寫入硬碟,並建立或重寫引導扇區。
8、重啟系統。重啟以後,硬體就能根據引導扇區一步一步的載入已經配置好的作業系統了。