2009年3月2日 星期一

[linux]清除MBR中的程式

MBR(Master Boot Record) 中除了主硬碟分割表
還有一段可程式化區域
通常被放置開機管理程式(Boot Manager)

MBR 的大小一共 512 bytes
整個結構如下
Address Description Size
in
bytes
Hex Oct Dec
0000 0000 0 Code Area 440
(max. 446)
01B8 0670 440 Optional Disk signature 4
01BC 0674 444 Usually Nulls; 0x0000 2
01BE 0676 446 Table of primary partitions
(Four 16-byte entries, IBM Partition Table scheme)
64
01FE 0776 510 55h MBR signature;
0xAA55[1]
2
01FF 0777 511 AAh
MBR, total size: 446 + 64 + 2 = 512


相關資料見 wiki

通常指清除 MBR 其實是指清除前面 446 bytes
如果連同後面的 66 bytes 都清除後,就是硬碟重新分割了

以下介紹清除 MBR 的方式:

DOS/Win98:
fdisk /mbr
此方法只能夠清除第一顆磁碟,如果 BIOS 支援 DISK Mapping 的話,就是被設定為第一顆開機的硬碟

WIN2000/WINXP:
使用安裝光碟開機後進入主控台修復,執行下列指令
fixmbr
一樣只能夠清除第一顆磁碟

Linux:
dd if=/dev/zero of=/dev/sdx bs=446 count=1
以上是只清除程式區域
dd if=/dev/zero of=/dev/sdx bs=512 count=1
將大小改為512則會連同硬碟分割表都消失,要小心
其實上述的 /dev/zero 改成 /dev/null 也可以

0 回應:

 
TEMPLATE HACKS AND TWEAKS BY [ METAMUSE ] BLACKCAT 1.1