




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)恢復(fù)技術(shù)(第二版)第三部分目錄4.7.12能夠支持ExFAT文件系統(tǒng)的恢復(fù)工具第5章UNIX系統(tǒng)數(shù)據(jù)恢復(fù)技術(shù)5.1UNIX家族介紹5.1.1UNIX的起源及分裂5.1.2UNIX分類及特點(diǎn)5.2UNIX的分區(qū)詳解5.2.1Solaris分區(qū)基本介紹5.2.2SparcSolaris分區(qū)結(jié)構(gòu)分析5.2.3SparcSolaris分區(qū)恢復(fù)實(shí)例5.2.4x86Solaris分區(qū)結(jié)構(gòu)分析5.2.5x86Solaris分區(qū)恢復(fù)實(shí)例5.2.6FreeBSD分區(qū)結(jié)構(gòu)分析5.2.7FreeBSD分區(qū)恢復(fù)實(shí)例5.2.8OpenBSD分區(qū)結(jié)構(gòu)分析5.3UFS1及UFS2文件系統(tǒng)詳解5.3.1UFS文件系統(tǒng)基本介紹5.3.2UFS文件系統(tǒng)結(jié)構(gòu)總覽5.3.3UFS文件系統(tǒng)的引導(dǎo)塊分析5.3.4UFS文件系統(tǒng)的超級(jí)塊分析5.3.5UFS文件系統(tǒng)的柱面組概要分析5.3.6UFS文件系統(tǒng)的柱面組描述符分析5.3.7UFS文件系統(tǒng)的位圖分析5.3.8UFS文件系統(tǒng)的i-節(jié)點(diǎn)分析5.3.9UFS文件系統(tǒng)的目錄項(xiàng)分析5.3.10UFS文件刪除與恢復(fù)的分析5.3.11UFS文件系統(tǒng)超級(jí)塊的恢復(fù)實(shí)例5.3.12UNIX系統(tǒng)數(shù)據(jù)恢復(fù)專業(yè)工具詳解第6章Apple系統(tǒng)數(shù)據(jù)恢復(fù)技術(shù)6.1Apple電腦介紹6.1.1Apple電腦的起源與發(fā)展6.1.2Mac操作系統(tǒng)的發(fā)展6.2Apple電腦的分區(qū)結(jié)構(gòu)詳解6.2.1APM分區(qū)結(jié)構(gòu)分析6.2.2APM分區(qū)恢復(fù)實(shí)例6.2.3GPT分區(qū)結(jié)構(gòu)分析6.3HFS+文件系統(tǒng)詳解6.3.1HFS+文件系統(tǒng)基本介紹6.3.2HFS+文件系統(tǒng)結(jié)構(gòu)總覽6.3.3HFS+文件系統(tǒng)的卷頭分析6.3.4HFS+文件系統(tǒng)的頭節(jié)點(diǎn)分析6.3.5HFS+文件系統(tǒng)的位圖節(jié)點(diǎn)分析6.3.6HFS+文件系統(tǒng)的索引節(jié)點(diǎn)分析6.3.7HFS+文件系統(tǒng)的葉節(jié)點(diǎn)分析6.3.8HFS+文件系統(tǒng)節(jié)點(diǎn)的綜合應(yīng)用6.3.9HFS+文件系統(tǒng)的編錄文件分析6.3.10HFS+文件系統(tǒng)的盤(pán)區(qū)溢出文件分析6.3.11HFS+文件系統(tǒng)的分配文件分析6.3.12HFS+文件系統(tǒng)的屬性文件分析6.3.13HFS+文件系統(tǒng)的壞塊文件分析6.3.14手工遍歷HFS+的B-樹(shù)6.3.15HFS+文件刪除與恢復(fù)的分析6.3.16HFS+文件系統(tǒng)卷頭的恢復(fù)實(shí)例6.3.17Apple系統(tǒng)數(shù)據(jù)恢復(fù)專業(yè)工具詳解第7章Linux系統(tǒng)數(shù)據(jù)恢復(fù)技術(shù)7.1Linux系統(tǒng)介紹7.1.1Linux系統(tǒng)的起源與發(fā)展7.1.2Linux系統(tǒng)的分類及特點(diǎn)7.2Linux系統(tǒng)的分區(qū)結(jié)構(gòu)詳解7.2.1MBR磁盤(pán)分區(qū)結(jié)構(gòu)分析7.2.2MBR磁盤(pán)分區(qū)恢復(fù)實(shí)例7.2.3GPT分區(qū)結(jié)構(gòu)分析7.3Ext3文件系統(tǒng)結(jié)構(gòu)詳解7.3.1Ext3文件系統(tǒng)基本介紹7.3.2Ext3文件系統(tǒng)結(jié)構(gòu)總覽7.3.3Ext3文件系統(tǒng)的超級(jí)塊分析4.7.12能夠支持ExFAT文件系統(tǒng)的恢復(fù)工具因?yàn)镋xFAT文件系統(tǒng)的應(yīng)用并不普及,所以能夠支持ExFAT文件系統(tǒng)的數(shù)據(jù)恢復(fù)工具并不多,專業(yè)數(shù)據(jù)恢復(fù)工具R-studio5.1以上版本能夠?qū)xFAT提供比較好的支持。因?yàn)楣ぞ叩氖褂梅浅H菀?,這里就簡(jiǎn)單介紹一下,不過(guò)多花費(fèi)篇幅。打開(kāi)R-studio,如圖4-583所示。從圖4-583中圈中的“K”盤(pán)就可以看出,R-studio已經(jīng)能夠識(shí)別ExFAT文件系統(tǒng)。用鼠標(biāo)右鍵點(diǎn)擊“K”盤(pán),在出現(xiàn)的下拉菜單中選“Scan”(掃描),如圖4-584所示。圖4-583R-studio5.1版主界面圖4-584R-studio的掃描選項(xiàng)掃描結(jié)束后的結(jié)果如圖4-585所示。圖4-585中“歌曲”這個(gè)目錄是被刪除的,R-studio已經(jīng)能夠掃描出刪除的這個(gè)目錄。如果要恢復(fù)這個(gè)目錄,只需要選中這個(gè)目錄并且保存到另外一個(gè)分區(qū)中即可,如圖4-586所示。圖4-585掃描結(jié)束后的結(jié)果圖4-586恢復(fù)選中的目錄選擇一個(gè)路徑保存選中的目錄即可成功恢復(fù)被刪除的文件。第5章UNIX系統(tǒng)數(shù)據(jù)恢復(fù)技術(shù)5.1UNIX家族介紹UNIX的誕生比PC、工作站、微處理器、顯示器都要早,與世界上第一塊半導(dǎo)體存儲(chǔ)器是同一時(shí)代的產(chǎn)物。在現(xiàn)今所有分時(shí)系統(tǒng)中,也只有IBM的VM/CMS比UNIX資格老,但是UNIX機(jī)器的服務(wù)時(shí)間卻是VM/CMS的幾十萬(wàn)倍,在UNIX平臺(tái)上完成的計(jì)算量比所有其他分時(shí)系統(tǒng)加起來(lái)的總和還要多。UNIX比其他任何操作系統(tǒng)都更廣泛地應(yīng)用在各種計(jì)算機(jī)上,從超級(jí)計(jì)算機(jī)到個(gè)人掌上電腦再到嵌入式網(wǎng)絡(luò)設(shè)備,從工作站到服務(wù)器再到微型計(jì)算機(jī),UNIX所能支持的計(jì)算機(jī)架構(gòu)和硬件比其他任何操作系統(tǒng)都要多。UNIX應(yīng)用范圍之廣簡(jiǎn)直令人難以置信,沒(méi)有哪一種操作系統(tǒng)能像UNIX那樣在各個(gè)應(yīng)用領(lǐng)域都大放異彩。從UNIX誕生之日起,各種信誓旦旦的預(yù)言就伴隨著它,說(shuō)UNIX必將衰敗,或者被其他操作系統(tǒng)擠出市場(chǎng)。可是在今天,化身為L(zhǎng)inux、BSD、Solaris、MacOSX以及多個(gè)其他變種的UNIX,卻顯得前所未有的強(qiáng)大。5.1.1UNIX的起源及分裂UNIX于1969年誕生于貝爾實(shí)驗(yàn)室(BellLabs)的計(jì)算機(jī)科學(xué)家KenThompson的大腦中。Thompson曾經(jīng)是MULTICS(MULTiplexedInformationandComputingService,多路信息與計(jì)算服務(wù))項(xiàng)目的研究人員,飽受原始批處理計(jì)算方式的困擾。然而在20世紀(jì)60年代晚期,分時(shí)系統(tǒng)還是個(gè)新鮮事物,計(jì)算機(jī)科學(xué)家JohnMcCarthy(Lisp語(yǔ)言的發(fā)明者)幾乎是在十年前才首次發(fā)表了分時(shí)系統(tǒng)的構(gòu)想,而直到UNIX誕生前七年的1962年才第一次真正部署使用,因此當(dāng)時(shí)的分時(shí)系統(tǒng)尚處實(shí)驗(yàn)階段,性能極不穩(wěn)定。那個(gè)時(shí)代計(jì)算機(jī)的硬件是非常原始的,當(dāng)時(shí)最強(qiáng)大的計(jì)算機(jī)所擁有的計(jì)算能力和內(nèi)存還不如現(xiàn)在的一個(gè)普通手機(jī)。顯示器才剛剛起步,六年以后才得到廣泛應(yīng)用。最早的分時(shí)系統(tǒng)標(biāo)準(zhǔn)交互設(shè)備就是ASR-33電傳打字機(jī)——一個(gè)又慢又響的設(shè)備,只能在大卷的黃色紙張上打印大寫(xiě)字母,而UNIX命令簡(jiǎn)潔、少說(shuō)多做的傳統(tǒng)正是從ASR-33開(kāi)始的。由于MULTICS項(xiàng)目過(guò)于復(fù)雜,糅合了太多的特性,進(jìn)展非常緩慢,幾年下來(lái)都沒(méi)有任何成果,于是到了1969年2月,貝爾實(shí)驗(yàn)室決定退出這個(gè)項(xiàng)目。當(dāng)貝爾實(shí)驗(yàn)室從MULTICS研究聯(lián)盟中退出時(shí),KenThompson留了下來(lái),因?yàn)樗麖腗ULTICS項(xiàng)目中獲得了靈感,想創(chuàng)建一個(gè)文件系統(tǒng)。值得一提的是,KenThompson在做MULTICS項(xiàng)目時(shí)開(kāi)發(fā)了一個(gè)叫作“SpaceTravel”的游戲。退出MULTICS項(xiàng)目后,Thompson想把該游戲繼續(xù)開(kāi)發(fā)下去,但卻沒(méi)能申請(qǐng)到進(jìn)行開(kāi)發(fā)工作的機(jī)器。Thompson只好在實(shí)驗(yàn)室的墻角找了一臺(tái)廢棄的DigitalPDP-7小型機(jī)進(jìn)行他的計(jì)劃。這臺(tái)小型機(jī)上連個(gè)操作系統(tǒng)都沒(méi)有,所以Thompson又找來(lái)DennisRitchie為這個(gè)游戲開(kāi)發(fā)了一個(gè)極其簡(jiǎn)單的操作系統(tǒng),于是UNIX就在一臺(tái)廢棄的PDP-7小型機(jī)上問(wèn)世了。Thompson和Ritchie為支持游戲開(kāi)發(fā)而在PDP-7上編制的實(shí)用程序成了UNIX的核心,雖然直到1970年才產(chǎn)生UNIX這個(gè)名字,其最初的縮寫(xiě)是“UNICS”(UNiplexedInformationandComputingService,單路信息與計(jì)算服務(wù)),Ritchie后來(lái)稱之為“一個(gè)有點(diǎn)反叛MULTICS味道的雙關(guān)語(yǔ)”,因?yàn)镸ULTICS是多路信息與計(jì)算服務(wù)(MULTiplexedInformationandComputingService)的英文縮寫(xiě)。DennisRitchie后來(lái)以UNIX的合作發(fā)明者和C語(yǔ)言的發(fā)明者而聞名于世。最初的UNIX用匯編語(yǔ)言寫(xiě)成,應(yīng)用程序用匯編語(yǔ)言和解釋型語(yǔ)言B混合編寫(xiě)。B語(yǔ)言的優(yōu)點(diǎn)在于小巧,能在PDP-7上運(yùn)行,但是作為系統(tǒng)編程語(yǔ)言還不夠強(qiáng)大,所以DennisRitchie給它增加了數(shù)據(jù)類型和結(jié)構(gòu)。C語(yǔ)言從1971年起自B語(yǔ)言進(jìn)化而來(lái),1973年Thompson和Ritchie成功地用新語(yǔ)言重寫(xiě)了整個(gè)UNIX系統(tǒng)。這是一個(gè)大膽的舉動(dòng),因?yàn)楫?dāng)時(shí)為了最大限度地利用硬件性能,系統(tǒng)編程都通過(guò)匯編語(yǔ)言來(lái)完成。與此同時(shí),可移植操作系統(tǒng)的概念幾乎鮮為人知,而UNIX的成功很大程度上源自其以高級(jí)語(yǔ)言作為表述方式所帶來(lái)的可讀性、可改性和可移植性。1978年加州大學(xué)伯克利分校計(jì)算機(jī)系統(tǒng)研究小組(CSRG)使用UNIX對(duì)操作系統(tǒng)進(jìn)行研究,他們?cè)谘芯恐袑?duì)UNIX做了相當(dāng)多的改進(jìn),增加了很多當(dāng)時(shí)非常先進(jìn)的特性,包括更好的內(nèi)存管理、快速且健壯的文件系統(tǒng)等,大部分原有的源代碼都被重新寫(xiě)過(guò),以支持這些新特性。很多其他UNIX使用者,包括其他大學(xué)和商業(yè)機(jī)構(gòu),都希望能得到CSRG改進(jìn)的UNIX系統(tǒng),因此CSRG的研究人員把他們的UNIX組成一個(gè)完整的UNIX系統(tǒng)——BSDUNIX(BerkeleySoftwareDistributionUNIX)向外發(fā)行,被命名為“1BSD(1stBerkeleySoftwareDistribution)”,開(kāi)創(chuàng)了UNIX的另一個(gè)分支——BSD系列。在同一時(shí)期,AT&T公司成立了USG(UNIXSupportGroup),將UNIX變成商業(yè)化的產(chǎn)品。從此,BSD的UNIX便和AT&T的UNIX分庭抗禮,UNIX被分為SystemIV和4.xBSD這兩大主流,各自蓬勃發(fā)展。同時(shí),其他一些公司也開(kāi)始為自己的小型機(jī)或工作站提供商業(yè)版本的UNIX系統(tǒng),有些選擇UNIXSystemV作為基礎(chǔ)版本,有些則選擇了BSD。BSD的一名主要開(kāi)發(fā)者BillJoy在BSD基礎(chǔ)上開(kāi)發(fā)了SunOS,并最終創(chuàng)辦了SunMicrosystems。隨著B(niǎo)SD體系的不斷發(fā)展,后來(lái)又逐漸出現(xiàn)了FreeBSD、OpenBSD、NetBSD、DragonFlyBSD等分支。而源于AT&T授權(quán)的UNIXSystemV系統(tǒng)也被很多商業(yè)公司及學(xué)術(shù)機(jī)構(gòu)不斷研發(fā)和改進(jìn),出現(xiàn)了各個(gè)不同版本的UNIX,如AIX、Solaris、HP-UX、IRIX、OSF、Ultrix等。5.1.2UNIX分類及特點(diǎn)1.UNIX的分類UNIX主要的幾個(gè)版本如下。①V1(1971年):第一版的UNIX,以PDP-11/20的匯編語(yǔ)言寫(xiě)成。②V4(1973年):以C語(yǔ)言從頭寫(xiě)起,這使得UNIX修改容易,可以在幾個(gè)月內(nèi)移植到新的硬件平臺(tái)上。最初C語(yǔ)言是為UNIX設(shè)計(jì)的,所以C與UNIX間有緊密的關(guān)系。③V6(1975年):第一個(gè)在貝爾實(shí)驗(yàn)室外(尤其是大學(xué)中)廣為流傳的UNIX版本。這也是UNIX分支的起點(diǎn)與廣受歡迎的開(kāi)始。1.xBSD(PDP-Ⅱ)就是由這個(gè)版本衍生出來(lái)的。④V7(1979年):在許多UNIX玩家的心目中,這是“最后一個(gè)真正的UNIX,”這個(gè)版本包括一個(gè)完整的K&RC編譯器Bourneshell。V7移植到VAX機(jī)器后稱為32V。目前開(kāi)發(fā)UNIX(SystemV)的公司是UNIXSystemLaboratories(USL)。USL原為AT&T所有,1993年年初被Novell收購(gòu)。Novell于1993年年末將UNIX這個(gè)注冊(cè)商標(biāo)轉(zhuǎn)讓給X/Open組織。目前為止,UNIX有兩大流派,一是AT&T發(fā)布的UNIX操作系統(tǒng)SystemV,另一個(gè)是美國(guó)加州大學(xué)伯克利分校發(fā)布的UNIX版BSD(BerkeleySoftwareDistribution)。SVR4是兩大流派融合后的產(chǎn)物。1991年年底,與SystemV針?shù)h相對(duì)的開(kāi)放軟件基金會(huì)(OpenSoftwareFoundation)推出了OSF/1?,F(xiàn)在主要有以下幾種主要的UNIX版本:①AIX。AIX是IBM的UNIX,是根據(jù)SVR2以及一部分BSD延伸而來(lái),加上各種硬件的支持,具備特有的系統(tǒng)管理(SMIT)。②FreeBSD。FreeBSD的1.x從386BSD0.1而來(lái),F(xiàn)reeBSD2.x版是用4.4BSDlite改寫(xiě)。③NetBSD。NetBSD是從加州大學(xué)伯克利分校的4.3BSD及386BSD的基礎(chǔ)上發(fā)展而來(lái),并于1993年4月發(fā)行了第一個(gè)版本NetBSD0.8,在2009年4月發(fā)行了5.0版。④OpenBSD。OpenBSD是由NetBSD的共同發(fā)起人之一TheodeRaadt開(kāi)發(fā)的。1994年12月,TheodeRaadt離開(kāi)了NetBSD的開(kāi)發(fā)團(tuán)隊(duì),1995年10月,TheodeRaadt從NetBSD1.0衍生出了OpenBSD計(jì)劃,并于1996年7發(fā)布了OpenBSD的第一個(gè)發(fā)行版OpenBSD1.2。目前最新版是2009年10月18日發(fā)布的4.6版。⑤HP-UX。HP-UX的舊系統(tǒng)是從SIII(SVRx)發(fā)展而來(lái),現(xiàn)在是由SVR2(4.2BSD)發(fā)展而來(lái),目前已到11.x版。⑥SCOUNIXWare。SCO是UNIXSystemV源代碼的所有者。UNIXWare是最強(qiáng)大的,也是最完善的PCUNIX,它有優(yōu)秀的、價(jià)格合理的開(kāi)發(fā)工具。⑦SunMicrosystemsSolaris。最初稱為SunOS,來(lái)源于4.3BSD,包含許多來(lái)自SystemV的東西。Sun的主要成果在于NFS、OpenLookGUI標(biāo)準(zhǔn),后來(lái)演變?yōu)镾olaris。2.UNIX的特點(diǎn)對(duì)于UNIX家族的成員來(lái)講,它們有一些共同的特點(diǎn),這些特點(diǎn)也成為了UNIX幾十年以來(lái)的經(jīng)典之處,以下就是這些特點(diǎn):①所有的事物,包括硬件本身,都是文件。②配置信息以文件的形式存儲(chǔ)。③程序盡量設(shè)計(jì)得小而單一。④盡量避免令人困惑的用戶接口。⑤將幾個(gè)程序連結(jié)起來(lái),處理大而復(fù)雜的工作。5.2UNIX的分區(qū)詳解在UNIX家族中,有兩類系統(tǒng)應(yīng)用比較廣泛:一類是Sun公司的Solaris系統(tǒng);另一類是BSD系列,BSD系列中又以FreeBSD應(yīng)用較多。下面將介紹這兩種UNIX系統(tǒng)的分區(qū)結(jié)構(gòu)。5.2.1Solaris分區(qū)基本介紹Sun是最早的工作站廠商,一直在UNIX工作站領(lǐng)域不斷發(fā)展。其操作系統(tǒng)SunOS是基于4.2BSD開(kāi)發(fā)的,直到SunOS4。但是在此之后,Sun將操作系統(tǒng)的開(kāi)發(fā)工作轉(zhuǎn)向了SystemV。這個(gè)新版本為Solaris2,或者稱為SunOS5,因此也可以將SunOS4稱為Solaris1.0,但是SunOS4與Solaris2分屬兩個(gè)流派,其中的差別是比較大的。值得一提的是,Sun的版本號(hào)從Solaris2.6之后發(fā)生了改變,Solaris2.7的版本號(hào)直接變成了Solaris7,把前面的“2”取消了。SunSolaris主要針對(duì)Sun的處理器Sparc來(lái)開(kāi)發(fā),但是也開(kāi)發(fā)了用于x86平臺(tái)上的系統(tǒng)Solarisx86。與運(yùn)行在工作站上的Solaris相比,Solarisx86的性能要差很多。1.分區(qū)是一個(gè)文件在5.1節(jié)中介紹過(guò)UNIX系統(tǒng)的特點(diǎn),其中一點(diǎn)說(shuō)道:“所有的事物,包括硬件本身,都是文件”,當(dāng)然分區(qū)也不例外。在UNIX系統(tǒng)中,分區(qū)同樣也是一個(gè)文件。UNIX并不像Windows那樣使用驅(qū)動(dòng)器名如“C:”、“D:”來(lái)表示分區(qū)。在整個(gè)UNIX系統(tǒng)上,不管有多少個(gè)硬盤(pán)、多少個(gè)分區(qū),系統(tǒng)下只有一個(gè)根目錄,叫作“root”,并標(biāo)記為“/”。提示root下任何一個(gè)子目錄,都可以是一個(gè)硬盤(pán)或一個(gè)分區(qū),而且可以隨時(shí)改變。下面就以Solaris為例,談?wù)刄NIX的路徑組織結(jié)構(gòu)。系統(tǒng)中最高一級(jí)目錄是根目錄,即“/”。Solaris系統(tǒng)中有一些固定的默認(rèn)子目錄,如硬盤(pán)設(shè)備文件存儲(chǔ)在/dev目錄下,字符設(shè)備文件存于rdsk子目錄下,塊設(shè)備文件存在dsk子目錄下。表5-1是Solaris系統(tǒng)中常用的默認(rèn)目錄。表5-1Solaris系統(tǒng)中常用的默認(rèn)目錄圖5-1詳細(xì)描述了一個(gè)Solaris系統(tǒng)下的樹(shù)形目錄結(jié)構(gòu)。圖5-1Solaris系統(tǒng)下的樹(shù)形目錄結(jié)構(gòu)2.分區(qū)的命名在之前學(xué)習(xí)的系統(tǒng)中,把硬盤(pán)內(nèi)劃分的一個(gè)個(gè)區(qū)域稱為分區(qū)(Partition),但是在Solaris系統(tǒng)中,硬盤(pán)內(nèi)的這些區(qū)域被稱為“切片(Slice)”。提示在隨后對(duì)Solaris系統(tǒng)結(jié)構(gòu)的講解中,我們將使用“切片”表示Solaris系統(tǒng)的分區(qū),請(qǐng)讀者記住并習(xí)慣這種稱呼。在安裝Solaris系統(tǒng)時(shí),系統(tǒng)會(huì)在硬盤(pán)上創(chuàng)建一個(gè)磁盤(pán)標(biāo)簽,磁盤(pán)標(biāo)簽中就會(huì)描述該硬盤(pán)的切片數(shù)量及每個(gè)切片的地址、大小等信息,這個(gè)結(jié)構(gòu)稱為切片表。在切片表中有多個(gè)切片表項(xiàng),每個(gè)切片表項(xiàng)描述一個(gè)切片。在SolarisSparc架構(gòu)下,一塊硬盤(pán)可以有8個(gè)切片,被描述為切片0~7;而在Solarisx86架構(gòu)下,一塊硬盤(pán)最多可以有16個(gè)切片,被描述為切片0~15。UNIX系統(tǒng)引導(dǎo)之后,并不像Windows那樣能夠直接識(shí)別和訪問(wèn)硬盤(pán)中的分區(qū),UNIX還需要把分區(qū)掛載(Mount)之后才能訪問(wèn)。下面列舉一個(gè)在Solaris中掛載一個(gè)切片的例子。例如將切片/dev/dsk/c0t3d0s4掛載到/export/home目錄上,具體命令為:#mount/dev/rdsk/c0t1d0s4/export/home在上面的例子中,“/dev/dsk/c0t3d0s4”是一個(gè)硬盤(pán)邏輯設(shè)備的命名結(jié)構(gòu),其中“/dev”是指設(shè)備目錄,“/dsk”是指原始磁盤(pán)設(shè)備子目錄,“c0t3d0s4”是一個(gè)具體的切片。Solaris對(duì)一個(gè)切片的命名規(guī)則如cwtxdysz,其結(jié)構(gòu)的具體含義為:◆cw即ControllerNumber,指控制器號(hào),標(biāo)識(shí)被硬盤(pán)控制的加到系統(tǒng)上的邏輯順序。c0代表第一個(gè)硬盤(pán)控制器,c1代表第二個(gè)硬盤(pán)控制器,以此類推?!魌x即TargetNumber,指目標(biāo)號(hào),是位于控制器內(nèi)的地址,通常在外圍設(shè)備的背面能找到目標(biāo)號(hào)。◆dy即DiskNumber,指硬盤(pán)號(hào),代表連接在目標(biāo)上的設(shè)備的邏輯單位號(hào)。d0代表第一個(gè)硬盤(pán),d1代表第二個(gè)硬盤(pán),以此類推。對(duì)嵌入式SCSI控制器,硬盤(pán)驅(qū)動(dòng)號(hào)總是0?!魋z即SliceNumber,是指切片號(hào)。s0代表第一個(gè)切片,s1代表第二個(gè)切片,以此類推。在Solaris系統(tǒng)中,每一個(gè)切片都必須掛載到某個(gè)目錄下才能訪問(wèn),而在Solaris磁盤(pán)標(biāo)簽的切片表中,每個(gè)切片表項(xiàng)所描述的切片與切片的掛載點(diǎn)一般有一個(gè)固定的對(duì)應(yīng)關(guān)系,比如0號(hào)切片表項(xiàng)所描述的是掛載在根目錄下的切片,即存儲(chǔ)操作系統(tǒng)的文件及目錄的切片。切片表項(xiàng)與切片掛載點(diǎn)的對(duì)應(yīng)關(guān)系見(jiàn)表5-2。表5-2切片表項(xiàng)與切片掛載點(diǎn)的對(duì)應(yīng)關(guān)系5.2.2SparcSolaris分區(qū)結(jié)構(gòu)分析1.SparcSolaris磁盤(pán)布局在Sparc架構(gòu)的Solaris系統(tǒng)中,磁盤(pán)標(biāo)簽位于磁盤(pán)的第一個(gè)扇區(qū),按照LBA地址編號(hào)就是0扇區(qū),隨后跟著的1~15號(hào)扇區(qū)包含用來(lái)存儲(chǔ)系統(tǒng)的引導(dǎo)程序,0~15號(hào)這16個(gè)扇區(qū)其實(shí)也屬于磁盤(pán)中的第一個(gè)切片,是該切片上文件系統(tǒng)的引導(dǎo)塊。從16號(hào)扇區(qū)開(kāi)始是第一個(gè)文件系統(tǒng)的超級(jí)塊。第一個(gè)切片結(jié)束后緊跟著是第二個(gè)切片的開(kāi)始,第二個(gè)切片結(jié)束后緊跟著是第三個(gè)切片的開(kāi)始,就這樣排列直到磁盤(pán)末尾。一個(gè)完整的Sparc架構(gòu)的Solaris磁盤(pán)布局的例子如圖5-2所示。圖5-2Sparc架構(gòu)的Solaris磁盤(pán)布局2.SparcSolaris的磁盤(pán)標(biāo)簽結(jié)構(gòu)磁盤(pán)標(biāo)簽是Sparc架構(gòu)Solaris非常重要的結(jié)構(gòu),它位于硬盤(pán)的第一個(gè)扇區(qū),大致由6個(gè)部分組成,具體為ASCII明碼標(biāo)簽、卷內(nèi)容表(VTOC)、磁盤(pán)參數(shù)、切片表、簽名值、校驗(yàn)和,如圖5-3所示。圖5-3SparcSolaris的磁盤(pán)標(biāo)簽結(jié)構(gòu)實(shí)例SparcSolaris的磁盤(pán)標(biāo)簽結(jié)構(gòu)參數(shù)見(jiàn)表5-3。表5-3SparcSolaris的磁盤(pán)標(biāo)簽結(jié)構(gòu)參數(shù)注意Sparc架構(gòu)的Solaris存儲(chǔ)數(shù)據(jù)的字節(jié)序?yàn)锽ig-Endian。(1)ASCII明碼標(biāo)簽SparcSolaris的磁盤(pán)標(biāo)簽扇區(qū)首先用128個(gè)字節(jié)描述當(dāng)前磁盤(pán)的ASCII明碼標(biāo)簽,該標(biāo)簽中一般會(huì)包含磁盤(pán)的型號(hào)參數(shù)及容量參數(shù)。在圖5-3的例子中,從ASCII明碼標(biāo)簽中可以看出該磁盤(pán)型號(hào)為“ST3146707LC”,說(shuō)明這是一塊品牌為希捷、容量為146GB的SCSI硬盤(pán);還能看出磁盤(pán)的柱面數(shù)為35627、磁頭數(shù)為64、每磁道扇區(qū)數(shù)為128。(2)卷內(nèi)容表(VTOC)從SparcSolaris磁盤(pán)標(biāo)簽扇區(qū)的偏移80H處開(kāi)始,有134個(gè)字節(jié)用來(lái)描述磁盤(pán)中切片的個(gè)數(shù)、標(biāo)志、類型、時(shí)間戳等信息,這134個(gè)字節(jié)被稱為卷內(nèi)容表(VolumeTableofContents,VTOC),其具體結(jié)構(gòu)參數(shù)見(jiàn)表5-4。表5-4卷內(nèi)容表的結(jié)構(gòu)參數(shù)續(xù)表VTOC中每個(gè)切片的類型參數(shù)并不像其他分區(qū)體系那樣為每個(gè)分區(qū)指明文件系統(tǒng)類型,而是用來(lái)說(shuō)明該切片的掛載點(diǎn)。掛載點(diǎn)不同,操作系統(tǒng)將會(huì)使用不同的配置文件,盡管一個(gè)切片掛載后,事實(shí)上已經(jīng)掛載上了一個(gè)文件系統(tǒng)。例如切片類型設(shè)置為/usr/并不意味著一定要被掛載為/usr/。各種切片類型值的描述見(jiàn)表5-5。表5-5切片類型值描述下面把圖5-3所示的SparcSolaris磁盤(pán)標(biāo)簽的例子中的VTOC重點(diǎn)參數(shù)列舉一下,具體見(jiàn)表5-6。表5-6VTOC參數(shù)舉例續(xù)表(3)磁盤(pán)參數(shù)從SparcSolaris磁盤(pán)標(biāo)簽扇區(qū)的偏移1A4H處開(kāi)始,有20個(gè)字節(jié)用來(lái)描述磁盤(pán)的參數(shù)信息,包括磁盤(pán)轉(zhuǎn)速、柱面數(shù)、磁頭數(shù)、每磁道扇區(qū)數(shù)等。下面把圖5-3所示的SparcSolaris磁盤(pán)標(biāo)簽的例子中的磁盤(pán)參數(shù)列舉一下,具體見(jiàn)表5-7。表5-7磁盤(pán)參數(shù)舉例(4)切片表從SparcSolaris磁盤(pán)標(biāo)簽扇區(qū)的偏移1BCH處開(kāi)始,有64個(gè)字節(jié)用來(lái)描述切片表,切片表由8個(gè)切片表項(xiàng)組成,每個(gè)切片表項(xiàng)占用8個(gè)字節(jié),用來(lái)描述每個(gè)切片的起始地址和大小,其具體結(jié)構(gòu)參數(shù)見(jiàn)表5-8。下面把圖5-3所示的SparcSolaris磁盤(pán)標(biāo)簽的例子中的切片表列舉一下,具體見(jiàn)表5-9。表5-8切片表的結(jié)構(gòu)參數(shù)表5-9切片表舉例在SparcSolaris的切片表中,用柱面號(hào)來(lái)描述切片的開(kāi)始地址。在實(shí)際分析時(shí),需要把柱面號(hào)轉(zhuǎn)換為L(zhǎng)BA地址的扇區(qū)號(hào),具體轉(zhuǎn)換方法為柱面號(hào)×磁頭數(shù)×每磁道扇區(qū)數(shù)。以表5-9中的6號(hào)切片為例,該切片起始于16158號(hào)柱面,要把它轉(zhuǎn)換為扇區(qū)號(hào),先從磁盤(pán)標(biāo)簽的磁盤(pán)參數(shù)中查看磁頭數(shù)和每磁道扇區(qū)數(shù)的值,分別為64和128,則16158號(hào)柱面對(duì)應(yīng)的扇區(qū)號(hào)計(jì)算方法為16158×64×128=135315456,利用這個(gè)值就能找到6號(hào)切片的開(kāi)始地址了。(5)簽名值及校驗(yàn)和從SparcSolaris磁盤(pán)標(biāo)簽扇區(qū)的偏移1FCH處開(kāi)始,有兩個(gè)字節(jié)作為磁盤(pán)標(biāo)簽的簽名值,該值固定為十六進(jìn)制的“DABE”。SparcSolaris磁盤(pán)標(biāo)簽扇區(qū)的最后兩個(gè)字節(jié),是該扇區(qū)的校驗(yàn)和。5.2.3SparcSolaris分區(qū)恢復(fù)實(shí)例UNIX系統(tǒng)以穩(wěn)定著稱,其結(jié)構(gòu)很難被破壞,除非是一些人為的誤操作。Sparc架構(gòu)的Solaris系統(tǒng)穩(wěn)定性也非常好,其磁盤(pán)標(biāo)簽扇區(qū)損壞的概率很小,但是如果磁盤(pán)標(biāo)簽一旦被破壞,修復(fù)的難度也比較大。因?yàn)榇疟P(pán)標(biāo)簽中的參數(shù)太多,并且Solaris系統(tǒng)的校驗(yàn)也很?chē)?yán)格,如果某些參數(shù)計(jì)算的不正確,就會(huì)導(dǎo)致系統(tǒng)無(wú)法引導(dǎo),或者切片無(wú)法掛載。但并不是說(shuō)SparcSolaris的磁盤(pán)標(biāo)簽就不能修復(fù)。如果磁盤(pán)標(biāo)簽遭到破壞,可以從文件系統(tǒng)的超級(jí)塊中直接或間接獲得大部分磁盤(pán)標(biāo)簽中的參數(shù),利用這些參數(shù)修復(fù)磁盤(pán)標(biāo)簽還是有可能的。不過(guò)我們是以恢復(fù)數(shù)據(jù)為目的,所以可以采用一些變通的方法得到數(shù)據(jù)。因?yàn)榧词勾疟P(pán)標(biāo)簽修復(fù)好了,但是通不過(guò)系統(tǒng)的校驗(yàn),切片就無(wú)法掛載,依然無(wú)法訪問(wèn)數(shù)據(jù)。下面就通過(guò)一個(gè)實(shí)例講解Sparc架構(gòu)的Solaris磁盤(pán)標(biāo)簽被破壞后數(shù)據(jù)的恢復(fù)方法。一臺(tái)SparcSolaris的工作站,用戶一次將硬盤(pán)拆出來(lái)連接到一臺(tái)Windows系統(tǒng)的PC上,結(jié)果硬盤(pán)被Windows系統(tǒng)初始化為MBR磁盤(pán),也就是硬盤(pán)的第一個(gè)扇區(qū)被寫(xiě)入了MBR結(jié)構(gòu),如圖5-4所示。圖5-4磁盤(pán)標(biāo)簽被初始化為MBR用戶再次把這塊硬盤(pán)接回SparcSolaris工作站,系統(tǒng)就無(wú)法啟動(dòng)了,磁盤(pán)中的切片也都無(wú)法識(shí)別。下面開(kāi)始恢復(fù)這塊SparcSolaris系統(tǒng)磁盤(pán)中的數(shù)據(jù),在恢復(fù)過(guò)程中需要用到UFS文件系統(tǒng)的知識(shí)。讀者可以先學(xué)習(xí)后面章節(jié)的相關(guān)內(nèi)容,再回過(guò)頭來(lái)學(xué)習(xí)此案例。用WinHex打開(kāi)這塊硬盤(pán),第一個(gè)扇區(qū)已經(jīng)變成MBR,沒(méi)有任何信息可以參考,往下搜索超級(jí)塊,Sparc架構(gòu)Solaris超級(jí)塊的簽名值為“00011954”,搜索的設(shè)置如圖5-5所示。很快就在16號(hào)扇區(qū)找到了簽名值,如圖5-6所示。圖5-5搜索超級(jí)塊的簽名值圖5-6搜索到的簽名值通過(guò)超級(jí)塊的結(jié)構(gòu)可以看出該Solaris使用的是UFS1文件系統(tǒng)。UFS1文件系統(tǒng)的超級(jí)塊占用4個(gè)扇區(qū),在第一個(gè)扇區(qū)中記錄著文件系統(tǒng)包含的段數(shù)和每個(gè)段的字節(jié)數(shù)。用這兩個(gè)值相乘就可算出切片的大小。簽名值位于超級(jí)塊的第3個(gè)扇區(qū)。返回到超級(jí)塊的第一個(gè)扇區(qū),需要的兩個(gè)參數(shù)就在這個(gè)扇區(qū),如圖5-7所示。圖5-716號(hào)扇區(qū)超級(jí)塊中的兩個(gè)重要參數(shù)從圖5-7中可以看到該文件系統(tǒng)包含的段數(shù)為“0063ABF0”,換算為十進(jìn)制等于6532080,說(shuō)明文件系統(tǒng)占用6532080個(gè)段;每段字節(jié)數(shù)為“00000400”,換算為十進(jìn)制等于1024,說(shuō)明每個(gè)段為兩個(gè)扇區(qū),所以該文件系統(tǒng)總扇區(qū)為6532080×2=13064160扇區(qū)。因?yàn)閁FS1文件系統(tǒng)的超級(jí)塊一般位于切片的16號(hào)扇區(qū),所以可以說(shuō)明該磁盤(pán)的第一個(gè)切片起始于0號(hào)扇區(qū),大小為剛才算出的13064160扇區(qū)。再跳轉(zhuǎn)到磁盤(pán)的13064160號(hào)扇區(qū),這里應(yīng)該是磁盤(pán)的第二個(gè)切片的開(kāi)始,但是從13064160扇區(qū)往后的16號(hào)扇區(qū)并沒(méi)有超級(jí)塊,這可能是個(gè)不能掛載的Swap切片,不用管它,繼續(xù)往后搜索超級(jí)塊的簽名值。結(jié)果在14663536號(hào)扇區(qū)又搜索到一個(gè)超級(jí)塊,如圖5-8所示。圖5-814663536號(hào)扇區(qū)超級(jí)塊中的兩個(gè)重要參數(shù)從圖5-8中可以看到該文件系統(tǒng)包含的段數(shù)為“009C4320”,換算為十進(jìn)制等于10240800,說(shuō)明文件系統(tǒng)占用10240800個(gè)段;每段字節(jié)數(shù)為“00000400”,換算為十進(jìn)制等于1024,說(shuō)明每個(gè)段為兩個(gè)扇區(qū),所以該文件系統(tǒng)總扇區(qū)為10240800×2=20481600扇區(qū)。因?yàn)閁FS1文件系統(tǒng)的超級(jí)塊一般位于切片的16號(hào)扇區(qū),所以可以說(shuō)明該切片起始于14663520號(hào)扇區(qū),大小為剛才算出的20481600扇區(qū)。用上一個(gè)切片的開(kāi)始扇區(qū)號(hào)14663520加上其扇區(qū)總數(shù)20481600,結(jié)果等于35145120,這就是下一個(gè)切片的開(kāi)始扇區(qū)了。用WinHex跳轉(zhuǎn)到磁盤(pán)的35145120號(hào)扇區(qū),這里應(yīng)該是磁盤(pán)的下一個(gè)切片的開(kāi)始,往后再跳轉(zhuǎn)16個(gè)扇區(qū),果然是超級(jí)塊,如圖5-9所示。圖5-935145120號(hào)扇區(qū)超級(jí)塊中的兩個(gè)重要參數(shù)從圖5-9中可以看到該文件系統(tǒng)包含的段數(shù)為“00A41348”,換算為十進(jìn)制等于10752840,說(shuō)明文件系統(tǒng)占用10752840個(gè)段;每段字節(jié)數(shù)為“00000400”,換算為十進(jìn)制等于1024,說(shuō)明每個(gè)段為兩個(gè)扇區(qū),所以該文件系統(tǒng)總扇區(qū)為10752840×2=21505680扇區(qū)。這樣就可以判斷該切片起始于35145120號(hào)扇區(qū),大小為剛才算出的21505680扇區(qū)。再用該切片的開(kāi)始扇區(qū)號(hào)35145120加上其扇區(qū)總數(shù)21505680,結(jié)果等于56650800,這已經(jīng)接近磁盤(pán)的尾部了,說(shuō)明后面不再有切片。經(jīng)過(guò)以上分析可知磁盤(pán)一共分了四個(gè)切片,其中一個(gè)是Swap切片,可以不用理會(huì),其他三個(gè)切片有用戶的數(shù)據(jù),那么如何能夠訪問(wèn)這三個(gè)切片的數(shù)據(jù)呢?這里有兩種辦法,一是修復(fù)磁盤(pán)第一個(gè)扇區(qū)的磁盤(pán)標(biāo)簽,修復(fù)成功后系統(tǒng)就能夠掛載各個(gè)切片,雖比較麻煩,但可以嘗試;二是借助第三方工具直接讀取剛才分析的三個(gè)切片,相對(duì)容易,我們具體講解這個(gè)方法。通過(guò)剛才的分析已經(jīng)知道該系統(tǒng)使用UFS1文件系統(tǒng),所以需要找一個(gè)能夠支持UFS1文件系統(tǒng)的工具,這里選擇R-studio這個(gè)軟件。打開(kāi)R-studio,對(duì)目標(biāo)磁盤(pán)做三個(gè)區(qū)域,區(qū)域的具體做法本書(shū)前面的章節(jié)已經(jīng)通過(guò)案例詳細(xì)講解過(guò),這里不再重復(fù)了。做完區(qū)域后就可以直接看到顯示為“DirectVolume”的三個(gè)切片了,如圖5-10所示。從圖5-10中可以看到,R-studio已經(jīng)識(shí)別出每個(gè)切片為UFS1文件系統(tǒng),現(xiàn)在只需要雙擊每一個(gè)“DirectVolume”就能看到數(shù)據(jù)了,如圖5-11所示。圖5-10顯示為“DirectVolume”的三個(gè)切片圖5-11“DirectVolume”中顯示的數(shù)據(jù)到這里,就把一個(gè)Sparc架構(gòu)的Solaris磁盤(pán)中的數(shù)據(jù)全部恢復(fù)了。5.2.4x86Solaris分區(qū)結(jié)構(gòu)分析Sun公司的Solaris主要針對(duì)公司自己的處理器Sparc來(lái)開(kāi)發(fā),并且各大軟件和應(yīng)用程序廠商對(duì)Sparc平臺(tái)的支持也算比較好,但是Sun公司為了應(yīng)對(duì)Linux帶來(lái)的壓力,也加大了x86平臺(tái)上的Solaris系統(tǒng)的開(kāi)發(fā)力度。與運(yùn)行在工作站上的SparcSolaris相比,x86Solaris性能較差,并且各大軟件和應(yīng)用程序廠商對(duì)x86Solaris的支持也不夠好,這也是x86Solaris所面臨的困境。1.x86Solaris磁盤(pán)布局如果把Solaris系統(tǒng)安裝在x86架構(gòu)的計(jì)算機(jī)上,Solaris系統(tǒng)會(huì)在磁盤(pán)上創(chuàng)建幾個(gè)MBR磁盤(pán)分區(qū),也就是傳統(tǒng)的DOS分區(qū)。提示只能創(chuàng)建主DOS分區(qū),不能創(chuàng)建擴(kuò)展DOS分區(qū)。Solaris系統(tǒng)一般會(huì)在磁盤(pán)上創(chuàng)建兩個(gè)到三個(gè)主DOS分區(qū),其中一個(gè)是Solaris系統(tǒng)的引導(dǎo)分區(qū),分區(qū)類型為“BEH”,該分區(qū)沒(méi)有文件系統(tǒng),只是用來(lái)存放啟動(dòng)系統(tǒng)的引導(dǎo)程序。另一個(gè)主DOS分區(qū)是Solaris系統(tǒng)的文件系統(tǒng)分區(qū),分區(qū)類型為“82H”?!?2H”這個(gè)分區(qū)類型有兩個(gè)含義,一是作為L(zhǎng)inux系統(tǒng)的Swap分區(qū),另外就是作為Solaris系統(tǒng)的文件系統(tǒng)分區(qū)。在這個(gè)作為Solaris文件系統(tǒng)的主DOS分區(qū)內(nèi),會(huì)有一個(gè)或多個(gè)Solaris切片,這才是Solaris系統(tǒng)使用的空間。磁盤(pán)上還可能有一個(gè)FAT類型的主DOS分區(qū),但也可以沒(méi)有。綜上所述,一個(gè)完整的x86架構(gòu)的Solaris磁盤(pán)布局的例子如圖5-12所示。圖5-12x86架構(gòu)的Solaris磁盤(pán)布局再用WinHex查看一個(gè)x86架構(gòu)的Solaris磁盤(pán)的第一個(gè)扇區(qū),也就是MBR扇區(qū),如圖5-13所示。圖5-13x86架構(gòu)Solaris磁盤(pán)的MBR扇區(qū)可以看出x86架構(gòu)Solaris磁盤(pán)的MBR扇區(qū)與Windows下的MBR還是很像的,只是引導(dǎo)程序差別大一些。2.Solaris文件系統(tǒng)分區(qū)結(jié)構(gòu)在類型為“82H”的主DOS分區(qū)內(nèi),是x86Solaris的文件系統(tǒng)分區(qū)。這部分空間類似于Sparc架構(gòu)的Solaris磁盤(pán)布局,其中也有磁盤(pán)標(biāo)簽和若干個(gè)Solaris切片,不過(guò)磁盤(pán)標(biāo)簽位于該DOS分區(qū)內(nèi)的第二個(gè)扇區(qū)。下面就以圖5-13中分區(qū)表第三項(xiàng)所描述的Solaris文件系統(tǒng)分區(qū)為例,具體講解Solaris文件系統(tǒng)分區(qū)的結(jié)構(gòu)。注意x86架構(gòu)的Solaris系統(tǒng)使用Little-Endian的字節(jié)序。這個(gè)主DOS分區(qū)開(kāi)始于“0068ABEB”扇區(qū),十進(jìn)制為6859755,所以Solaris文件系統(tǒng)分區(qū)中的磁盤(pán)標(biāo)簽就位于下一個(gè)扇區(qū),即6859756號(hào)扇區(qū)。用WinHex跳轉(zhuǎn)到此扇區(qū),其內(nèi)容如圖5-14所示。圖5-14x86架構(gòu)Solaris磁盤(pán)標(biāo)簽實(shí)例x86架構(gòu)Solaris系統(tǒng)的磁盤(pán)標(biāo)簽大部分空間被卷內(nèi)容表(VTOC)占據(jù)。從該扇區(qū)的00偏移處到1C7H偏移處共456個(gè)字節(jié)都屬于VTOC。在VTOC中又包含簽名值、切片表及ASCII明碼的標(biāo)簽,在VTOC后面是磁盤(pán)參數(shù)、第二個(gè)簽名值及校驗(yàn)和。x86架構(gòu)Solaris磁盤(pán)標(biāo)簽的具體結(jié)構(gòu)參數(shù)見(jiàn)表5-10。表5-10x86架構(gòu)Solaris磁盤(pán)標(biāo)簽的結(jié)構(gòu)參數(shù)注:x86架構(gòu)的Solaris存儲(chǔ)數(shù)據(jù)的字節(jié)序?yàn)長(zhǎng)ittle-Endian.(1)切片表結(jié)構(gòu)從x86Solaris磁盤(pán)標(biāo)簽的偏移48H處開(kāi)始,有192個(gè)字節(jié)用來(lái)描述切片表。切片表由16個(gè)切片表項(xiàng)組成,每個(gè)切片表項(xiàng)占用12個(gè)字節(jié),用來(lái)描述每個(gè)切片的類型、標(biāo)志、起始地址和大小,其具體結(jié)構(gòu)參數(shù)見(jiàn)表5-11(本表僅列出16個(gè)切片表項(xiàng)中的前8個(gè))。表5-11切片表的結(jié)構(gòu)參數(shù)提示從切片表中可以看出,每個(gè)切片的起始位置用扇區(qū)號(hào)描述,而不像Sparc架構(gòu)中切片的起始地址用柱面號(hào)描述。下面把圖5-14所示的x86Solaris磁盤(pán)標(biāo)簽例子中的切片表列舉一下,具體見(jiàn)表5-12。表5-12x86Solaris切片表舉例續(xù)表在x86Solaris的切片表中,每個(gè)切片的開(kāi)始扇區(qū)都是從x86Solaris文件系統(tǒng)主DOS分區(qū)的開(kāi)始位置計(jì)算的。例如,0號(hào)切片表項(xiàng)描述的切片開(kāi)始扇區(qū)為1015056,該x86Solaris文件系統(tǒng)主DOS分區(qū)的開(kāi)始位置是6859755,所以0號(hào)切片在磁盤(pán)中的開(kāi)始扇區(qū)號(hào)為6859755+1015056=7874811,利用這個(gè)值就能找到0號(hào)切片在磁盤(pán)中的開(kāi)始地址了。(2)ASCII明碼標(biāo)簽x86Solaris的磁盤(pán)標(biāo)簽把ASCII明碼標(biāo)簽放在VTOC的尾部。該標(biāo)簽中一般會(huì)包含磁盤(pán)的型號(hào)參數(shù)及容量參數(shù)。在圖5-14的例子中,從ASCII明碼標(biāo)簽中可以看出該磁盤(pán)型號(hào)為“DEFAULT”,即“默認(rèn)”;還能看出磁盤(pán)的柱面數(shù)為10168,磁頭數(shù)為16,每磁道扇區(qū)數(shù)為63。(3)磁盤(pán)參數(shù)從x86Solaris磁盤(pán)標(biāo)簽扇區(qū)的偏移1C8H處開(kāi)始描述磁盤(pán)的參數(shù)信息,包括磁盤(pán)轉(zhuǎn)速、柱面數(shù)、磁頭數(shù)、每磁道扇區(qū)數(shù)等。下面把圖5-14所示的x86Solaris磁盤(pán)標(biāo)簽的例子中的磁盤(pán)參數(shù)列舉一下,具體見(jiàn)表5-13。表5-13磁盤(pán)參數(shù)舉例(4)簽名值及校驗(yàn)和x86Solaris的磁盤(pán)標(biāo)簽中有兩個(gè)簽名值:在偏移0CH~0FH處有4個(gè)字節(jié)作為磁盤(pán)標(biāo)簽的第一個(gè)簽名值,該值固定為十六進(jìn)制數(shù)值“600DDEEE”;在偏移1FCH~1FDH處,有兩個(gè)字節(jié)作為磁盤(pán)標(biāo)簽的第二個(gè)簽名值,該值固定為十六進(jìn)制的“DABE”。x86Solaris磁盤(pán)標(biāo)簽扇區(qū)的最后兩個(gè)字節(jié),是該扇區(qū)的校驗(yàn)和。5.2.5x86Solaris分區(qū)恢復(fù)實(shí)例使用x86架構(gòu)的Solaris磁盤(pán)上都會(huì)有一個(gè)MBR扇區(qū),MBR中有兩個(gè)到三個(gè)主DOS分區(qū)。其中一個(gè)是Solaris系統(tǒng)的引導(dǎo)分區(qū),分區(qū)類型為“BEH”,該分區(qū)沒(méi)有文件系統(tǒng),只是用來(lái)存放啟動(dòng)系統(tǒng)的引導(dǎo)程序。另外一個(gè)主DOS分區(qū)是Solaris系統(tǒng)的文件系統(tǒng)分區(qū),分區(qū)類型為“82H”。在這個(gè)作為Solaris文件系統(tǒng)的主DOS分區(qū)內(nèi),會(huì)有一個(gè)或多個(gè)Solaris切片。如果這個(gè)主DOS分區(qū)內(nèi)的磁盤(pán)標(biāo)簽遭到破壞,可以用5.2.3節(jié)講到的Sparc架構(gòu)的恢復(fù)方法進(jìn)行恢復(fù),這里就不再重復(fù)了。如果x86架構(gòu)Solaris磁盤(pán)的MBR被破壞,恢復(fù)起來(lái)相對(duì)容易,主要是恢復(fù)分區(qū)表。第一個(gè)分區(qū)表項(xiàng)有可能是一個(gè)FAT類型的主DOS分區(qū),可以通過(guò)搜索FAT的DBR扇區(qū)對(duì)這個(gè)分區(qū)表項(xiàng)進(jìn)行修復(fù)。第二個(gè)分區(qū)表項(xiàng)是x86Solaris的引導(dǎo)分區(qū),這個(gè)分區(qū)表項(xiàng)類型為“BEH”,開(kāi)始扇區(qū)就在FAT分區(qū)結(jié)束位置的下一個(gè)扇區(qū)。該分區(qū)大小的判斷方法是搜索第三個(gè)分區(qū)的開(kāi)始位置,其開(kāi)始位置之前就是第二個(gè)分區(qū)的結(jié)束扇區(qū),這樣就能算出第二個(gè)分區(qū)的扇區(qū)總數(shù)。第三個(gè)分區(qū)是Solaris系統(tǒng)的文件系統(tǒng)分區(qū),其開(kāi)始位置的第二個(gè)扇區(qū)就是磁盤(pán)標(biāo)簽。可以利用磁盤(pán)標(biāo)簽的簽名值搜索它的位置,搜索到磁盤(pán)標(biāo)簽后,往前返回一個(gè)扇區(qū),就是Solaris系統(tǒng)的文件系統(tǒng)分區(qū)開(kāi)始扇區(qū)了,其大小一直延伸到磁盤(pán)末尾。5.2.6FreeBSD分區(qū)結(jié)構(gòu)分析BSDUNIX在UNIX的歷史發(fā)展中具有相當(dāng)大的影響力,被很多商業(yè)廠家采用,成為很多商用UNIX的基礎(chǔ),并且BSDUNIX最先實(shí)現(xiàn)了TCP/IP,使Internet和UNIX緊密結(jié)合在一起。后來(lái)從BSDUNIX發(fā)展出FreeBSD、OpenBSD、NetBSD、DragonflyBSD等分支,其中以FreeBSD使用最為廣泛,尤其是在NAS系統(tǒng)中,因其是一款完全開(kāi)源的自由軟件。FreeBSD是一個(gè)穩(wěn)定、高效、可靠的操作系統(tǒng),它既可以用于大型服務(wù)器上,也可以應(yīng)用在個(gè)人計(jì)算機(jī)中,從而使得個(gè)人也能擁有高性能的UNIX工作站。1.FreeBSD分區(qū)的特點(diǎn)及命名在FreeBSD系統(tǒng)中分區(qū)同樣也是一個(gè)文件。在訪問(wèn)分區(qū)前,需要把分區(qū)掛載到某個(gè)目錄下。FreeBSD系統(tǒng)與其他UNIX類操作系統(tǒng)的路徑組織結(jié)構(gòu)雖基本相同,但也存在一些小的差別。表5-14是FreeBSD系統(tǒng)中常用的默認(rèn)目錄。表5-14FreeBSD系統(tǒng)中常用的默認(rèn)目錄FreeBSD系統(tǒng)基本都應(yīng)用于x86架構(gòu)上,所以它使用MBR磁盤(pán)結(jié)構(gòu)。就像x86架構(gòu)的Solaris系統(tǒng)一樣,用主DOS分區(qū)表在磁盤(pán)上劃分出相應(yīng)區(qū)域,然后在這些區(qū)域內(nèi)建立自己的FreeBSD分區(qū)。主DOS分區(qū)表所劃分的區(qū)域可以安裝Windows系列的操作系統(tǒng),也就是說(shuō),F(xiàn)reeBSD系統(tǒng)既可以訪問(wèn)自己的分區(qū),也可以訪問(wèn)FAT、NTFS等Windows系統(tǒng)下的文件系統(tǒng)。提示FreeBSD系統(tǒng)把磁盤(pán)上的DOS分區(qū)稱為“切片(slice)”,而把自己的FreeBSD結(jié)構(gòu)的分區(qū)稱為“分區(qū)(partition)”。這一點(diǎn)剛好與x86架構(gòu)的Solaris系統(tǒng)相反,請(qǐng)注意區(qū)分。如果一個(gè)磁盤(pán)既安裝了Windows系統(tǒng),也安裝了FreeBSD系統(tǒng),當(dāng)運(yùn)行于FreeBSD系統(tǒng)下時(shí),該系統(tǒng)也可以訪問(wèn)Windows系統(tǒng)中的切片。FreeBSD將每個(gè)分區(qū)和切片視為特殊設(shè)備文件,并依據(jù)它們的DOS切片號(hào)和FreeBSD分區(qū)號(hào)對(duì)其進(jìn)行命名。第一IDE接口的主磁盤(pán)命名為/dev/ad0,磁盤(pán)上的每個(gè)切片用字母“S”加上切片號(hào)進(jìn)行命名。例如,第一個(gè)切片命名為/dev/ad0s1,第二個(gè)切片命名為/dev/ad0s2。包含F(xiàn)reeBSD結(jié)構(gòu)分區(qū)的切片內(nèi)部則進(jìn)一步由磁盤(pán)標(biāo)簽進(jìn)行管理,劃分為若干個(gè)分區(qū),每個(gè)分區(qū)根據(jù)它在磁盤(pán)標(biāo)簽中分區(qū)表項(xiàng)的順序來(lái)分配字母。例如,磁盤(pán)中第二個(gè)切片為FreeBSD的切片,切片中的第一個(gè)FreeBSD分區(qū)為/dev/ad0s2a,第二個(gè)FreeBSD分區(qū)為/dev/ad0s2b。另外,F(xiàn)reeBSD系統(tǒng)訪問(wèn)自己的分區(qū)時(shí)可以不加切片號(hào),如在剛才的例子中,/dev/ad0a與/dev/ad0s2a是同一個(gè)分區(qū)。注意在FreeBSD系統(tǒng)中,分區(qū)的命名字母有特殊的規(guī)定:字母“a”用于根分區(qū),存儲(chǔ)引導(dǎo)代碼;字母“b”用于Swap(交換)分區(qū);字母“c”用于描述FreeBSD分區(qū)所在的整個(gè)切片;其他的分區(qū)由字母“d”開(kāi)始依次往后分配。2.FreeBSD磁盤(pán)布局FreeBSD系統(tǒng)應(yīng)用于x86架構(gòu)上,所以FreeBSD磁盤(pán)的第一個(gè)扇區(qū)為MBR。MBR中會(huì)有幾個(gè)主DOS分區(qū),這些主DOS分區(qū)被FreeBSD系統(tǒng)稱為切片,切片中可以是FAT文件系統(tǒng),也可以是NTFS,但至少一個(gè)切片給FreeBSD分區(qū)使用,或者全部的切片都用于FreeBSD分區(qū)。描述FreeBSD區(qū)域的主DOS分區(qū)表項(xiàng)的分區(qū)類型被定義為十六進(jìn)制數(shù)值“A5”。一個(gè)完整的FreeBSD系統(tǒng)磁盤(pán)布局的例子如圖5-15所示。圖5-15FreeBSD系統(tǒng)的磁盤(pán)布局再用WinHex查看一個(gè)FreeBSD系統(tǒng)磁盤(pán)的第一個(gè)扇區(qū),也就是MBR扇區(qū),如圖5-16所示??梢钥闯鯢reeBSD磁盤(pán)的MBR扇區(qū)與Windows下的MBR也是很像的,只是引導(dǎo)程序的內(nèi)容差別大一些。在該MBR的分區(qū)表中,有兩個(gè)類型為“A5H”的主DOS分區(qū),“A5H”就代表FreeBSD系統(tǒng)。FreeBSD系統(tǒng)把這兩個(gè)主DOS分區(qū)表項(xiàng)所描述的空間稱為切片。在這兩個(gè)切片的內(nèi)部,是FreeBSD系統(tǒng)的分區(qū)。圖5-16FreeBSD系統(tǒng)磁盤(pán)的MBR扇區(qū)3.FreeBSD切片的結(jié)構(gòu)在類型為“A5H”的主DOS分區(qū)內(nèi),是FreeBSD系統(tǒng)的分區(qū)。這部分空間內(nèi)的第一個(gè)扇區(qū)用于存放系統(tǒng)的引導(dǎo)程序,第二個(gè)扇區(qū)是FreeBSD分區(qū)的磁盤(pán)標(biāo)簽,第三個(gè)扇區(qū)往后依然是系統(tǒng)的引導(dǎo)程序。因?yàn)?號(hào)扇區(qū)存放不下所有的引導(dǎo)程序,跨過(guò)被磁盤(pán)標(biāo)簽占用的1號(hào)扇區(qū)繼續(xù)存放引導(dǎo)程序,直到文件系統(tǒng)的超級(jí)塊開(kāi)始之前。超級(jí)塊一般開(kāi)始于16號(hào)扇區(qū)。下面就以圖5-16中分區(qū)表第一項(xiàng)所描述的FreeBSD分區(qū)為例,具體講解FreeBSD分區(qū)的結(jié)構(gòu)。注意x86架構(gòu)下的FreeBSD系統(tǒng)使用Little-Endian字節(jié)序。這個(gè)主DOS分區(qū)開(kāi)始于“0000003F”扇區(qū),十進(jìn)制為63,所以FreeBSD分區(qū)中的磁盤(pán)標(biāo)簽就位于下一個(gè)扇區(qū),即64號(hào)扇區(qū)。用WinHex跳轉(zhuǎn)到此扇區(qū),其內(nèi)容如圖5-17所示。圖5-17FreeBSD磁盤(pán)標(biāo)簽實(shí)例FreeBSD磁盤(pán)標(biāo)簽的具體結(jié)構(gòu)參數(shù)見(jiàn)表5-15。表5-15FreeBSD磁盤(pán)標(biāo)簽的結(jié)構(gòu)參數(shù)FreeBSD磁盤(pán)標(biāo)簽的分區(qū)表中預(yù)留了16個(gè)分區(qū)表項(xiàng)的位置,每個(gè)分區(qū)表項(xiàng)占用16個(gè)字節(jié)。分區(qū)表項(xiàng)的具體結(jié)構(gòu)見(jiàn)表5-16。表5-16分區(qū)表項(xiàng)的結(jié)構(gòu)參數(shù)分區(qū)表項(xiàng)中文件系統(tǒng)類型的具體分類見(jiàn)表5-17。表5-17文件系統(tǒng)類型的具體分類(1)磁盤(pán)信息從FreeBSD磁盤(pán)標(biāo)簽的偏移04H處開(kāi)始描述磁盤(pán)的參數(shù)信息,包括磁盤(pán)轉(zhuǎn)速、柱面數(shù)、磁頭數(shù)、每磁道扇區(qū)數(shù)等。下面把圖5-17所示的FreeBSD磁盤(pán)標(biāo)簽的例子中的磁盤(pán)信息列舉一下,具體見(jiàn)表5-18。表5-18磁盤(pán)參數(shù)舉例(2)分區(qū)表FreeBSD磁盤(pán)標(biāo)簽的分區(qū)表中預(yù)留了16個(gè)分區(qū)表項(xiàng)的位置。下面以圖5-17所示的FreeBSD磁盤(pán)標(biāo)簽為例具體分析一下分區(qū)表內(nèi)的數(shù)值。在磁盤(pán)標(biāo)簽的偏移8AH~8BH處描述該磁盤(pán)標(biāo)簽中包含的分區(qū)表項(xiàng)數(shù),當(dāng)前值為8,說(shuō)明本例的磁盤(pán)標(biāo)簽中只分配了8個(gè)表項(xiàng)的空間,再具體看分區(qū)表中,目前只使用了一個(gè)表項(xiàng),該表項(xiàng)具體信息見(jiàn)表5-19。表5-19分區(qū)表參數(shù)舉例(3)簽名值及校驗(yàn)和FreeBSD的磁盤(pán)標(biāo)簽中有兩個(gè)簽名值:在偏移00H~03H處有4個(gè)字節(jié)作為磁盤(pán)標(biāo)簽的第一個(gè)簽名值,該值固定為十六進(jìn)制數(shù)值“57455682”;在偏移84H~87H處,有4個(gè)字節(jié)作為磁盤(pán)標(biāo)簽的第二個(gè)簽名值,與第一個(gè)簽名值一樣,也是固定為十六進(jìn)制的“57455682”。FreeBSD磁盤(pán)標(biāo)簽扇區(qū)偏移88H~89H處的兩個(gè)字節(jié),是該扇區(qū)的校驗(yàn)和。5.2.7FreeBSD分區(qū)恢復(fù)實(shí)例FreeBSD系統(tǒng)所在的磁盤(pán)第一個(gè)扇區(qū)也是MBR。MBR中的分區(qū)表也像Windows系統(tǒng)下的分區(qū)表一樣有被破壞的可能性。下面將通過(guò)一個(gè)實(shí)例講解FreeBSD系統(tǒng)中MBR扇區(qū)的分區(qū)表遭受破壞的恢復(fù)方法。一塊80GB的硬盤(pán)用在FreeBSD系統(tǒng)中,系統(tǒng)突然無(wú)法引導(dǎo)。將硬盤(pán)取下連接在Windows系統(tǒng)中,用WinHex編輯該硬盤(pán),發(fā)現(xiàn)MBR扇區(qū)中的分區(qū)表已被清空,如圖5-18所示。圖5-18FreeBSD系統(tǒng)的MBR扇區(qū)FreeBSD系統(tǒng)的MBR扇區(qū)中分區(qū)表被完全清零,結(jié)束標(biāo)志“55AA”也被清除,該硬盤(pán)原來(lái)分為幾個(gè)切片從當(dāng)前扇區(qū)中已經(jīng)無(wú)法知道?;謴?fù)該硬盤(pán)的思路就是找到每個(gè)FreeBSD分區(qū)的磁盤(pán)標(biāo)簽。通過(guò)磁盤(pán)標(biāo)簽中的參數(shù)確定切片的開(kāi)始扇區(qū)及扇區(qū)總數(shù),就可以重建MBR的分區(qū)表了。FreeBSD的磁盤(pán)標(biāo)簽扇區(qū)的前四個(gè)字節(jié)是簽名值,固定為十六進(jìn)制值“57455682”,只要在硬盤(pán)中搜索這四個(gè)字節(jié)就可以找到FreeBSD的磁盤(pán)標(biāo)簽。用WinHex搜索FreeBSD磁盤(pán)標(biāo)簽的設(shè)置方法如圖5-19所示。參數(shù)設(shè)置好后單擊“確定”按鈕開(kāi)始搜索,很快在16066扇區(qū)搜索到一個(gè)磁盤(pán)標(biāo)簽,如圖5-20所示。圖5-19搜索FreeBSD磁盤(pán)標(biāo)簽的參數(shù)設(shè)置圖5-20搜索到的第一個(gè)磁盤(pán)標(biāo)簽這是搜索到的第一個(gè)磁盤(pán)標(biāo)簽,從磁盤(pán)標(biāo)簽的分區(qū)表中看到只有一個(gè)分區(qū)表項(xiàng):分區(qū)的大小為“0000FB04”,換算成十進(jìn)制為64260個(gè)扇區(qū);分區(qū)開(kāi)始扇區(qū)為“00003EC1”,換算成十進(jìn)制為16065扇區(qū),也就是該磁盤(pán)標(biāo)簽的前一個(gè)扇區(qū),因?yàn)榇疟P(pán)標(biāo)簽位于FreeBSD所在切片的第二個(gè)扇區(qū)。用這個(gè)FreeBSD所在切片的開(kāi)始扇區(qū)號(hào)16065加上其扇區(qū)總數(shù)64260,就應(yīng)該是該磁盤(pán)中第二個(gè)切片的開(kāi)始扇區(qū),上兩數(shù)的和為80325,跳轉(zhuǎn)到該扇區(qū),發(fā)現(xiàn)是個(gè)空扇區(qū),往下翻動(dòng)一個(gè)扇區(qū),即80326號(hào)扇區(qū),其內(nèi)容如圖5-21所示。圖5-21硬盤(pán)的80326號(hào)扇區(qū)硬盤(pán)的80326扇區(qū)顯然是一個(gè)FreeBSD系統(tǒng)的磁盤(pán)標(biāo)簽,從磁盤(pán)標(biāo)簽的分區(qū)表中看到只有一個(gè)分區(qū)表項(xiàng):分區(qū)的大小為“000816E1”,換算成十進(jìn)制為530145個(gè)扇區(qū);分區(qū)開(kāi)始扇區(qū)為“000139C5”,換算成十進(jìn)制為80325扇區(qū),也就是該磁盤(pán)標(biāo)簽的前一個(gè)扇區(qū),因?yàn)榇疟P(pán)標(biāo)簽位于FreeBSD所在切片的第二個(gè)扇區(qū)。用這個(gè)FreeBSD所在切片的開(kāi)始扇區(qū)號(hào)80325加上其扇區(qū)總數(shù)530145,就應(yīng)該是該磁盤(pán)中第三個(gè)切片的開(kāi)始扇區(qū),上兩數(shù)的和為610470,跳轉(zhuǎn)到該扇區(qū),發(fā)現(xiàn)是個(gè)空扇區(qū),往下翻動(dòng)一個(gè)扇區(qū),即610471號(hào)扇區(qū),其內(nèi)容如圖5-22所示。圖5-22硬盤(pán)的610471號(hào)扇區(qū)硬盤(pán)的610471號(hào)扇區(qū)顯然也是一個(gè)FreeBSD系統(tǒng)的磁盤(pán)標(biāo)簽。從磁盤(pán)標(biāo)簽的分區(qū)表中看到只有一個(gè)分區(qū)表項(xiàng):分區(qū)的大小為“0947941B”,換算成十進(jìn)制為155685915個(gè)扇區(qū);分區(qū)開(kāi)始扇區(qū)為“000950A6”,換算成十進(jìn)制為610470扇區(qū),也就是該磁盤(pán)標(biāo)簽的前一個(gè)扇區(qū),因?yàn)榇疟P(pán)標(biāo)簽位于FreeBSD所在切片的第二個(gè)扇區(qū)。用這個(gè)FreeBSD所在切片的開(kāi)始扇區(qū)號(hào)610470加上其扇區(qū)總數(shù)155685915,結(jié)果等于156296385扇區(qū),已經(jīng)接近該硬盤(pán)的末尾,所以這個(gè)切片就是硬盤(pán)中最后一個(gè)切片了,后面不再有下一個(gè)切片。通過(guò)以上分析可知,該硬盤(pán)中一共有三個(gè)切片:第一個(gè)切片起始于16065扇區(qū),大小是64260個(gè)扇區(qū);第二個(gè)切片起始于80325扇區(qū),大小是530145個(gè)扇區(qū);第二個(gè)切片起始于610470扇區(qū),大小是155685915個(gè)扇區(qū),將這些數(shù)值填入MBR的分區(qū)表中即可。這三個(gè)分區(qū)的類型都是“A5H”。返回到MBR扇區(qū),首先將結(jié)束標(biāo)志“55AA”填入,然后打開(kāi)MBR模板,將分析好的數(shù)據(jù)填入,如圖5-23所示。圖5-23用MBR模板填寫(xiě)分區(qū)表分區(qū)表填寫(xiě)完成后,保存所做的修改并退出,該FreeBSD系統(tǒng)的分區(qū)表就恢復(fù)成功了。5.2.8OpenBSD分區(qū)結(jié)構(gòu)分析在BSDUNIX體系中,除了FreeBSD以外,還有OpenBSD和NetBSD也比較常見(jiàn)。這兩種BSD系統(tǒng)的分區(qū)結(jié)構(gòu)與FreeBSD大同小異,這里就以O(shè)penBSD為例作簡(jiǎn)單講解。1.OpenBSD分區(qū)的特點(diǎn)及命名在OpenBSD系統(tǒng)中分區(qū)同樣也是一個(gè)文件。在訪問(wèn)分區(qū)前,需要把分區(qū)掛載到某個(gè)目錄下。OpenBSD系統(tǒng)與FreeBSD系統(tǒng)的路徑組織結(jié)構(gòu)基本相同,讀者可以參見(jiàn)表5-14。OpenBSD系統(tǒng)基本也都應(yīng)用于x86架構(gòu)上,所以它也使用MBR磁盤(pán)結(jié)構(gòu),用主DOS分區(qū)表在磁盤(pán)上劃分出相應(yīng)區(qū)域,然后在這些區(qū)域內(nèi)建立自己的OpenBSD分區(qū)。主DOS分區(qū)表所劃分的區(qū)域可以安裝Windows系列的操作系統(tǒng),也就是說(shuō),OpenBSD系統(tǒng)既可以訪問(wèn)自己的分區(qū),也可以訪問(wèn)FAT、NTFS等Windows系統(tǒng)下的文件系統(tǒng)。提示OpenBSD系統(tǒng)并不能像FreeBSD系統(tǒng)那樣可以通過(guò)主DOS分區(qū)表直接訪問(wèn)Windows的分區(qū)。OpenBSD系統(tǒng)要想訪問(wèn)Windows的分區(qū),必須在OpenBSD的磁盤(pán)標(biāo)簽內(nèi)再一次通過(guò)自己的方式描述Windows系統(tǒng)分區(qū),才能去訪問(wèn)這些分區(qū)。再舉個(gè)例子進(jìn)一步說(shuō)明。假設(shè)有一塊硬盤(pán),它的分區(qū)表中描述了4個(gè)主DOS分區(qū),分別是FAT分區(qū)、NTFS分區(qū)、FreeBSD分區(qū)和OpenBSD分區(qū),這4個(gè)分區(qū)的類型分別為06H、07H、A5H和A6H,如圖5-24所示。圖5-24硬盤(pán)中的4個(gè)主DOS分區(qū)這塊硬盤(pán)中安裝了3種操作系統(tǒng),分別為Windows2000、FreeBSD和OpenBSD。在計(jì)算機(jī)啟動(dòng)時(shí)用戶可以通過(guò)一個(gè)引導(dǎo)窗口來(lái)選擇需要啟動(dòng)的操作系統(tǒng)。當(dāng)用戶進(jìn)入FreeBSD系統(tǒng)后,F(xiàn)reeBSD系統(tǒng)可以直接利用MBR中的主DOS分區(qū)表訪問(wèn)FAT分區(qū)和NTFS分區(qū),而不需要用磁盤(pán)標(biāo)簽再一次描述這兩個(gè)分區(qū);而當(dāng)用戶進(jìn)入OpenBSD系統(tǒng)時(shí),該系統(tǒng)卻不能直接利用MBR中的主DOS分區(qū)表訪問(wèn)FAT分區(qū)和NTFS分區(qū),而需要在自己的磁盤(pán)標(biāo)簽中再一次描述這兩個(gè)分區(qū),然后才能訪問(wèn)它們,這也就是說(shuō),OpenBSD系統(tǒng)的磁盤(pán)標(biāo)簽可以跳出它所在的DOS分區(qū)而去描述這個(gè)DOS分區(qū)以外的其他分區(qū)。提示OpenBSD系統(tǒng)中沒(méi)有“切片(Slice)”的概念,它把自己的OpenBSD結(jié)構(gòu)的分區(qū)和其他主DOS分區(qū)都統(tǒng)一稱為“分區(qū)(Partition)”。這一點(diǎn)也跟FreeBSD系統(tǒng)有很大區(qū)別。另外,OpenBSD系統(tǒng)內(nèi)核被加載后,DOS分區(qū)將會(huì)被忽略。DOS分區(qū)一般位于OpenBSD分區(qū)之前,因此,如果同時(shí)存在Windows和OpenBSD兩種操作系統(tǒng),而用戶要想通過(guò)OpenBSD系統(tǒng)訪問(wèn)一個(gè)FAT分區(qū),那么這個(gè)FAT分區(qū)必須既在DOS分區(qū)表中進(jìn)行了描述,同時(shí)也在BSD的磁盤(pán)標(biāo)簽中進(jìn)行了描述。OpenBSD也將每個(gè)分區(qū)視為特殊設(shè)備文件,對(duì)分區(qū)的命名類似于FreeBSD。主ATA設(shè)備一般為命名為/dev/wd0。OpenBSD沒(méi)有切片的概念,直接用字母對(duì)分區(qū)進(jìn)行命名,第一個(gè)OpenBSD分區(qū)為/dev/wd0a,第二個(gè)為分區(qū)/dev/wd0b。和FreeBSD一樣,第一個(gè)分區(qū)通常是根分區(qū),第二個(gè)是交換分區(qū),但第三個(gè)分區(qū)一般是指整個(gè)磁盤(pán),而不像FreeBSD中,第三個(gè)分區(qū)只是指一個(gè)切片或者一個(gè)主DOS分區(qū)。2.OpenBSD磁盤(pán)布局OpenBSD系統(tǒng)應(yīng)用于x86架構(gòu)上,所以O(shè)penBSD磁盤(pán)的第一個(gè)扇區(qū)為MBR。MBR中會(huì)有幾個(gè)主DOS分區(qū),這些主DOS分區(qū)也被OpenBSD系統(tǒng)稱為分區(qū)。分區(qū)中可以是FAT文件系統(tǒng),也可以是NTFS,但至少一個(gè)分區(qū)給OpenBSD分區(qū)使用,或者全部的分區(qū)都用于OpenBSD分區(qū)。描述OpenBSD區(qū)域的主DOS分區(qū)表項(xiàng)的分區(qū)類型被定義為十六進(jìn)制數(shù)值“A6”。綜上所述,一個(gè)完整的OpenBSD系統(tǒng)磁盤(pán)布局的例子如圖5-25所示。圖5-25OpenBSD系統(tǒng)的磁盤(pán)布局再用WinHex查看一個(gè)OpenBSD系統(tǒng)磁盤(pán)的第一個(gè)扇區(qū),也就是MBR扇區(qū),如圖5-26所示。圖5-26OpenBSD系統(tǒng)磁盤(pán)的MBR扇區(qū)可以看出OpenBSD磁盤(pán)的MBR扇區(qū)與Windows下的MBR也是很像的。在該MBR的分區(qū)表中,有一個(gè)類型為“06H”的主DOS分區(qū),還有一個(gè)類型為“A6H”的主DOS分區(qū),“A6H”就代表OpenBSD系統(tǒng)。OpenBSD系統(tǒng)把這兩個(gè)主DOS分區(qū)表項(xiàng)所描述的空間都稱為分區(qū)。在第二個(gè)分區(qū)的內(nèi)部,是OpenBSD系統(tǒng)的分區(qū)結(jié)構(gòu)。3.OpenBSD分區(qū)的結(jié)構(gòu)在類型為“A6H”的主DOS分區(qū)內(nèi),是OpenBSD系統(tǒng)的分區(qū)。這部分空間內(nèi)的第一個(gè)扇區(qū)用于存放系統(tǒng)的引導(dǎo)程序,第二個(gè)扇區(qū)是OpenBSD分區(qū)的磁盤(pán)標(biāo)簽,第三個(gè)扇區(qū)往后依然是系統(tǒng)的引導(dǎo)程序。因?yàn)?號(hào)扇區(qū)存放不下所有的引導(dǎo)程序,跨過(guò)被磁盤(pán)標(biāo)簽占用的1號(hào)扇區(qū)繼續(xù)存放引導(dǎo)程序,直到文件系統(tǒng)的超級(jí)塊開(kāi)始之前。超級(jí)塊一般開(kāi)始于16號(hào)扇區(qū)。下面就以圖5-26中分區(qū)表第二項(xiàng)所描述的OpenBSD分區(qū)為例,具體講解OpenBSD分區(qū)的結(jié)構(gòu)。注意x86架構(gòu)下的OpenBSD系統(tǒng)也使用Little-Endian字節(jié)序。這個(gè)主DOS分區(qū)開(kāi)始于“0028B126”扇區(qū),十進(jìn)制為2666790,所以O(shè)penBSD分區(qū)中的磁盤(pán)標(biāo)簽就位于下一個(gè)扇區(qū),即2666791號(hào)扇區(qū)。用WinHex跳轉(zhuǎn)到此扇區(qū),其內(nèi)容如圖5-27所示。圖5-27OpenBSD磁盤(pán)標(biāo)簽實(shí)例OpenBSD磁盤(pán)標(biāo)簽的結(jié)構(gòu)與FreeBSD類似,具體結(jié)構(gòu)參數(shù)請(qǐng)參見(jiàn)表5-15,這里就不再重復(fù)了。(1)磁盤(pán)信息從OpenBSD磁盤(pán)標(biāo)簽的偏移04H處開(kāi)始描述磁盤(pán)的參數(shù)信息,包括磁盤(pán)轉(zhuǎn)速、柱面數(shù)、磁頭數(shù)、每磁道扇區(qū)數(shù)等。下面把圖5-27所示的OpenBSD磁盤(pán)標(biāo)簽的例子中的磁盤(pán)信息列舉一下,具體見(jiàn)表5-20。表5-20OpenBSD磁盤(pán)參數(shù)舉例(2)分區(qū)表OpenBSD磁盤(pán)標(biāo)簽的分區(qū)表中預(yù)留了16個(gè)分區(qū)表項(xiàng)的位置。下面從圖5-27所示的OpenBSD磁盤(pán)標(biāo)簽的例子中具體分析一下分區(qū)表內(nèi)的數(shù)值。在磁盤(pán)標(biāo)簽的偏移8AH~8BH處描述該磁盤(pán)標(biāo)簽中包含的分區(qū)表項(xiàng)數(shù)。當(dāng)前值為10H,說(shuō)明本例的磁盤(pán)標(biāo)簽中只分配了16個(gè)表項(xiàng)的空間。再具體看分區(qū)表中,目前使用了四個(gè)表項(xiàng),第一個(gè)表項(xiàng)描述了一個(gè)文件系統(tǒng)分區(qū),其具體信息見(jiàn)表5-21。表5-21OpenBSD分區(qū)表第一個(gè)表項(xiàng)參數(shù)第二個(gè)表項(xiàng)描述了一個(gè)交換分區(qū),具體信息見(jiàn)表5-22。表5-22OpenBSD分區(qū)表第二個(gè)表項(xiàng)參數(shù)第三個(gè)表項(xiàng)描述了整個(gè)磁盤(pán),具體信息見(jiàn)表5-23。表5-23OpenBSD分區(qū)表第三個(gè)表項(xiàng)參數(shù)第四個(gè)表項(xiàng)未用,第五個(gè)表項(xiàng)描述了一個(gè)FAT分區(qū),具體信息見(jiàn)表5-24。表5-24OpenBSD分區(qū)表第五個(gè)表項(xiàng)參數(shù)(3)簽名值及校驗(yàn)和OpenBSD磁盤(pán)標(biāo)簽的簽名值與FreeBSD一樣,在偏移00H~03H處有4個(gè)字節(jié)作為磁盤(pán)標(biāo)簽的第一個(gè)簽名值,該值固定為十六進(jìn)制數(shù)值“57455682”;在偏移84H~87H處,有4個(gè)字節(jié)作為磁盤(pán)標(biāo)簽的第二個(gè)簽名值,與第一個(gè)簽名值一樣,也是固定為十六進(jìn)制的“57455682”。OpenBSD磁盤(pán)標(biāo)簽扇區(qū)偏移88H~89H處的兩個(gè)字節(jié),是該扇區(qū)的校驗(yàn)和。5.3UFS1及UFS2文件系統(tǒng)詳解5.3.1UFS文件系統(tǒng)基本介紹UFS是UNIX文件系統(tǒng)的簡(jiǎn)稱,它來(lái)源于4.3Tahoe發(fā)行版中提供的BSDFatFastFileSystem(FFS)系統(tǒng),屬于FFS的演化版本。UFS幾乎是大部分UNIX類操作系統(tǒng)默認(rèn)的基于磁盤(pán)的文件系統(tǒng),包括Solaris、FreeBSD、OpenBSD、NetBSD、HP-UX等,甚至Apple的OSX也能支持UFS文件系統(tǒng)。在最初的FFS文件系統(tǒng)的設(shè)計(jì)中,為了使文件系統(tǒng)在遭到毀滅性打擊,如硬盤(pán)發(fā)生整個(gè)磁道、整個(gè)盤(pán)面或者整個(gè)柱面損壞時(shí)能夠得以恢復(fù),在文件系統(tǒng)初始化時(shí),會(huì)將文件系統(tǒng)的重要數(shù)據(jù)結(jié)構(gòu)復(fù)制到整個(gè)磁盤(pán)的多個(gè)位置,以便在發(fā)生硬件損壞時(shí)能夠讀取,而UFS文件系統(tǒng)也繼承了這些優(yōu)良的特性。另外,為了提高運(yùn)行效率,UFS文件系統(tǒng)與磁盤(pán)的結(jié)構(gòu)也有著完美的結(jié)合。UFS將整個(gè)磁盤(pán)的所有邏輯柱面平均分配為若干個(gè)組,每組稱為一個(gè)“柱面組”。在UFS內(nèi)部就用柱面組對(duì)文件系統(tǒng)進(jìn)行分段組織和管理,每個(gè)柱面組中都有文件系統(tǒng)關(guān)鍵數(shù)據(jù)結(jié)構(gòu)的備份,所有文件在各個(gè)柱面組中相對(duì)獨(dú)立地存儲(chǔ)而又有機(jī)地結(jié)合在一起。這就使磁盤(pán)中的磁頭在訪問(wèn)文件系統(tǒng)中的數(shù)據(jù)時(shí)有效地減少了擺動(dòng),提高了訪問(wèn)效率。UFS文件系統(tǒng)有兩個(gè)變種,分別是UFS1和UFS2,它們都起源于BSD的FFS,所以結(jié)構(gòu)很類似。大多數(shù)UNIX系統(tǒng)默認(rèn)UFS1作為文件系統(tǒng),目前主要支持UFS2文件系統(tǒng)的是FreeBSD。FreeBSD在5.0版本以前的默認(rèn)文件系統(tǒng)仍然是UFS1,在5.x和6.0中,默認(rèn)文件系統(tǒng)就是UFS2了。后來(lái),F(xiàn)reeBSD的UFS2也被移植到NetBSD系統(tǒng)中,NetBSD也開(kāi)始支持UFS2了。與UFS1相比,UFS2增加了對(duì)大文件、大硬盤(pán)、64位塊指針及擴(kuò)展文件存儲(chǔ)的支持,這樣,UFS2就能夠允許文件系統(tǒng)大于1TB的空間。5.3.2UFS文件系統(tǒng)結(jié)構(gòu)總覽UFS文件系統(tǒng)在創(chuàng)建時(shí),磁盤(pán)的盤(pán)片被分成若干個(gè)柱面組,每個(gè)柱面組由一個(gè)或多個(gè)連續(xù)的磁盤(pán)柱面組成。在文件系統(tǒng)的前部會(huì)有一個(gè)叫作“柱面組概要”的結(jié)構(gòu)對(duì)整個(gè)文件系統(tǒng)中的每個(gè)柱面組信息進(jìn)行統(tǒng)計(jì),并且在每個(gè)柱面組中還有一個(gè)“柱面組描述符”用來(lái)管理當(dāng)前柱面組。每個(gè)柱面組又進(jìn)一步被分成若干個(gè)可尋址的塊,以控制和組織柱面組中文件的結(jié)構(gòu),所以“塊”是UFS文件系統(tǒng)中文件分配和存儲(chǔ)的基本單位,類似于FAT文件系統(tǒng)和NTFS文件系統(tǒng)中“簇”的概念。在UFS文件系統(tǒng)中,“塊”有多種類型,每種類型的塊都具有特定的功能。UFS文件系統(tǒng)主要具有四種類型的塊,其分類和基本作用見(jiàn)表5-25。表5-25UFS文件系統(tǒng)中塊的分類及作用UFS文件系統(tǒng)中的“塊”又被分成更小的單位,叫作“段”。在創(chuàng)建UFS文件系統(tǒng)時(shí),可定義段的大小,默認(rèn)的段大小一般為1KB。每個(gè)塊都可以分成若干個(gè)段,段大小的上限就是塊的大小,下限實(shí)際上為磁盤(pán)扇區(qū)大小,通常是512字節(jié)。當(dāng)文件寫(xiě)入文件系統(tǒng)時(shí),首先為文件分配完整的塊,然后為不滿一個(gè)塊的剩余部分分配某個(gè)塊的一個(gè)或多個(gè)段。對(duì)于比較小的文件,首先分配段進(jìn)行存儲(chǔ)。能夠?yàn)槲募峙鋲K中的段而不是僅分配完整的塊,就減少了塊中未使用的空間,從而提高了磁盤(pán)利用率。在創(chuàng)建文件系統(tǒng)時(shí),選擇段的大小需要考慮時(shí)間和空間之間的平衡,小的段大小可節(jié)省空間,但是需要更多的時(shí)間進(jìn)行分配。通常,當(dāng)大多數(shù)文件都很大時(shí),要提高存儲(chǔ)效率,應(yīng)為文件系統(tǒng)使用較大的段大小。當(dāng)大多數(shù)文件都比較小時(shí),應(yīng)為文件系統(tǒng)使用較小的段大小。綜上所述,UFS文件系統(tǒng)由若干個(gè)“柱面組”構(gòu)成,每個(gè)柱面組包含一定數(shù)量的“塊”,每個(gè)塊又由若干個(gè)“段”組成?!岸巍笔荱FS文件系統(tǒng)的最小存儲(chǔ)單元。每個(gè)柱面組、塊、段在文件系統(tǒng)中都有自身的編號(hào),它們的起始編號(hào)都是0。另外,“超級(jí)塊”是UFS文件系統(tǒng)中非常重要的一個(gè)結(jié)構(gòu),其重要性類似于FAT文件系統(tǒng)和NTFS文件系統(tǒng)中的DBR,所以UFS在每個(gè)柱面組中都對(duì)超級(jí)塊做了備份,但備份的位置卻各不相同,在每個(gè)柱面組中都會(huì)發(fā)生一定的偏轉(zhuǎn)。這是因?yàn)樵谠瓉?lái)的硬盤(pán)中每個(gè)磁道具有相同的扇區(qū)數(shù),這就導(dǎo)致每個(gè)柱面組的第一個(gè)扇區(qū)都位于同一個(gè)盤(pán)面上。為了減小因物理故障而產(chǎn)生的數(shù)據(jù)損壞,將超級(jí)塊的備份在每個(gè)柱面組中錯(cuò)位存放就可以使它們不再存儲(chǔ)于同一個(gè)盤(pán)面,從而降低了風(fēng)險(xiǎn)。而現(xiàn)在的新式硬盤(pán)每個(gè)柱面的扇區(qū)數(shù)并不相等,所以也就不存在這樣的隱患了,實(shí)際上UFS2已經(jīng)不再考慮數(shù)據(jù)錯(cuò)位存放的問(wèn)題。通過(guò)上面的講解,可以將UFS文件系統(tǒng)的結(jié)構(gòu)用一幅圖描述出來(lái)。為了描述的方便,這里將UFS文件系統(tǒng)的結(jié)構(gòu)以柱面組為單位畫(huà)出來(lái),并且采用豎形圖,讀者在理解時(shí)只要將每個(gè)柱面組首尾相接在一起,就是完整的UFS文件系統(tǒng)了。UFS文件系統(tǒng)的結(jié)構(gòu)如圖5-28所示。圖5-28UFS文件系統(tǒng)的結(jié)構(gòu)圖5.3.3UFS文件系統(tǒng)的引導(dǎo)塊分析引導(dǎo)塊是UFS文件系統(tǒng)中的第一個(gè)塊,也就是0號(hào)塊。它的結(jié)構(gòu)因操作系統(tǒng)的不同而稍有區(qū)別,但一般都是由磁盤(pán)標(biāo)簽和引導(dǎo)程序組成。提示只有當(dāng)UFS文件系統(tǒng)中包含操作系統(tǒng)內(nèi)核時(shí),引導(dǎo)塊中才會(huì)有引導(dǎo)程序。如果UFS文件系統(tǒng)中不包含操作系統(tǒng)內(nèi)核,引導(dǎo)塊中則沒(méi)有引導(dǎo)程序,只有磁盤(pán)標(biāo)簽。1.SparcSolaris的引導(dǎo)塊在Sparc架構(gòu)的Solaris系統(tǒng)中,磁盤(pán)標(biāo)簽位于磁盤(pán)的第一個(gè)扇區(qū),按照LBA地址編號(hào)就是0扇區(qū),隨后跟著的1~15號(hào)扇區(qū)包含用來(lái)存儲(chǔ)系統(tǒng)的引導(dǎo)程序。0~15號(hào)這16個(gè)扇區(qū)其實(shí)就是該切片上文件系統(tǒng)的引導(dǎo)塊。一個(gè)完整的Sparc架構(gòu)Solaris切片中的引導(dǎo)塊結(jié)構(gòu)如圖5-29所示。圖5-29Sparc架構(gòu)的Solaris切片中的引導(dǎo)塊結(jié)構(gòu)2.x86Solaris的引導(dǎo)塊x86架構(gòu)的Solaris系統(tǒng)中磁盤(pán)的第一個(gè)扇區(qū)為MBR。在MBR分區(qū)表中所描述的類型為“82H”的主DOS分區(qū)內(nèi),是x86Solaris的文件系統(tǒng)分區(qū)。這部分空間類似于Sparc架構(gòu)的Solaris磁盤(pán)布局,其中會(huì)有若干個(gè)Solaris切片。下面以某一個(gè)切片為例,說(shuō)明引導(dǎo)塊的結(jié)構(gòu)。x86架構(gòu)的Solaris切片中第一個(gè)扇區(qū)是引導(dǎo)程序,第二個(gè)扇區(qū)為磁盤(pán)標(biāo)簽,第三個(gè)扇區(qū)到第十六個(gè)扇區(qū)也是引導(dǎo)程序,這十六個(gè)扇區(qū)就是引導(dǎo)塊。如果該切片內(nèi)沒(méi)有操作系統(tǒng)內(nèi)核,則引導(dǎo)程序所在的十五個(gè)扇區(qū)是空的。x86架構(gòu)的Solaris切片中引導(dǎo)塊的結(jié)構(gòu)如圖5-30所示。圖5-30x86架構(gòu)的Solaris切片中引導(dǎo)塊的結(jié)構(gòu)3.BSD系統(tǒng)的引導(dǎo)塊BSDUNIX中的FreeBSD、OpenBSD、NetBSD一般都應(yīng)用于x86架構(gòu)中。在磁盤(pán)上的BSD分區(qū)中,引導(dǎo)塊的結(jié)構(gòu)與x86架構(gòu)的Solaris切片中引導(dǎo)塊的結(jié)構(gòu)一樣,第一個(gè)扇區(qū)是引導(dǎo)程序,第二個(gè)扇區(qū)為BSD分區(qū)的磁盤(pán)標(biāo)簽,第三個(gè)扇區(qū)到第十六個(gè)扇區(qū)也是引導(dǎo)程序,這十六個(gè)扇區(qū)就是引導(dǎo)塊。如果該BSD分區(qū)內(nèi)沒(méi)有操作系統(tǒng)內(nèi)核,則引導(dǎo)程序所在的十五個(gè)扇區(qū)為空。其結(jié)構(gòu)圖可以參考圖5-30,這里就不再重復(fù)畫(huà)了。5.3.4UFS文件系統(tǒng)的超級(jí)塊分析1.超級(jí)塊介紹UFS文件系統(tǒng)超級(jí)塊的重要性類似于FAT文件系統(tǒng)和NTFS文件系統(tǒng)中的DBR,但比DBR的結(jié)構(gòu)要復(fù)雜很多。超級(jí)塊中記錄著許多參數(shù),主要包括:◆文件系統(tǒng)的大小和狀態(tài);◆文件系統(tǒng)名稱和卷名稱;◆文件系統(tǒng)塊的大小及段大??;◆上次更新的日期和時(shí)間;◆柱面組的大??;◆柱面組中的數(shù)據(jù)塊數(shù);◆柱面組概要的地址;◆文件系統(tǒng)狀態(tài);◆最后一個(gè)掛載點(diǎn)的路徑名。由于超級(jí)塊包含文件系統(tǒng)的關(guān)鍵數(shù)據(jù),因此在創(chuàng)建文件系統(tǒng)時(shí)建立了多個(gè)超級(jí)塊,在每個(gè)柱面組內(nèi)都有一個(gè)超級(jí)塊的備份。提示第一個(gè)柱面組中有兩個(gè)超級(jí)塊,一個(gè)是原始超級(jí)塊,另一個(gè)是備份超級(jí)塊。另外,UFS1與UFS2的超級(jí)塊還有些不同。首先是原始超級(jí)塊的存放地址,UFS1的原始超級(jí)塊通常位于文件系統(tǒng)內(nèi)的16號(hào)扇區(qū)處,UFS2的原始超級(jí)塊則位于文件系統(tǒng)內(nèi)的128號(hào)扇區(qū)處,有時(shí)也會(huì)位于文件系統(tǒng)內(nèi)的512號(hào)扇區(qū)處。UFS1與UFS2超級(jí)塊的數(shù)據(jù)結(jié)構(gòu)也略有不同。不同之處主要在于UFS2在原結(jié)構(gòu)的尾部添加了64位存儲(chǔ)大小值及時(shí)間的參數(shù),原來(lái)使用的32位參數(shù)不再使用。2.UFS1的超級(jí)塊結(jié)構(gòu)UFS1的超級(jí)塊一般位于文件系統(tǒng)內(nèi)的16號(hào)扇區(qū),大小為2048字節(jié),即4個(gè)扇區(qū)。但這2048字節(jié)中很多都是無(wú)用的參數(shù),并且很多地址都是0數(shù)據(jù)。我們只關(guān)注比較重要的數(shù)據(jù),表5-26為UFS1文件系統(tǒng)中超級(jí)塊的主要參數(shù)及其含義。表5-26UFS1文件系統(tǒng)超級(jí)塊的結(jié)構(gòu)參數(shù)續(xù)表續(xù)表下面以一個(gè)Sparc架構(gòu)的Solaris系統(tǒng)中UFS1的超級(jí)塊為例具體分析。該超級(jí)塊位于Solaris切片的16號(hào)扇區(qū),共占用4個(gè)扇區(qū)。為了節(jié)省篇幅,就不對(duì)這4個(gè)扇區(qū)一一截圖了,這里只將重要參數(shù)部分截圖,而將不重要的參數(shù)及未用部分省略。該超級(jí)塊如圖5-31所示。圖5-31SparcSolaris系統(tǒng)中UFS1的超級(jí)塊圖5-31中SparcSolaris系統(tǒng)的UFS1超級(jí)塊具體參數(shù)的解釋見(jiàn)表5-27。表5-27圖5-31中UFS1超級(jí)塊的具體參數(shù)續(xù)表續(xù)表注意Sparc架構(gòu)的Solaris系統(tǒng)使用Big-Endian字節(jié)序。另外,UFS1超級(jí)塊中的參數(shù)也可以通過(guò)WinHex的模板進(jìn)行查看。本例是Sparc架構(gòu)的Solaris系統(tǒng),使用Big-Endian字節(jié)序,所以在選用模板時(shí)應(yīng)選擇“UFS1SuperblockBE”,如圖5-32所示。圖5-32選擇“UFS1SuperblockBE”模板選中“UFS1SuperblockBE”模板后單擊“應(yīng)用”按鈕,就能查看UFS1的超級(jí)塊參數(shù)了,如圖5-33所示。圖5-33WinHex模板顯示的UFS1的超級(jí)塊參數(shù)(Big-Endian)為了對(duì)比學(xué)習(xí),下面再舉一個(gè)FreeBSD系統(tǒng)UFS1超級(jí)塊的例子。該FreeBSD系統(tǒng)用于x86架構(gòu)上,磁盤(pán)上第一個(gè)切片就是FreeBSD的系統(tǒng)分區(qū),該切片起始于物理磁盤(pán)的63號(hào)扇區(qū),超級(jí)塊位于FreeBSD系統(tǒng)分區(qū)的16號(hào)扇區(qū),也就是物理磁盤(pán)的79號(hào)扇區(qū),該超級(jí)塊一共占用4個(gè)扇區(qū)。下面把這4個(gè)扇區(qū)的部分內(nèi)容截圖,具體內(nèi)容如圖5-34所示。圖5-34FreeBSD系統(tǒng)中UFS1的超級(jí)塊圖5-34中FreeBSD系統(tǒng)的UFS1超級(jí)塊具
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 冰柜采購(gòu)合同范本
- 促進(jìn)健康教育活動(dòng)的實(shí)施計(jì)劃
- 基于風(fēng)險(xiǎn)評(píng)估的保安管理計(jì)劃
- 社區(qū)鄰里親情關(guān)懷計(jì)劃
- 《貴州豐聯(lián)礦業(yè)有限公司畢節(jié)市陰底鄉(xiāng)瑞興煤礦(變更)礦產(chǎn)資源綠色開(kāi)發(fā)利用方案(三合一)》專家組評(píng)審意見(jiàn)
- 2025年云南貨運(yùn)上崗資格證模擬考試
- 亞洲的人文環(huán)境課件-+2024-2025學(xué)年人教版七年級(jí)地理下冊(cè)
- 2025年莆田道路運(yùn)輸貨運(yùn)考試題庫(kù)
- 2025年鐵嶺貨運(yùn)運(yùn)輸駕駛員從業(yè)資格證考試試題
- 第12課+水陸交通的變遷高二歷史統(tǒng)編版(2019)選擇性必修2
- 經(jīng)營(yíng)性公墓建設(shè)標(biāo)準(zhǔn)
- 患教-頸動(dòng)脈斑塊課件
- 乳腺癌改良根治術(shù)
- 新版(七步法案例)PFMEA
- 臨床護(hù)理重點(diǎn)??平ㄔO(shè)項(xiàng)目評(píng)審標(biāo)準(zhǔn)
- 新蘇教版科學(xué)五年級(jí)下冊(cè)全套教學(xué)課件
- 審計(jì)部組織架構(gòu)及崗位設(shè)置
- 流行性乙型腦炎PPT課件
- 深圳市軌道交通線網(wǎng)規(guī)劃(2016_2035)(草案)
- 四十二式太極劍劍譜
- 完整解讀2021年《建設(shè)工程抗震管理?xiàng)l例》PPT教學(xué)講座課件
評(píng)論
0/150
提交評(píng)論