创建U盘上的维护系统
?
最近解決了一個讓我很有壓力的問題。現在突然輕松了很多,來看看CSDN博客,發現我這個技術博客還是相當空的,之前寫過一篇關于“弄一個既能掛載壓縮文件,但是也能保存的100MB以內的linux”,此文提出在ubuntu社區“http://forum.ubuntu.org.cn/viewtopic.php?f=77&t=292547”覺得自己這個想法意思不錯,于是貼在CSDN 博客里面作為第一篇文章,后來我也一直沒有解決這個問題,掛載博客上面也沒有意思,于是刪掉了。。。
現在回想起自己這個博客,空蕩蕩的。希望給它加點什么,想起大約半年前寫的《創建U盤上的維護系統》,分3部分,發在百度文庫上面,
這是Part2:http://wenku.baidu.com/view/ff2dc91e650e52ea5518986b.html(不推薦看,下面有修正版的pdf)
這是Part3:http://wenku.baidu.com/view/9f6325ea551810a6f524866b.html(不推薦看,下面有修正版的pdf)
至于part1:百度文庫那里沒有通過審核。
?
當時寫這個,只是好讓我的同學們可以自行重裝系統,自行制作維護U盤,希望日后系統崩潰了,就不需要找我了。。為了盡量的通俗易懂,我基本上是用相當簡單的語言寫,也用了很多很直接的類比例子。說白點,就是一篇極度不專業的文章吧。不過,輕輕松松地學習到東西,不在乎專業不專業。
現在,打算再次把此文修改一下,放在博客上面,填補博客的空白。我也希望自己也可以花些時間寫寫自己的學習到東西,遇到的問題和解決的方法,都放在博客上。
?
<!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } A:link { so-language: zxx } -->
?
前天,講此文發到百度文庫上:http://wenku.baidu.com/view/95741ebc960590c69ec3765e.html(此版本包含圖片,推薦看這個)
創建U盤上的維護系統
?
創建U盤上的維護系統Part1:3種常用的U啟模式概念介紹
?
用u盤重裝系統只要有一下的幾種常用的方法:
?
1.對U盤進行量產
具體做法:對u盤進行量產,然后進入USB-DVDROM模式進入,然后進入PE或者XP安裝程序進行安裝。
量產:大量生產的意思,說白點,就是對U盤的容量進行功能劃分。(分區)
舉一個例子:
我手上的2GU盤,默認情況下是一個盤的。于是,我可以通過量產,把這2G的空間,拿700MB的空間出來,放存放一個xp安裝光盤。因此,如果你成功量產后,你接入U盤的時候,你會發現你的電腦的我的電腦里面,會多了一個光驅和一個U盤。那個多了的光驅就是你放進去的xp安裝光盤。另外一個就是剩余的1.3G的空間了。那些病毒,搞不了你的光盤的數據的,因為,光盤本來就是只讀的東西。很安全。。現在我們買到的一些U盤,帶防毒功能,那個防病毒的軟件就是放在那個光盤了。
量產的優缺點:
優點正如上段所說的,量產出來的光盤,不受病毒的干擾。缺點在于,對U盤進行量產,需要專用的軟件,所謂的專用,就是要根據U盤里面的控制芯片,然后對應不同的控制芯片找到對應的量產軟件,進行量產。一般U盤的生產商還是什么商,都會提供相關的軟件的。這樣子會顯得很麻煩,如果我的維護光盤需要更改,那么,需要重新量產,很可能U盤需要重新格式化。
?
2.對U盤改成HDD模式
對u盤改成HDD模式。電腦啟動的時候,會把U盤識別成一個硬盤來看待,那么,可以通過在U盤里面裝一個系統,然后進入這個系統進行維護。此類系統可以是WinPe,一些微型Linux。通過這些系統,可以進行原來系統的修改,維護,包括備份,重裝系統等。
HDD模式:
把你的U盤弄成一個硬盤一樣,Hard Disk=硬盤。所以,叫做HDD模式。當然,還有其他一些類似的模式,如我們在BIOS看到的ZIP模式,FDD模式。其中FDD模式是把U盤看作是一個軟盤。在Win95/98年代,如果硬盤崩潰了,一般都是啟動軟盤里面的Dos系統進行維護。
?
Ghost:
Ghost是一款軟件,是美國賽門鐵克公司旗下的一款出色的硬盤備份還原工具。其功能很強大,我們一般都用它來重裝系統。讓很多人認為Ghost是一個系統安裝軟件,其實不是,它只是一個備份還原的工具。所謂的Ghost安裝就是對C盤(假設你的系統安裝在C盤),進行覆蓋。其中這個過程我詳細說明一下:
假設我現在已經把一個winxp系統裝好在C盤,把常用軟件都裝好,現在,我通過Ghost軟件來對我的C盤進行備份。備份會生成一個擴展名為gho的鏡像文件。這個gho文件,一般放在D盤或者其他盤,里面包含了你c盤里面的所有文件,等于對c盤的復制,就像那些壓縮文件一樣。一個rar文件里面有很多文件。
如果,過了一個月,我系統設置錯誤,我的桌面很難看,圖標改不回來。那么,這個時候,可以通過我之前生成的gho鏡像文件來進行還原,把當前的c盤完全刪掉,用gho鏡像文件里面的文件復制到c盤,由于gho鏡像文件是一個月前c盤的備份,那么,把gho鏡像文件來覆蓋當前的c盤,那么,c盤會變成一個月前。這個過程,稱之為“還原”。
?
Q:如果我的C盤崩潰了,我之前又沒有備份生成gho鏡像。我該如何?
A:出現這種情況,我們可以用別人已經生成好多的通用的gho鏡像來進行還原,我們可以通過光盤,或者U盤,甚至是軟盤,進入ghost程序,然后用別人之前已經生成的gho鏡像進行還原。
這里的“通用gho鏡像”就是我們常常聽說的深度Ghost,蕃茄Ghost,蘿卜Ghost,雨林沐風Ghost。不同人,或者不同組織弄出的通過gho鏡像,如前面說的深度,蕃茄,都是一群系統愛好者做出來的好作品,不同組織出的ghost系統,在系統穩定性和系統設置上各有不同,因為,那些組織會對系統進行一定的優化,修改,然后做出通用的ghost鏡像文件,放到網上去,讓別人下載使用。
?
Q:所謂的通用是什么意思呢?基本上都是x86結構。有什么區別?
A:一般不同組織做出來的ghost系統,為了適應不同硬件設備,一般都會在用ghost還原系統后重啟,第一次啟動后自行查找本機器的硬件設備,自動安裝對應的硬件驅動。因為,不可能每一個人的機器都是擁有相同的硬件設備的。比方說,我用的是AMD的顯卡,你用的是Nvidia的顯卡。要對應不用的硬件設備安裝不同的驅動。
?
Q:我自己做的ghost文件,別人能用嗎?
A:如果你的ghost文件里面帶的驅動,符合你朋友的話,那么是可以的。不過,一般個人自行備份生成的ghost文件都是專用的。因為,每個人的喜好不一樣,包括系統字體的大小,背景,安裝了什么軟件==都是各有喜好的。所以,相當建議首次安裝好系統好,把該安裝的軟件裝好,和該優化的優化,然后自行ghost下,日后系統崩潰了,直接ghost還原,不用3分鐘,系統馬上還原成剛重裝一樣。
?
?
3.Fbinst模式
一種新型的U啟模式,為了增加不同主板對U盤的識別率而產生的。具體可以了解一下,其實,我自己已經有2年的時間沒有去學習U啟,沒想到現在還發展得那么快,據說,現在還加了一種加快U啟的方法,已經從理論走向實踐。大家有空可以去了解一下,對于Fbinst模式,目前已經是一種相當成熟的技術,限于本人能力和時間有限,不對此方面作深入的了解,大家有空可以去了解一下。
?
?
創建U盤上的維護系統Part2:電腦啟動過程介紹
雖然此文主要介紹U啟的,但是,其實U盤和硬盤、光盤、軟盤都是屬于同一個等級,也就是說,機器啟動的時候,會在“U盤”,“硬盤”,“光盤”三者中選擇其中一個設備來進行啟動,當然,可以把網絡加進去,那樣子就是我們在網吧常常看到的無盤啟動(沒有硬盤、光盤、U盤),啟動的系統用遠端網絡上的服務器的系統。
在了解U啟過程之前,必須要了解普通電腦的啟動過程,里面很多概念都和U啟重疊。
?
普通電腦的啟動過程:(以硬盤為例,系統為Xp)
-
BIOS自檢
-
找1扇區(里面放著MBR,MBR=Master Boot Record。中文名是主引導記錄)
-
讀取MBR里面的Bootloader=主引導程序
-
主引導程序找到系統(winxp,Linux==)
-
啟動系統。
?
上述是機器啟動的主體過程,下面將各個步驟細化,把各個概念理解清楚。
-
BIOS自檢(檢查顯卡有沒有接好,內存接好沒?===)
-
找1扇區(以下的3個步驟都和在這個1扇區里面操作)
-
讀取硬盤的0柱面0磁道1扇區(沒有0扇區的說法,扇區從1開始)::把這個512字節的東西存放在內存。
-
目前硬盤的1個扇區的大小都是512字節, 第一扇區比較特殊,因為他屬于硬盤的第一個數據單元,等同于我們班的一進門的第一行,第一列的那個位置,那個位置負責關燈,開燈==的事務。
-
這個第一扇區:前446字節存放的一個小程序(這個小程序和后面說的分區表,等下會詳細說說)。接下來的64字節是分區表,最后的兩個字節是結束標志,55AA。(55AA只是一個標識符,表明一扇區讀取完畢。
-
-
讀取MBR里面的Bootloader=主引導程序
-
讀取1扇區的內容中的前446字節,這里的446字節的代碼,寫著一個程序,我們稱之為“主引導程序”。
-
主引導程序的作用是告訴計算機,如何找到操作系統存放的位置。因為計算機不知道你的WinXp安裝在哪里,是C盤還是D盤?計算機是不清楚的。再說,有些機器是裝雙系統。計算機又如何找到系統呢?所以,這個主引導程序(Bootloader)就是來完成此項任務。
-
主引導程序位于MBR的前446字節,完成對硬盤的分區表識別,看本硬盤分了多少個區,每個區是什么樣的文件系統(FAT32還是NTFS=),同時,還要對文件系統的支持。拿MicroSoft的Bootloader來說,其作用就是找到硬盤里面多個分區中的引導分區(這個后面會詳細講到),一般C盤為引導分區。找到C盤,在C盤尋找C盤根目錄下的文件NTLDR文件,然后執行這個NTLDR文件。NTLDR是一個系統啟動管理程序,NTLDR在C盤里面讀取文件boot.ini,獲得系統列表:以下是本人的boot.ini
[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)/WINDOWS
[operating systems]
-
multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=AlwaysOff /usepmtimer
-
-
NTLDR讀取boot.ini文件,從上面的boot.init可以看到,boot.ini為NTLDR提供了信息:系統存在的位置:第一個硬盤的第一個分區的windows目錄下。
-
隨之,NTLDR會根據boot.ini提供的信息來引導winxp的啟動。隨后就是我們常常看到的滾動條。
?
?
接下來是具體講講分區表這東西:
從上面我們知道分區表是在MBR里面的地447字節到510字節。
Ps:Magic Number=55AA上面說過的。
?
解釋一下上面的分區表E文:
Partition Flag:
分區標志。標識次分區是引導分區還是非引導分區。其實,所謂的引導分區和非引導分區,在微軟的系統引導是很有必要的。對 linux來說,此標志沒用的。
為什么?我們剛才提到,Xp的引導需要用到NTLDR,是一個啟動管理器,但是,在執行次程序之前,還需要MBR里面的Bootloader,此Bootloader,在分區表里面,通過Partition Flag來找到引導分區,一般都是C盤。如果在引導分區找不到NTLDR,那么,就啟動不了系統了。因為,MS的Bootloader只認識引導分區,非引導分區不尋找。
而在Linux上面,很多發行版都使用Grub這個啟動管理程序,當然,也會有對應的Bootloader,我們也稱為之Grub,這個Bootloader會從第一個分區開始找,在每個分區的根目錄尋找一個稱為grldr的文件。這個grldr和NTLDR是一個樣的,同樣也是一個啟動管理器。不過,grldr比NTLDR的功能強大多了。不過,我們一般不用grldr來稱呼,一般會用Grub,目前使用最多的版本是Grub For Dos。具體大家可以百科一下。Grub這個bootloader是從第一個分區開始找,找不到的會在第二個分區,再找不到的,繼續下一個……,如此一直找下去,如果每個分區都找遍都沒有,那么會提示錯誤信息:No grldr Found。
從上面我們很容易地理解到,MS的Bootloader是需要引導分區,從而找到NTLDR的,而Linux廣泛使用的Grub,是一個分區一個分區地找grldr的。所以,分區標志的引導不引導,對于Linux是沒有任何意義的,不過,對于MS的系統,可是一個至關重要的標識符。
PS:一般我們還有另外一種叫法,就是活動分區和非活動分區的說法來代碼引導和非引導。
?
Star CHS:
開始的CHS,所謂的CHS,C=柱面(Cylinder),H=磁頭(Head),S=扇區(Sector)。代表這開始的扇區的邏輯位置。至于物理位置,一般硬盤都會有一個地址映射,通過此三個參數來找到實際的物理位置。至于為什么一開是不使用物理位置來定義,這個是和硬盤的發展有關系。大家可以百科一下。不多說了。
?
?
Partition Byte:
分區文件系統標識,用來表示不同的文件系統,比如我們常常聽說的NTFS文件系統,FAT32文件系統,EXT4文件系統……
?
End CHS:
結束的CHS。
?
Start LBA:
開始的邏輯扇區號。表示在分區從第幾個扇區開始。
?
Size:
表示該分區所擁有的扇區數。這個Size,擁有4個字節來表示,也就是說有32位表示,通過計算,2的32次方再乘以512Byte(一個扇區512字節)計算可以得出等于2048G,也就是2TB,所以說,對于目前此種MBR分區表模式,一個分區最大的大小是2TB。當然,為了解決次瓶頸,日后會采用另為的分區模式,例如蘋果機采用的模式是GPT分區表。
?
分區類型:
從上面的MBR劃分,我們可以清楚地了解到,一個分區需要16字節來存儲分區信息,分區表只有64字節。按照此種模式,最多可以分4個分區,那么,我們目前常常用到的CDEFGH,比4還多啊。這個問題就產生了主分區、擴展分區以及邏輯分區。
?
主分區:
分區信息直接放在MBR里面的PT(Partion Table)里面的分區。
擴展分區:
由邏輯分區組成。
邏輯分區:
信息沒有直接放在MBR里面的。但是???不放在MBR里面會放在哪里呢??說這個前,我們先來看一個例子:
?
我分2個盤。一個C盤,一個D盤,有兩種方案:
A方案:Partition1放C盤的信息,然后partition2放D盤。。然后,partition3空著,留著以后用呢。(這個時候,C盤和D盤都稱為主分區,因為,是直接放在MBR里面的)
B方案:Partition1放C盤,然后,Partition2放擴展分區,這個擴展分區,會指向一個特定扇區,這個扇區存放這D盤這個分區所需要的信息。這個方案看上去和A方案是沒有很大的區別。那么,我們再來看看一個例子:
?
我分6個分區,C D E F G H。
很明顯,64字節的分區表根本不夠放。所以,我們可以采用類似于上列的B方案:
CDE分區信息放在分區表,分區表第四個項開始定義擴展分區,來指向F分區,找到F盤,在F分區里面也存放G分區的的分區信息,然后找到G分區,在G分區也存放這H分區的信息,從而,所有盤都給找到了。
在這個例子中,CDE為主分區,FGH為邏輯分區,剩余的屬于擴展分區類型。
對于分區表劃分,這么一個規定:一個分區表,至少有一個主分區,可以沒有擴展分區。
?
以上一個MBR都差不多說完了,咱們開始理解一下目前常見的系統啟動錯誤,在機器還沒有運行到滾動條的之前的錯誤,90%的錯誤都源自于MBR以及MBR后的執行(引導管理器)。比方說提示錯誤Miss Ntldr,一般說明C盤里面的NTLDR文件丟失,從其他機器Copy過來一般可以解決問題。如果什么都沒有提示,就一個光標顯示,那么,很有可能MBR里面的Bootloader(MBR前446字節)丟失或者被惡意修改過,Fix /mbr即可。如果提示Disk Failure,Insert System Disk And Press Enter。很有可能Bootloader找不到活動分區。修改一下Partion Flag即可。
PS:一個很好的建議,如果沒有什么特別情況,請不要搞這個MBR,里面存放這分區表等重要信息,如果分區表信息丟失,或者錯誤,那么,很有可能,你硬盤里面所有東西會瞬間丟失。當然,可以通過修復軟件修復,但是,修復軟件不是萬能的。在弄之前,建議備份這個MBR,用任何一個可以讀取硬盤的第一扇區的程序來進行備份。此備份文件只會占你512字節的空間,但是,可以挽救你幾百G的數據。
?
創建U盤上的維護系統Part3:U啟過程以及實踐
?
先讓我們來回顧一下一般電腦的啟動過程:(啟動介質:硬盤,啟動系統:xp)
1.BIOS自檢
2.Read MBR(Read Bootloader Written By MS)
3.Run NTLDR
4.Choose WinXP(View C:/boot.ini)
5.Boot WinXp
?
NTLDR一般來說,只會啟動微軟的系統,對于啟動Linux就有點吃力了(至少,目前我沒有人看見到有哪位仁兄修改NTLDR讓之支持Linux的啟動,也許是我孤陋寡聞吧)。為了讓我的機器能夠同時啟動WinXp,Linux,Win7,DOS=系統。我們嘗試采用另外的啟動管理器Grub For Dos,對上面的一個過程進行修改一下:
1.BIOS自檢
2.Read MBR(Read Bootloader Call Grub Written By Grub Organizations)
3.Run grldr
4.Choose An OS
5.Boot The Selected OS
?
Ms的Bootloader引導NTLDR啟動Xp,Grub Org的Bootloader引導grldr引導啟動系統。
?
GRUB 是一個遵從Multiboot(多重啟動)規范的啟動管理程序。現在接觸到的有3種,即GNU Grub Legacy , GNU Grub2 和 Grub for dos(grub4dos)。
而GRUB for DOS(GRUB4DOS)是一個以 GNU GRUB 為基礎的功能強大的引導器。它可以在 DOS 和 LINUX下運行,也可以通過其他引導器來運行,還可以作為MBR運行。GRUB4DOS內置了功能完善的 BIOS 級磁盤仿真。
也許我們會想,為什么在MBR有一個引導程序,在其他地方也要有一個grldr的程序呢?
由于,在mbr的里面的引導程序,只有446字節,要他完成多重啟動,BISO級仿真(目前Vista和win7的認證軟破解,就靠這個玩意),還有,ISO鏡像讀取,446字節是不夠的。所以,這些功能可以放在其他的地方,就是那個所謂的grldr程序了。當然,也有人這么修改過grub,把grub的主要功能,直接寫入到第二扇區到第62扇區,512Byte*60=256KB。256KB,可以有很多功能了。這樣子,就不用在外面再弄一個grldr文件。
?
讓我們來進行一下對比:
NTDLR
不能直接引導linux
只能放在C盤
界面單調
功能很很少,只是為了引導win系統而存在
?
Grub For Dos
能直接引導Linux,Dos等操作系統
能直接引導img磁盤鏡像,ISO光盤鏡像……
界面可以自定義,包括字體,顏色,背景,而不像NTLDR黑呼呼的背景。
功能強大,可以在dos下直接啟動,也可以在其他引導程序啟動。(可以通過NTLDR啟動G4D)
既然現在,我們知道可以通過NTLDR來啟動G4D(Grub For Dos),那么,我們現在嘗試來在本來已經存在的Xp系統的電腦上啟動其他系統呢?
修改boot.ini的最后一行添加:c:/grldr="Start GRUB4DOS"
修改前的boot.ini:
[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)/WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=AlwaysOff /usepmtimer
?
修改后的boot.ini:
[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)/WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=AlwaysOff /usepmtimer
c:/grldr="Start GRUB4DOS"
?
這個時候,你啟動電腦的時候,你會發現有多了這么一個選項:
?
我們來看看添加的那一行東西:c:/grldr=”Start GRUB4DOS”
很明顯,在C盤里面,必須要有grldr這個文件。當然,啟動grub的時候,緊緊有這個文件是不夠的。還需要menu.lst文件,對于G4D,大家可以下載Grub4dos的完整包。
?
下載grub4dos后,解壓縮后就可以了,放在C盤更目錄。核心文件有下面這幾個:grldr(VISTA系統,還需grldr.mbr)和grub.exe,及menu.lst(此為樣本,需修改)。如果你需要中文支持,就用chinese子目錄中的文件。而這個menu.lst 對于grldr來說就等于boot.ini對于NTLDR。
?
menu.lst內容如下:
下面是一個menu.lst的例子。(以#開始的行,表示注釋,不執行)
# 默認延遲時間(秒)
timeout 30
# 第一項為默認值
default 0
# 設置圖形背景文件
splashimage (hd0,0)/boot/grub/xp2008.gz
# 設置中文支持的字體文件
fontfile (hd0,0)/boot/grub/fonts
title 使用map啟動本地硬盤上的瑞星殺毒軟盤鏡像文件
map (hd0,0)/boot/grub/rav.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title 使用memdisk啟動本地 Win98 軟盤鏡像文件
kernel (hd0,0)/boot/grub/memdisk.gz
initrd (hd0,0)/boot/grub/win98.img
title 使用memdisk啟動本地硬盤上的瑞星殺毒軟盤壓縮鏡像文件
root (hd0,0)
kernel /boot/grub/memdisk.gz c=80 h=12 s=36 floppy
initrd /boot/rav.zip
title 啟動第一主分區(hd0,0)上的操作系統
rootnoverify (hd0,0)
makeactive
chainloader +1
title 啟動第二主分區(hd0,1)上的操作系統
rootnoverify (hd0,1)
makeactive
chainloader +1
title 重啟
reboot
title 關機
halt
?
此菜單文件的運行效果如下圖。
?
?
以上例子,是截取lianjiang的《grub4dos初級教程》,此例子是在硬盤上安張Grub4Dos。而我們的目的是在U盤通過啟動Grub4Dos引導啟動Winpe,然后在Winpe下進行系統維護。
?
?
對grub的引導啟動項目編寫,可以參考上述的例子,具體參數應該自行查閱grub的使用手冊。下面開始用例子說明實踐:
?
例子1:——維護性U盤的制作
要求:
-
WinPe當維護系統
-
U盤為媒介存儲winpe系統。
-
通過grub引導進入winpe系統
-
U盤只分一個盤。
?
制作步驟
-
將U盤弄成HDD模式(可以使用U-BOOT軟件)
-
對U盤的第一扇區進行改寫。意思是將grldr寫入到U盤的MBR里面(可以通過BOOTICE軟件實現。這軟件不單只有grldr的寫入,還能寫入其他的多啟動管理器。)
-
添加Grub4Dos需要的核心文件,grldr,menu.lst。
-
添加Winpe的文件
-
改寫Grub4Dos文件的menu.lst(告訴計算機在哪里引導winpe系統)
?
重啟電腦測試即可。。
?
對例子一的分析:
由于U盤只分一個盤,所以,那些Grub的核心文件,以及winpe的系統文件,都是可見的。也就是說。我們往U盤放東西,或者打開U盤的時候,都會看到這些文件的存在。那么,問題出現了。其一:看到自己的U盤那么多東西,看起來不爽。一會兒又什么MiniPE文件夾,一會兒又有什么menu.lst文件,又多一個grldr文件。不小心會刪除錯誤。其二,病毒可以很輕而易舉地把Grub核心文件,Winpe系統文件刪除。不安全。這是是U盤通過HDD模式啟動很容易產生的毛病。
?
解決方法一般有以下幾種:
方法1:
-
通過量產把U啟弄成光盤形式,維護的文件都放在量產后的空間里面,和普通可使用的空間分離。不影響正常使用,由于是光盤模式,只可讀不可寫,病毒不能刪除你的維護系統,很安全。但是,由于弄成光盤的形式,對維護U盤的維護系統進行更新是很麻煩的,要重新量產一遍。不過,這種方式,兼容性很高的。大多數的主板都支持啟動,成功率也很高。
?
方法2:
-
量產的另外一種形式:一般我們通過量產對U盤分成光驅和可使用的空間。但是,量產軟件還有另外一種,就是通過量產,可以對U盤分出兩個可使用的空間,意思是,有兩個U盤。兩個U盤的容量都可以自定義,但是,天下沒有免費的午餐,兩個U盤的容量之和等于你這個U盤的總大小。
這種方式:需要用到量產軟件,而且,這種方式只能適用與U盤,mp3。那些存儲卡,就是我們常常用到的SD卡,TF卡,是不能適用的,因為,量產需要芯片支持,TF卡沒有的。SD卡也沒有的。
接著,這個方法還有一個不好的地方,就是,你分成兩個區,雖然可以實現了維護盤和普通盤的分離,但是,這兩個區都是可見的。在你接入電腦的時候,對用戶都是可見的,也是可以編輯的。也就是說,病毒可以對你的維護分區進行修改。
?
方法3
-
這個方法本人也喜歡用。也在用。這種方法。和量產的另外一種形式差不多。但是,適用于U盤、mp3、mp4,存儲卡,SD、TF之類的=====
思路如下:
對U盤進行分區,我分3個區,第一個分區是用來普通存儲用的文件系統為Fat32,空間大小1.4G,第二個分區文件系統也是Fat32,放Winpe系統文件用的。空間大小200MB。第三個:。文件系統為ext,空間大小400MB。用來存放Linux系統的(本人的U盤only poor 2G)
好處是什么??雖然你分了3個區,但是,在普通的微軟的系統里面,當你接上這個U盤的時候,只能看到1個分區,就是第一分區,1.4G的那個。因為我不是用量產得到的3個分區。是直接用分區軟件分出來的。然后,微軟的系統,對于U盤的識別,只會顯示第一個。當然,要顯示全部,也沒問題,需要安裝什么什么驅動之類的額外軟件。
至于第三個分區,由于使用了ext文件系統。MS的系統默認是不支持EXT文件系統的。可以減少病毒對此分區的影響。不過,自然會帶來修改的麻煩。如果要修改,一般都是進入Linux系統進行修改。
總體來看,在一般情況下,病毒由于找不到你U盤里面的第二個分區,和第三個分區,也就不能對你的第二個和第三個分區進行修改,格式化等操作。個人認為,安全性不錯的。
方法4:
-
采用Fbinst模式。Fbinst模式在U盤前部分弄多一備份空間,這個空間需要特定的軟件打開,默認MS系統是不可見的。其主要是存放維護文件。這個看上去和分區差不多,但是,他和分區以及量產有本質上的區別。我們一般用的是HDD模式,但是,實際上,HDD模式,zip模式,不一定每一臺電腦都能識別出來的。所以,Bean大哥,想出Fbinst這東西出來,兼容性極高。比HDD高多了。具體的原理大家可以Google一下。
?
?
例子2:
采用方法3:
要求:
-
winpe當維護系統,搭配多個linux(當然,可以找一下影音的系統,基于linux的。我用過一個,叫xpud。和一個Geexbox。都是不錯的。。)
-
U盤為媒介存儲上述系統。
-
通過grub的引導菜單,不單只能引導上述的系統,而且能引導當前系統,包含關機,重啟的命令。
-
U盤分3個區,一個1.4G的第一分區,一個200MB的分區放WinPe,一個400MB的分區放多個linux系統。Grub的核心文件反正linux分區里面。
?
制作步驟
-
將U盤弄成HDD模式
-
對U盤的第一扇區進行改寫。意思是寫grldr到U盤的MBR里面
-
對U盤進行分區。
-
添加linux系統文件,一般采用Initrd壓縮啟動模式的Mini操作系統,如Puppy,Slitaz,Core。
-
添加grub4dos需要的核心文件。
-
添加winpe的文件。
-
改寫grub4dos文件的menu.lst(編寫啟動菜單)
?
最后,例子只是一個小小的步驟說明,我之前也圍繞這上面的例子錄制了視頻過程,不過,也找不到比較適合上傳的地方,所以沒有上傳,其實,視頻過程用處不大,只是一些例子的實踐性的操作,關鍵是理解啟動型U盤的啟動過程和原理,制作基本步驟,以及一些MBR的基本知識,做到舉一反三。
?
由于本人能力有限,文檔中難免還存在一些缺點和錯誤,殷切希望廣大讀者指點。
By
曲阜師范大學08網絡工程
Janka Lon(小小的螞蟻)
2011-3-23(修正)
參考文獻:
《grub4dos初級教程》,By lianjiang
GRUB_百度百科:http://baike.baidu.com/view/225343.htm
?
?
總結
以上是生活随笔為你收集整理的创建U盘上的维护系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ARC077E - guruguru(差
- 下一篇: 微信小程序自定义导航栏组件(完美适配所有