
今天在朋友的啟發(fā)下,研究了一下復(fù)雜又簡(jiǎn)單的U盤(pán)引導(dǎo),9:30-16:20長(zhǎng)達(dá)7個(gè)小時(shí)的研究測(cè)試,以及不計(jì)其數(shù)的電腦重啟,總算成功的出了結(jié)論,于是還是寫(xiě)篇記錄一下成果吧。
一、目標(biāo):實(shí)現(xiàn)U盤(pán)集成2張系統(tǒng)安裝盤(pán)。
二、思路:
A.Win7文件引導(dǎo)XP系統(tǒng)文件。
B.Win7文件引導(dǎo)XP系統(tǒng)ISO。
C.雙ISO獨(dú)立引導(dǎo)。
三、過(guò)程:
A、由于曾經(jīng)做過(guò)win8的安裝U盤(pán)(Windows 7 USB DVDDownloadTool制作),所以聽(tīng)到這個(gè)問(wèn)題一下就想到了用Win7去集成XP系統(tǒng),操作其實(shí)也是很簡(jiǎn)單的,首先,win7引導(dǎo)器是bootmgr,其核心文件是BCD,安裝文件為winload.exe;而XP引導(dǎo)器是ntldr,核心文件是boot.ini,安裝文件為setupldr.bin。所以首先想到的就是用win7的bootmgr去引導(dǎo)XP的setupldr去安裝,其操作就是將xp解壓到win7安裝盤(pán)的根目錄,由于結(jié)構(gòu)不同,不會(huì)造成文件覆蓋,編輯BCD,添加一條啟動(dòng)項(xiàng),再將安裝源路徑指向i386setupldr.bin(如圖),這樣開(kāi)機(jī)就會(huì)出現(xiàn)安裝XP這個(gè)選項(xiàng),之后就是安裝向?qū)Я恕?/p>
圖1
經(jīng)過(guò)多次長(zhǎng)時(shí)間的測(cè)試發(fā)現(xiàn),上述方法存在很大問(wèn)題,由于現(xiàn)在流通的XP鏡像往往是經(jīng)過(guò)編輯改造過(guò)的,如番茄花園等,這種盤(pán)用的都是ezboot(EasyBoot制作)做的引導(dǎo),修改了setupldr,導(dǎo)致上述方法失效,而上述方法只適合XP原版安裝盤(pán),于是便繼續(xù)尋求方法。
B、(1)既然setupldr以被改,不能拿出來(lái)單用,所以就想到了整體的使用,即使用ISO,ISO相當(dāng)是個(gè)虛擬光盤(pán),所以脫離系統(tǒng)使用ISO必須借助第三方軟件,最簡(jiǎn)單的就是NT6HDDINSTALL,從名字就能看出這個(gè)軟件干什么的,其工作原理就是給硬盤(pán)加了個(gè)引導(dǎo),使用方法:首先要借助系統(tǒng)安裝這個(gè)軟件,如果沒(méi)有系統(tǒng)就要先做個(gè)PE,在PE里去裝,安裝之后,將ISO解壓到任一磁盤(pán)分區(qū)根目錄(最好和打算安裝的分區(qū)分開(kāi),避免混亂),然后重啟,選擇NT6啟動(dòng),就自動(dòng)進(jìn)入安裝界面了。
此方法適合任意系統(tǒng),缺點(diǎn)就是每次安裝操作都很復(fù)雜,安裝后還要卸載引導(dǎo)刪除臨時(shí)文件,不是很完美,于是繼續(xù)尋找方法。
(2)由于win7的bootmgr沒(méi)有引導(dǎo)ISO的功能,而有引導(dǎo)wim的功能,于是我打算將ISO轉(zhuǎn)換成wim,方法就是先解壓ISO,再用imageX命令去打包成WIM。
由于全靠理論,測(cè)試幾次都失敗,所以放棄研究,繼續(xù)尋找。
(3)既然bootmgr不能引導(dǎo),有能引導(dǎo)ISO的引導(dǎo)器嗎?答案是肯定的,grub4dos是我所見(jiàn)到的唯一一個(gè)可以引導(dǎo)ISO的引導(dǎo)器,由于grub4dos是引導(dǎo)器,所以裝起來(lái)相對(duì)比較復(fù)雜,我打算實(shí)現(xiàn)的是bootmgr引導(dǎo)grub,首先要給U盤(pán)裝上安裝引導(dǎo)功能,由于我的U盤(pán)已經(jīng)有了引導(dǎo)功能,就跳過(guò)了這一步,直接將grldr、grldr.mbr、menu.lst放入U(xiǎn)盤(pán)根目錄,用txt打開(kāi)menu.lst進(jìn)行編寫(xiě)菜單。之后用BCDtool編輯win7的bcd,添加grub引導(dǎo),將路徑指向/grldr.mbr(如圖),這樣,重啟后開(kāi)機(jī)菜單就會(huì)出現(xiàn)grub項(xiàng),進(jìn)入之后看到的就是引導(dǎo)ISO的項(xiàng),在這個(gè)過(guò)程中,grub起到的是橋的作用,連接了bootmgr和ISO。
此方法制作復(fù)雜,但是做完之后可以很穩(wěn)定的使用,一勞永逸。
不過(guò)既然grub能引導(dǎo)ISO,何不讓U盤(pán)更干凈整潔,與其放那么多win7文件,遠(yuǎn)不如放2個(gè)ISO,于是下面是我打算推薦的方法,也是今天的正題。
C、grub雙引導(dǎo)ISO,也是最終的研究成果,我拿來(lái)了一個(gè)新的U盤(pán)來(lái)進(jìn)行這次制作,步驟如下:
1、使用Usboot對(duì)U盤(pán)加引導(dǎo),HDD或FDD隨意,我覺(jué)得HDD最好,于是就選了HDD,自動(dòng)格式化,拔出再插入,制作引導(dǎo)盤(pán)完成。(20120823修改,如果U盤(pán)大于2G,Usboot容易出現(xiàn)問(wèn)題,取而代之,使用DiskGenius對(duì)U盤(pán)轉(zhuǎn)HDD更佳),之后使用grubinst安裝grub引導(dǎo)器,操作如圖,執(zhí)行后完成安裝。(此步驟中操作一定要細(xì)致,操作的分區(qū)一定要選對(duì),如果選成電腦硬盤(pán),后果會(huì)很悲?。?/b>
2、將grldr、grldr.mbr、menu.lst放入U(xiǎn)盤(pán)根目錄,這里用的是grub4dos-0.4.4版本,早前的版本不能引導(dǎo)ISO,編輯menu.lst,內(nèi)容如圖。然后放入需要引導(dǎo)的ISO,其中ISO文件名注意大小寫(xiě),不僅可以實(shí)現(xiàn)2個(gè)ISO,項(xiàng)目可以添加,ISO可能出現(xiàn)無(wú)法引導(dǎo)現(xiàn)象,原因是ISO類(lèi)型問(wèn)題,貌似需要轉(zhuǎn)換,還沒(méi)遇到這種情況。
開(kāi)機(jī)選單效果↓
menu.lst 文字內(nèi)容 ↓
#很多種參數(shù)可改,可以根據(jù)喜好去個(gè)性化。
color black/cyan yellow/cyan
timeout 30
default /default
title 1 Start Windows 7 Setup
map --mem/winvblk.ima.gz (fd0)
map --mem/winvblk.ima.gz (fd1)
map /win7.iso(0xff)
checkrange 0x80 read 0x8280&& map (hd0) (hd1)
checkrange 0x80 read 0x8280&& map (hd1) (hd0)
map --hook
chainloader (0xff)
title 2 Start Windows XP Setup
map --mem/winvblk.ima.gz (fd0)
map --mem/winvblk.ima.gz (fd1)
map /winxp.iso(0xff)
checkrange 0x80 read 0x8280&& map (hd0) (hd1)
checkrange 0x80 read 0x8280&& map (hd1) (hd0)
map --hook
chainloader (0xff)
PS:-mem參數(shù)指ISO載入內(nèi)存,如果ISO巨大,內(nèi)存很小,不要加這個(gè)參數(shù),以免藍(lán)屏。
根目錄截圖 ↓
SYS文件為usboot自建,可能不需要,bootlace.com是向?qū)Ыㄗh的,作用不明。
至此,這個(gè)多引導(dǎo)ISO的安裝U盤(pán)就做完了,應(yīng)該是最簡(jiǎn)單最完美的結(jié)果了,不過(guò)測(cè)試中我發(fā)現(xiàn),grub一閃而過(guò)許多錯(cuò)誤,雖然沒(méi)有影響到安裝,不過(guò)或許有兼容性問(wèn)題吧,所以我覺(jué)得還是B方法最穩(wěn)定。
部分相關(guān)文件http://115.com/file/aqag9ocu#
部分相關(guān)軟件http://115.com/file/bh07xr8g#
愛(ài)華網(wǎng)本文地址 » http://www.klfzs.com/a/25101014/192876.html
愛(ài)華網(wǎng)



