不少朋友愛裝多系統,自然避免不了對mbr和c盤的引導扇區的操作,下面寫一下個人的在這方面的心得,與大家共享。
1,******
在 98和2000共存,重裝98的時候,有可能把c盤的引導扇區重寫,因為這個扇區裡的引導程序可以雙引導,那麼重寫以後,就不能引導2k了。如果我們在重裝98前把c盤引導扇區的信息先保存下來,重裝完了以後再恢復回去,不就可以又恢復雙引導了嗎?這個過程用98自帶的debug程序就可以完成。
進入win98的command.com
c:>debug
-l 100 2 0 1
-n c: esttest
-r cx
CX 0000
:200
-w 100
Writing 00200 bytes
-q
c: esttest就是C盤的引導扇區。
恢復的時候可以如下,先進入command.com:
c:debug
-n c: esttest
-l 100
-w 100 2 0 1
-q
OK了。
2,******
對於Linux系統,對mbr進行操作的命令為dd,例如,要讀出硬盤的mbr,命令為
dd if=/dev/hda of=./mbr bs=512 count=1
要寫回硬盤的mbr,命令為
dd if=./mbr of=/dev/hda bs=512 count=1
3,*******
有的時候,我們還有同時安裝98和linux 的習慣,而這個時候,在mbr裡裝有linux的引導程序,如果我們重裝98,他是要重寫mbr的,重裝後要恢復回原來能多引導的mbr,有多種辦法,比如用linux啟動軟盤引導,用相關命令重寫mbr引導程序,有沒有更簡單的辦法呢,呵呵,當然有了,還是用 debug。
不管你怎麼重裝系統,win98是你肯定都可以進入的,所以我們不需要別的工具,只用他自帶的就最方便了。
下面是先把mbr的內容保存到文件c:mbr.dbg的操作
進入win98的command.com
c:>debug
-a進入小匯編
2631:0100 mov ax,0201ah,讀磁道,al,讀的扇區數為1
2631:0103 mov bx,1000es:bx=數據緩沖區地址
2631:0106 mov cx,0001ch,cl=磁道號,扇區號
2631:0109 mov dx,0080dh,dl=磁頭號,驅動器號,80為硬盤
2631:010c int 13bios的磁盤功能
2631:010e int 3斷點指令(用於debug)
2631:010f
-g10f執行
-r bx
BX 1000
:0000
-r cx
CX 0001
:0200
-n c:mbr.dbg命名
-w 1000寫到上面命名文件,寫入地址為1000,大小為BX:CX字節
Writing 00200 bytes
-q退出
下面是把mbr的內容恢復回去的方法,
進入win98的command.com
c:>debug
-n c:mbr.dbg
-l 1000加載到地址1000
-a
2631:0100 mov ax,03013號功能為寫磁道,寫1個扇區
2631:0103 mov bx,1000
2631:0106 mov cx,0001
2631:0109 mov dx,0080
2631:010c int 13
2631:010e int 3
2631:010f
-g10f
-q
4,*******
以上的方法雖然簡單,但是相信很少有人願意用,畢竟風險比較大,那就使用norton的diskedit工具,他可以輕松菜單化的完成對mbr的保存和恢復,在pchome有下載,文件大小為48K
還有一個工具是diskman,可以完成對硬盤分區的保存和恢復。
附言:以上方法除方法3外,方法1,2,4我常用,絕對保證安全,方法3我沒試過,但是原理上沒有問題,我在virtualpc pcdos2000下測試通過,關於讀出mbr,用debug方法和diskedit讀出的文件內容完全一樣。用debug方法寫回mbr後,系統正常啟動。呵呵,哪位大俠願意在自己機子上試試,如果成功了,別忘了通知偶一聲。