歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 關於mbr的存取控制

關於mbr的存取控制

日期:2017/2/27 14:30:49   编辑:更多Linux
  不少朋友愛裝多系統,自然避免不了對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後,系統正常啟動。呵呵,哪位大俠願意在自己機子上試試,如果成功了,別忘了通知偶一聲。




Copyright © Linux教程網 All Rights Reserved