制作成功后的基本最簡(jiǎn)目錄文件圖 一,、系統(tǒng)的基本引導(dǎo)流程: 首先系統(tǒng)要引導(dǎo)isolinux.bin可執(zhí)行程序,此程序是移動(dòng)介質(zhì)上引導(dǎo)用的,,isolinux.bin運(yùn)行成功后會(huì)加載其配置文件syslinux.cfg,,該文件中定義了vmlinuz和initrd.img的調(diào)用方式。vmlinuz是vmlinux的壓縮版,,二者都是linux內(nèi)核,。isolinux.bin根據(jù)其配置方式中定義的initrd.img的參數(shù)傳給vmlinuz即Linux內(nèi)核并加載內(nèi)核,然后Linux內(nèi)核會(huì)根據(jù)獲得的initrd.img的調(diào)用參數(shù)調(diào)用initrd.img,。initrd.img的基本功能就是root路徑掛載器,,其存在的意義是省去了不同root路徑硬件下vmlinuz內(nèi)核的重編譯工作。initrd.img根據(jù)調(diào)用參數(shù)去參數(shù)路徑中找系統(tǒng)啟動(dòng)程序(這里使用的就是iso的安裝鏡像),,系統(tǒng)便啟動(dòng)起來了,。 二、引導(dǎo)盤的基本制作過程: 第一步:提取制作引導(dǎo)鏡像所需的文件,,這些文件在Linux安裝盤的isolinux目錄中,,這個(gè)目錄就是個(gè)微型Linux系統(tǒng)。 第二步:編輯isolinux.bin的執(zhí)行配置文件syslinux.cfg的原文件isolinux.cfg,。 default vesamenu.c32 timeout 600 這里定義的默認(rèn)者是vesamenu.c32c,,這個(gè)vesamenu.32c的作用就是啟動(dòng)菜單外觀繪制拓展工具。下面定義的timeout是指用戶選擇時(shí)間上限,。 label linux menu label ^Install CentOS 7 kernel vmlinuz append initrd=initrd.img inst.stage2=hd:LABEL=CENTOS quiet label check menu label Test this ^media & install CentOS 7 menu default kernel vmlinuz append initrd=initrd.img inst.stage2=hd:LABEL=CENTOS rd.live.check quiet menu separator # insert an empty line # utilities submenu menu begin ^Troubleshooting menu title Troubleshooting label vesa menu indent count 5 menu label Install CentOS 7 in ^basic graphics mode text help Try this option out if you're having trouble installing CentOS 7. endtext kernel vmlinuz append initrd=initrd.img inst.stage2=hd:LABEL=CENTOS xdriver=vesa nomodeset quiet label rescue menu indent count 5 menu label ^Rescue a CentOS system text help If the system will not boot, this lets you access files and edit config files to try to get it booting again. endtext kernel vmlinuz append initrd=initrd.img inst.stage2=hd:LABEL=CENTOS rescue quiet label memtest menu label Run a ^memory test text help If your system is having issues, a problem with your system's memory may be the cause. Use this utility to see if the memory is working correctly. endtext kernel memtest menu separator # insert an empty line label local menu label Boot from ^local drive localboot 0xffff menu separator # insert an empty line menu separator # insert an empty line label returntomain menu label Return to ^main menu menu exit menu end 這些是每項(xiàng)菜單的具體定義,,即定義了每個(gè)菜單對(duì)應(yīng)的調(diào)用vmlinuz和initrd.img的方式。 label linux menu label ^Install CentOS 7 kernel vmlinuz append initrd=initrd.img inst.stage2=hd:LABEL=CENTOS quiet label是標(biāo)簽,,類似于grub的title ,。kernel項(xiàng)代表要加載的內(nèi)核,append是后綴參數(shù),,相當(dāng)于為了好看換行的作用,。initrd=initrd.img是定義內(nèi)核的掛在器是initrd.img,后面參數(shù)inst.stage2=hd:LABEL=CENTOS quiet 就是加載的root路徑,,inst.stage2是指加載安裝程序文件的路徑,,hd:LABEL=CENTOS是指root的路徑在卷標(biāo)為CENTOS的儲(chǔ)存設(shè)備中,即U盤,,所以該引導(dǎo)鏡像的名字和U盤卷標(biāo)必須是CENTOS,。 此處如果不想用菜單方式顯示,直接加載安裝文件,,可以省去vesamenu.32c 把開頭的default vesamenu.32c改成default linux 即默認(rèn)加載label linux的定義,。 第三步:制作引導(dǎo)鏡像文件CENTOS.iso 修改鏡像文件名字與syslinux.cfg中的root路徑卷標(biāo)一致,。把isolinux.bin設(shè)置成引導(dǎo)文件,勾選生成啟動(dòng)信息表,,這個(gè)啟動(dòng)信息表就是最后目錄中的ldlinux.sys啟動(dòng)信息文件,。 第四步:保存該鏡像并通過啟動(dòng)-》寫入硬盤映像來寫到U盤中。這時(shí)候UItral So會(huì)自動(dòng)的把syslinux.cfg文件盒l(wèi)dlinux.sys文件生成在U盤上,,而其他的文件也會(huì)復(fù)制到U盤上,,這時(shí)候U盤里的isolinux.cfg可以刪除掉,最后把安裝系統(tǒng)的鏡像拷到根目錄下,。 注:U盤中沒介紹的文件都是一些背景或者其他安裝選項(xiàng)中調(diào)用的linux的檢測(cè)工具,。 ———————————————— |
|