硬盘逻辑锁与Linux那点事
现在常见的桌面型操作系统主要有Windows、Linux、Mac OS三大派系,从市场份额来说,Windows的比例是最大的,其次是Mac OS、Linux。用时下比较流行的话来说,普通青年用Windows,文艺青年用Mac OS,用Linux的估计就是2B青年了。很不幸,本人当了一回2B青年,至于为什么使用Linux的原因,除了专业课教授的鼎立推荐,还有另外一个不得不说的故事。
当初初识Linux是在计算机网络基础的专业课上,当时的老师极力赞赏Linux和Unix作为网络操作系统,并推荐了Linux中Debian派系的分支Ubuntu。从这开始,对于Linux有了一些粗陋的认识,无非就是一个敲命令多于点鼠标的系统。于是就安装在VirtualBox里面玩了一段时间,比较喜欢Linux的操作,某日逛BBS时看到别人系统炫彩夺目的特效,炫丽的界面,也想跟着折腾一下,无奈虚拟机不支持3D特效,就转换到了Wubi安装到硬盘,实实在在的体验了一番Compiz华丽的特效,对Linux是更加的喜欢了。不过当时并没有决心抛弃Windows,因为当时迷上电影,不奈视频解码确实是Linux的痛,再者Linux网银支付也是一个大问题。就这样Windows与wubi安装的linux双系统维持了很长一段时间。真正导致我放弃windows转投Linux的导火索,正是这个叫做“硬盘逻辑锁”的东西。
当时由于系统分区不太合心意,于是下了PM7进行分区调整,加上当时xp系统用得也不太顺手,干脆系统盘也从新分区了。调整好系统分区后直接用GHOXT把以前的备份文件直接还原回去,没想到还原到99%的时候进度条就不动了,等了半个钟还是一样,无奈只有重启。重启提示找不到系统,这是正常的吧,系统区格了,还原又没完成,当时就没太惊讶。拿出系统盘进PE再还原一次吧,没想到麻烦来了,进PE的时候一直卡在进度条那里不断的转,其他什么的DOS工具之类的干脆直接黑屏,当时还以为是系统盘挂了,就借了同学的u盘来启动,里面的老毛桃pe还是我亲手帮他装的,所以肯定是没问题。没想到最后还是一样结局,进度条不停转。还没碰过这样的问题,只有问GOOGLE了,有人说可能是硬盘的问题,于是拆开机箱把硬盘线拔了,再启动,PE果然能正常进入。真是奇怪,继续GOOGLE搜索,终于查到了这个叫做“硬盘逻辑锁”的东西。以下摘自百度百科
所谓“硬盘逻辑锁”是使用了某些DOS的一个错误制成的。它采用了“循环分区表”的技术,使某些有这个错误的DOS无法用任何设备启动,包括软盘等移动设 备。当DOS启动时,系统会自动搜索硬盘中的各个分区的信息,如类型、大小等,以使系统能够识别硬盘,分别分配为C、D、E、F等驱动器,并使用户能对其进行各种操作。而“逻辑锁”正是利用了这一点,通过修改硬盘的分区表使分区表发生循环,即把扩展分区的第一个逻辑盘指向自身,使某些DOS系统启动时查找 分区时发生死循环而无法启动。
据说这个BUG是1992年一个叫Mike的反病毒专家发现的,并报告给了有此问题的DOS的生产厂 家,如生产PC-DOS的IBM公司、生产DR-DOS/NovellDOS的Novell公司、生产MS-DOS的微软公司等等。不久后,IBM、Novell等公司纷纷宣布其DOS的新版本已彻底解决了此问题,唯有拥有MS-DOS的微软公司没有理会,导 MS-DOS的新版本,如6.x、7.x 等仍继续存在此问题。
当年大名鼎鼎的江民杀毒为了打击盗版,在杀毒软件里面加入了黑客程序,只要用户使用的是盗版,就触发软件改写分区表数据锁死硬盘,因此硬盘逻辑锁又有了另外一个大名“江民炸弹”,当年不少网民深受其害,江民杀毒也因此臭名远扬。
也就是说,只要是MS公司的系统都会陷入死锁,而Linux修复了这个BUG,系统只搜索硬盘中的60个分区。找到了问题所在就好办了,马上用刻录软件把Ubuntu的镜像文件刻到U盘里面。再次用u盘启动果然可以进live cd模式了,在fdisk里面查看硬盘的分区表
sudo fdisk /dev/sda
这时候按p显示分区表,乖乖,果然显示出来60几个分区(Linux逻辑分区sda5开始),解决方法重写磁盘的分区表(Linux果然强大,一条命令搞定)
dd if=/dev/zero of=/dev/sda bs=512 count=1
现在系统分区表已经清空,重启用我的系统盘启动,果然又能进PE了,马上用DiskGenius搜寻丢失的分区表,操作的过程就不说了,最后成功找回了原来所有的分区表,数据也全没丢失。处理完了这个问题也该装系统了,该装windows还是Linux呢?毫不犹豫的选择Linux,MicroSoft公司连92年的BUG都没修复,还能指望它能干什么大事。
从此,踏上了Linux的不归路。。