如何製作一個通用的多系統安裝U盤一(工具介紹)

    我在北京中關村的一家以服務器,存儲爲主要產品的公司供職售前職位。公司的售後部門經常要給客戶安裝系統和存儲。安裝系統傳統的方式就是通過光驅,而光驅和光盤因爲種種原因經常出現各種問題而無法安裝系統。比如光盤劃傷,光驅的讀盤糾錯能力差等。

    爲了解決這個問題,我開始嘗試用U盤來安裝各種系統(Linux,Windows,Vmware),最重要的是能把各種操作系統的安裝集成在一個U盤中。首先要解決的問題是如何引導U盤,經過選型,最終確定了兩種引導加載程序。Syslinux和Grub4dos。另外,還有兩個虛擬磁盤驅動程序,WinVBlock和FiraDISK,用於在安裝Windows時加載虛擬磁盤。下面介紹一下這幾種程序。

    SYSLINUX是一個輕量級的 IBM PC 兼容機啓動程序套裝,其主要開發者爲H. Peter Anvin,遵循GNU General Public License協議。

    SYSLINUX包含幾個獨立的系統:

SYSLINUX  從FAT和NTFS文件系統開機(如軟盤和USB塊設備)
ISOLINUX  從CD-ROM ISO 9660 文件系統開機
PXELINUX  從設置了預啓動執行環境(preboot execute environment)的網絡服務器開機
EXTLINUX  從Linux的ext2/ext3/ext4或Btrfs文件系統開機
MEMDISK   內存映射盤,用來啓動一些比較舊的操作系統(如DOS),通常與PXELINUX和ISOLINUX配合使用


    SYSLINUX包含於各中Linux發行版中。從SYSLINUX4開始,EXTLINUXSYSLINUX已經整合在一起了,而且從4.06版之後開始支持NTFS文件系統。從6.00版本之後開始支持EFI啓動。我們可以從 http://www.syslinux.org/ 查看Syslinux這個項目的最新動態,從 https://www.kernel.org/pub/linux/utils/boot/syslinux/ 下載最新的SYSLINUX版本。


SYSLINUX的啓動過程:

1. BIOS開機主動執行,識別第一個可開機的設備
2. BIOS調用INT 13(disk driver)中斷,在實模式下調取MBR硬盤第一個扇區的446字節開機管理程序(bootloader)
3.MBR查找活動的分區,找到後啓動分區引導程序。如果是ext或fat系列文件系統,ldlinux.sys開始的扇區是被寫死到卷啓動記錄程序裏的,卷啓動程序將執行(ldlinux.sys)。如果是btrfs,ldlinux.sys將被存儲在卷啓動記錄之後的扇區上。
4.SYSLINUX完全加載後,它會查找提供選單的syslinux.cfg或isolinux.cfg或者extlinux.conf。
5.加載配置文件供用戶選擇。
6.載入用戶選擇的內核文件或轉交其它loader處理。
7.開始操作系統的功能。

 

    Grub4DOS 是一個將Linux下的GNU GRUB啓動程序移植到doswindows下的一個分支,該項目是由tinybit(不點)於2003年發起的,目前活躍的開發者主要有tinybitbeanchenallroykaryonix等。現在已經發展爲面向廣闊應用領域的啓動引導程序。它的兼容性做的比較好。最新版本是0.4.6a。穩定版本爲0.4.4。它兼容所有的GURB 0.97命令,功能比較全。

下載地址:https://code.google.com/p/grub4dos-chenall/downloads/

 

    WinVBlock 是一個開源的Windows虛擬磁盤支持驅動,它支持內存磁盤,支持從MEMDISKGRUB4DOS啓動。也就是說它能夠檢測到MEMDISKGRUB4DOS映射出來的塊設備(光盤,硬盤和軟盤)並供Windows讀寫。主要用於Windows XPWindows2003 系統。它的作者是Sha0 Miller,於2009610日創建。

官方地址:http://reboot.pro/topic/8168-winvblock/

 

    FiraDISKWinVBlock類似,同樣是爲了讓Windows能夠識別到GRUB4DOS映射出來的磁盤,模擬SCSI 卡。但是支持的Windows系統更爲廣泛,經過我的測試可以從Windows XP支持到現在的Windows 2012。現在最新的版本爲v0.0.1.30。它的作者是karyonix,創建與2009822日。

官方地址在:http://reboot.pro/topic/8804-firadisk-latest-00130/

 

參考資料

The Syslinux Project   http://www.syslinux.org/wiki/index.php/The_Syslinux_Project

維基百科的SYSLINUX介紹 http://zh.wikipedia.org/zh/SYSLINUX

維基百科的Grub4Dos介紹 http://zh.wikipedia.org/zh-cn/Grub4Dos


注:

GNU是GNU is NotUnix 的簡寫

1. 經過GPL授權的軟件就可以稱爲自由軟件,任何人都可以擁有它。

2. 開發 GPL 的團體(或商業企業)可以經由該軟件的服務來取得服務的費用。

3. 經過 GPL 授權的軟件,其屬於Opensource 的情況,所以應公佈其原始碼。

4. 任何人皆可修改由 GPL 授權過的軟件,使其符合自己的需求。

5. 經過修改過後 Opensource 應該回饋給 Linux 社羣。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章