Fdisk是咱們在硬盤分區時最經常使用的命令,但有的讀者可能還不知道,Fdisk命令還有一個未公開參數/MBR,若是在DOS提示符下使用Fdisk /?不會發現此參數,可是這個參數卻有很重要的做用,MBR是主引導記錄(Master Boot Record)的縮寫。那麼,Fdisk /MBR是如何工做的呢?下面和各位讀者共同窗習一下。 先來看看主引導扇區,硬盤的零柱面零磁道的第一個扇區,被稱爲主引導扇區,(固然是512個字節嘍),主引導扇區由主引導記錄(MBR)、硬盤分區表(DPT ,Disk Partition Table)和結束標誌三部分組成,各部分的大小和偏移量可參考下表,主引導記錄中包含了硬盤的一系列參數和一段引導程序,引導程序主要是用來在系統硬件自檢完後引導具備激活標誌的分區上的操做系統。它執行到最後的是一條JMP指令跳到操做系統的引導程序去,因此這裏每每是一些引導型病毒和一些多系統引導程序的切入點。此部分還包括啓動出錯時的提示信息Invalid partition table、 Error loading operating system、Missing operating system和一些保留信息。硬盤分區表的64個字節記錄了分區的大小、類型,哪一個是活動分區等等(具體結構請參考相關資料)。主引導扇區最後的兩個標誌「55AA」是主引導扇區的結束標誌,有些病毒就會修改這兩個標誌,結果系統引導時將報告找不到有效的分區表。主引導扇區的數據能夠用一些工具或者本身寫一段彙編來查看。 使用Fdisk /MBR時,會把前446個字節(若是你在Linux下用dd if=/boot/boot.NNNN of=/dev/hda bs=446 count=1命令恢復過MBR就知道爲何這個數字是446了)清零後從新「安裝」引導程序,但並不會破壞硬盤分區表。安裝一些安全保護軟件或者新的操做系統每每引導程序會被更改,一部分引導扇區病毒也可能佔領這塊地盤,達到得到系統的控制權的目的。在上述狀況下,若是因爲操做不慎或其它緣由,系統沒法正常啓動時可使用沒被病毒感染的啓動盤啓動系統,而後使用Fdisk /MBR,各位注意,使用時必定要對症下藥,下面講述一下我經歷的幾個例子: 1.個人一個同窗曾經用過一個叫超級保鏢的軟件,有開機密碼的功能,但是密碼被他忘記了(作繭自縛),他從軟盤啓動,而且把軟件刪除了,但是在開機的時候仍是要求他輸入密碼。根據他說的,提示輸入密碼的時機是硬件自檢完成之後,Windows剛啓動的時候,我推測是主引導扇區被修改了,建議他用Windows 98的啓動盤從新啓動後使用此命令,結果把開機密碼去掉了。 2.同事的電腦被引導區病毒感染,金山毒霸檢測到之後,他用金山毒霸作的啓動盤啓動殺毒,但是從新啓動之後仍是檢測到有此病毒,我不知道他作的軟盤自己是否「乾淨」,我拿買品牌機時附送的Windows 98啓動盤,讓他從新啓動後,用Fdisk /MBR,再次從新啓動計算機,發現病毒已經被清除。 3.爲了體驗Windows 2000,本人把公司的另外一個小硬盤跳線變成Slave後連到個人電腦的IDE1上,把Windows 2000安裝到小硬盤裏,能夠進行Windows 98和Windows 2000雙啓動,後來硬盤被拿走,再次啓動系統時,發現啓動不起來了,我拿Windows 98的啓動盤啓動後,使用Fdisk /MBR命令,仍是不行,呵呵,拿出個人最後一招,SYS C:,再次啓動,成功! 4.隨着Linux的流行,不少朋友都想在一個電腦上實現雙啓動(甚至多啓動),安裝Linux,可能會把Lilo安裝在主引導扇區,若是想卸載Linux,並且用Linux的分區命令把Linux的分區刪除;之後若是想恢復到原來的系統,用此命令把lilo清除便可,通常不會丟失原來系統上的數據。 最後必須提醒你們的是,Fdisk通常不會影響硬盤的分區結構和數據,但有些病毒正是利用Fdisk /MBR的原理,修改計算機正常的引導和文件結構,若是你再強行使用Fdisk /MBR可能使系統變得更糟,甚至也可能把硬盤中全部的數據清除。因此最好不要隨便使用此命令,只在受病毒或一些磁盤管理工具的影響使系統沒法正常啓動時才使用此命令,若是你想試驗一下呢,你應該先備份好你的全部數據,而且用Debug命令保存你的主引導記錄。想想,微軟爲什麼不公開此命令參數呢?由於它是一個危險的命令!