制作启动U盘与定制多系统启动
制作啟動U盤與定制多系統啟動
說明:本文將講述有關bootmgr引導啟動與grub引導啟動制作的相關經驗,文中提到的知識談不上完全正確,只是一些個人在制作U盤啟動獲得的心得,但我會盡力正確的解釋清楚。
制作啟動U盤
所需工具:
(1).U盤引導準備:更新主引導記錄
說明:一般U盤的格式為FAT32,要求單文件大小不超過4G。如果刻錄的系統盤中(如合盤后的鏡像)有超過4G的單文件,則需要使用NTFS格式或者ExFAT。下面以NTFS格式為例說明。
操作步驟:
如此,U盤的主導記錄更新完畢,準備工作完成。
(2).啟動項部署:更新分區引導記錄
1.grub引導
說明:GRUB是多啟動規范的實現,它允許用戶可以在計算機內同時擁有多個操作系統,并在計算機啟動時選擇希望運行的操作系統。GRUB可用于選擇操作系統分區上的不同內核,也可用于向這些內核傳遞啟動參數。GRUB采用滾動屏幕選擇想要啟動的操作系統。通過向"menu.lst"文件中添加相關信息,GRUB可以控制150或者更多的啟動選項,在啟動時用方向鍵進行選擇。[From:Wiki]
1.1 更新分區引導記錄
方法一:grubinst方案
????說明:采用此方案,可以忽略第(1)步更新主引導記錄的操作。
1.管理員身份運行"grubinst_gui.exe","設備"大欄中勾選"磁盤",下拉選擇相應待啟動的U盤(根據大小和盤符判斷);
2.點擊"分區列表"后面的"刷新"按鈕,然后在該欄下拉選擇"整個磁盤MBR",如果沒出現這一欄,則需要根據步驟(1)格式化U盤;
3."選項"大欄中勾選"不保存原來MBR"、"啟動時不搜索軟盤"、"不引導原來MBR",點擊"安裝",彈出界面,提示"The MBR/BS has been successfully installed...",按任意鍵退出。
方法二:BOOTICE方案
說明:采用此方案需要通過第(1)步更新主引導記錄的操作。
1.啟動BOOTICE,選中選項頁"物理磁盤處理",在"目標磁盤"選中待啟動的U盤(根據大小和盤符判斷);
2.點擊"分區引導記錄(P)",彈出的對話框中,選擇"GRUB4DOS 0.4.5c/0.4.6a(FAT/FAT32/NTFS/ExFAT)",點擊"安裝/配置(s)",彈出的對話框中,使用默認設置,點擊"確定",提示"成功更新分區的PBR!",點擊"確定",再點擊"取消"回到軟件開始界面;
3.點擊"分區管理(G)",彈出的對話框中,選擇引導文件"GRLDR"所在的分區,點擊"激活",完成啟動項設置,退出。如果"激活"按鈕為灰色,說明該分區已經為活動分區,無需更改,退出即可。
?
1.2 設計引導菜單
1. 打開文件夾grub4dos,將其中的grldr和menu.lst文件復制到U盤根目錄,建議把grub.exe也復制進去。注意,如果menu.lst有中文,則應該復制grub4dos\chinese文件夾下的文件,同時需要復制額外提供的字庫文件FONTS.GZ。
2.設計grub引導菜單,通過修改menu.lst實現。我的menu.lst如下,請根據其復制相應文件到指定目錄,或者自定義路徑并在munu.lst中做相應修改。
?
color black/cyan yellow/cyan
?
#超時時間
timeout 30
?
#默認選項
default 0
?
fontfile /grub/fonts.gz
?
#背景底圖
splashimage=/grub/jair.xpm.gz
?
#bootmgr啟動
title [1] 安裝Winows系統
find --set-root /bootmgr
chainloader /bootmgr
boot
?
#直接加載iso啟動
title [2] 啟動WinXPPE
fallback 6
find --set-root /tools/LMTWINPE.iso
map /tools/LMTWINPE.iso (0xff) || map --mem /tools/LMTWINPE.iso (0xff)
map --hook
chainloader (0xff)
savedefault --wait=2
?
#直接加載iso啟動
title [3] 啟動Win7PE系統
fallback 6
find --set-root /tools/WIN7PE.iso
map /tools/WIN7PE.iso (0xff) || map --mem /tools/WIN7PE.iso (0xff)
map --hook
chainloader (0xff)
savedefault --wait=2
?
#直接加載iso啟動
title [4] 啟動Win8PE系統
fallback 6
find --set-root /tools/Ton8PE.iso
map /tools/Ton8PE.iso (0xff) || map --mem /tools/Ton8PE.iso (0xff)
map --hook
chainloader (0xff)
savedefault --wait=2
?
#直接加載img啟動
title [5] 啟動MAXDOS9.3工具
map --mem /tools/MAXDOS9.3.IMG (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
?
#直接加載img啟動
title [6] 磁盤分區管理 DiskGenius
clear
#password
map --mem /tools/DG450DOS.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
?
#直接加載img啟動
title [7] 啟動江民殺毒 KV2006
clear
#password
map --mem /tools/kv2006.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
?
#直接加載img啟動
title [8] 啟動一鍵GHOST
clear
#password
map --mem /tools/GHOST.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
?
#直接加載img啟動
title [9] 用戶密碼清除工具
find --set-root --ignore-floppies /tools/password.img
map --mem /tools/password.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
?
#直接加載img啟動
title [10] BIOS密碼清除工具
find --set-root --ignore-floppies /tools/cmos.img
map --mem /tools/cmos.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
?
#直接加載ima啟動
title [11] 啟動DOS98工具
map --mem /tools/win98j.ima (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
????????
title [12] 重啟計算機
reboot
?
title [13] 關閉計算機
halt
至此,grub引導啟動U盤制作完畢。
1.3 常見問題
1.直接引導ISO失敗的問題
如果iso文件不能成功引導,問題可能出在這個iso文件的文件系統格式不為grub4dos支持上,用UltraISO把它轉為標準的iso文件即可。
2.直接引導WinPE的ISO時無法加載外置程序的問題
分析:因為PE的軟件分為有全內置和外掛,而大多數的PE軟件都是外掛的,外掛式PE在啟動時只載入PE內核,進入系統后才從光盤中掛載外置程序,而grub引導iso啟動后,不可能再給此iso分配盤符(因為grub只負責引導系統系統啟動,系統啟動之后的不再處理),如此也就無法加載外置程序。至于解決方案,網上有很多,下面羅列其中的四種,但不見得每一種都能有效解決問題。
pecmd load X:\*** \xxx.ini
參數說明:第一個X為虛擬光驅盤符,*** 為外置程序所在目錄,xxx.ini為系統內核加載后,完成外置程序加載的配置文件。拿我用的老毛桃911版WinPE來說,進入PE后沒有任何軟件,加載iso到虛擬光驅,然后在cmd下執行pecmd load X:\MINIPE\WinPE.INI,所有軟件就會加載成功了。至于虛擬光驅,可以用微軟的VCdControlTool,也可以用VHD等。
find --set-root /FIRADISK.IMG
map --mem /FIRADISK.IMG (fd0)
find --set-root /MYISO.ISO
map /MYISO.ISO (0xff) || map --mem /MYISO.ISO (0xff)
map –hook
chainloader (0xff)
3.在WinPE下安裝XP無法找到硬盤分區的問題
分析:機器的硬盤為SATA硬盤且主板開啟了AHCI模式。
解決:
一、換一個集成了SATA驅動的PE。(這方法不太好,誰知道哪個PE集成了?難不成一個個試啊?)
二、在BIOS中更改硬盤模式為兼容模式Compatible即可。總之就是在bios中找到SATA關鍵字,然后把其中的值AHCI變成其它的即可。比如我的ThinkPad電腦,進入BIOS后,選擇Config,然后選擇進入Serial ATA(SATA),可以看到SATA Controller Mode Option 的值為AHCI,更改為Compatible保存退出即可。
2.ntldr引導
說明:NTLDR文件是Windows NT/windows 2000/windows XP/windows server 2003的引導文件,當此文件丟失時啟動系統會提示"NTLDR is missing..."并要求按任意鍵重新啟動,不能正確進入系統。[From:百度百科]
利用BOOTICE部署U盤,意義不大,因為一般不會只在U盤引導XP系統,而是多啟動項,后面會介紹。有關進一步ntldr引導知識請自行百度,本文不再贅述。
3.bootmgr引導
說明:bootmgr是在Windows Vista和Windows 7和win8(8.1)中使用的新的啟動管理器,以代替Windows xp中的啟動管理器—NTLDR。電腦加電后,首先是啟動BIOS程序,BIOS自檢完畢后,找到硬盤上的主引導記錄MBR,MBR讀取DPT(分區表),從中找出活動的主分區,然后讀取活動主分區的PBR(分區引導記錄,也叫pbr),PBR再搜尋分區內的啟動管理器文件bootmgr,在bootmgr被找到后,控制權就交給了bootmgr。bootmgr讀取\boot\bcd文件(BCD=Boot Configuration Data ,也就是"啟動配置數據",簡單地說,windows7下的bcd文件就相當于xp下的boot.ini文件),如果存在著多個操作系統并且選擇操作系 統的等待時間不為0的話,這時就會在顯示器上顯示操作系統的選擇界面。[From:百度百科]
啟動項配置文件BCD文件放在磁盤分區的活動分區下,一般該分區作為保留分區(可理解為未分配驅動號的分區,一般比較小),不在此上安裝操作系統。通過右鍵點擊計算機,依次選擇"管理"-"磁盤管理",找到計算機磁盤,分別點擊各分區可查看哪一個為活動的分區。
????注意:
????如果活動的分區不為保留的分區,如安裝了操作系統地分區,建議將保留分區設置為活動的分區,因為這樣,下次重裝系統時才不會覆蓋之前的啟動項配置。重新設置活動的分區后,應該運行NTBOOTautofix自動修復啟動項,如此在新的活動分區上生成BCD文件。BCD文件位置:C:\Boot\BCD,注意此處的C盤泛指保留分區,一般在WinPE系統下,保留分區被分配為C盤。
更新分區引導PBR步驟:
1.啟動BOOTICE,選中選項頁"物理磁盤處理",在"目標磁盤"選中待啟動的U盤(根據大小和盤符判斷);
2.點擊"分區引導記錄(P)",彈出的對話框中,選擇"BOOTMGR引導程序(FAT/FAT32/NTFS/ExFAT)",點擊"安裝/配置(s)",彈出的對話框中,使用默認設置,點擊"確定",提示"成功更新分區的PBR!",點擊"確定",再點擊"取消"回到軟件開始界面;
3.點擊"分區管理(G)",彈出的對話框中,選擇引導文件"GRLDR"所在的分區,點擊"激活",完成啟動項設置,退出。如果"激活"按鈕為灰色,說明該分區已經為活動分區,無需更改,退出即可。
通過上述部署后,可將Windows 7系統版本以上的鏡像文件解壓到U盤,可實現U盤啟動安裝系統。
多系統啟動
說明:有關于多系統,無非就是Windows多個版本的系統,以及Linux等多系統共存的問題。在裝雙系統時,經常會出現系統啟動項丟失的問題,尤其是Window與Linux雙系統時問題更加突出,這時就需要通過Bootice來修復啟動項。要設計多系統啟動項,可以使用Grub引導,與之前部署U盤啟動方法一致,唯一的區別就是啟動文件放在本地硬盤中,只需要注意將其放在活動分區即可。下面著重介紹bootmgr讀取bcd文件啟動方案,bcd文件位于活動分區的boot文件夾下,該分區可能為隱藏分區,可以進入Windows磁盤管理其中查看哪個分區為活動的分區。如果當前系統為本機硬盤中的系統,可以直接打開BOOTICE編輯BCD文件。如果進入的是U盤的WinPE系統,想編輯該BCD文件,需要先為該分區分配盤符,否則找不到該BCD文件。正式進入正題:
部署步驟:
1.打開BOOTICE,選中選項頁"BCD編輯",如果進入的是本機硬盤系統,則選擇"當前系統BCD",否則找到相應BCD文件編輯。然后點擊"智能編輯";
2、選擇"其它BCD文件",點擊"..."瀏覽,在路徑"C:\Boot\BCD"下找到BCD文件。如果該路徑存在BCD文件,則進入步驟3。否則,選擇"新建BCD",彈出的對話框中文件名填寫"BCD",并保存在"C:\Boot"下(活動分區的Boot文件夾下),然后進入步驟3;
3、點擊"智能編輯",然后自定義編輯啟動項;
4、點擊左側面板的"添加",根據系統類型選擇新建類型,這里以新建win8.1啟動項為例,選擇"新建Windows 7/8/8.1啟動項"。其它的根據需求做相應選擇。注意留意"設備類型"的變化,一般會根據選擇的系統自動更改。
5、在右側面板,"啟動磁盤"項選擇計算機本身的硬盤,可根據大小判斷為哪一個;必須更改!
6、如果計算機的磁盤有很多個分區,則"啟動分區"項需要選擇操作系統所在的分區;必須更改!
7、"菜單標題"可改為指定的標題,如"Windows 8.1 Pro x64",其它選擇保持默認的不變。選擇性更改!
8、點擊右側面板下方的"保存當前系統設置",注意沒添加或修改一個系統需要保存一下!
9、點擊左側面包下方的"保存全局設置",然后點擊"關閉"退出編輯,點擊"退出",退出軟件。
?
另外:由于Windows系統鏡像中也有BCD文件,同樣也位于boot文件夾下,因此該BCD文件也可做自定義的修改,具體方法不再贅述。
?
[完畢]
?
作者: Jairkong(Jairkong's Blog on 博客園)?出處:http://www.cnblogs.com/jairkong/
本作品由Jairkong創作,采用知識共享署名-非商業性使用-禁止演繹 2.5 中國大陸許可協議進行許可。 歡迎轉載,但任何轉載必須保留完整文章,在顯要地方顯示署名以及原文鏈接。如您有任何疑問或者授權方面的協商,請?給我留言。
轉載于:https://www.cnblogs.com/jairkong/p/3738276.html
總結
以上是生活随笔為你收集整理的制作启动U盘与定制多系统启动的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 标准make变量 MAKE_VERSIO
- 下一篇: Debian 系统安装 Nagios 服