作者: 一了 <[email protected]> 日期: 1999-07-01 北京左家庄, 2026-10-10 抄录 一九九九年七月一日,我的磁盘编辑器写完了,编号 1999-0701。 (还有个由头。一九九九年四月二十六号,cih 发作,专挑每个月的 26 号,一上来就把硬盘最前面的那一兆字节盖成垃圾:分区表、引导记录、两份 FAT 全没了,软盘也没躲过。那阵子抱着几块开不了机的软盘和硬盘,翻遍手边的工具,能直接读写第零扇区的没几个,索性自己写一个。) 那会儿要在硬盘上动点手脚,没有现成的工具,得自己去求 BIOS。BIOS 就给了两个中断:INT 13h 管读盘写盘,INT 10h 管画屏幕,剩下的全得自己拼。我用汇编写了将近三千行,一段 Code、一段 Data,org 100h,编出来是个 .COM,敲个 DISK 就进去了。 界面是照着 Turbo Vision 描的。顶上一行菜单,File、View、Edit、Search、Drive、Option、Help;底下一行状态,C、H、S,柱面、磁头、扇区,还有逻辑盘、逻辑簇、逻辑扇区,光标走到哪,它们就跟着跳到哪。中文是拿方框字拼的,一个字节画一格,画得满屏都是框。 View 里我把一块硬盘拆成九块:MBR、保留区、引导记录、两份 FAT、根目录、数据起始、扇区、逻辑扇区,想看哪块点哪块。Edit 里十六进制和文本左右并排,左边改一个字节,右边那个字符跟着变。Search 能按目录、按文件名、按字符串找,回车接着找下一个。两个 FAT 我总要一起看——它们要是对不上,那就是出事了。 (吐槽:最怕手一抖把 FAT 写坏,机器就开不了机。所以 File 菜单里专门做了存盘和读盘,先把整块盘存成一个文件,改坏了再读回来。这东西救过我不止一次。) 写它没什么大道理,一半是好奇,一半是不服气:硬盘的第零个扇区里到底写了些什么,又凭什么不能由我说了算。翻出来一看,是分区表,是 55AA,是从来没人跟我讲过的那么点秘密。 一个扇区 512 个字节,一个不多,一个不少。我把它们一个一个看过去,看了很多个晚上。