今天朋友想要卸载UBUNTU系统,完成,记录之...

 

方法:用Disk Genius(DG)将ubuntu的boot分区以及交换分区格式化后,通过DG硬盘选项中的“重建主引导记录”恢复适用于XP的MBR表,重启,大功告成!

 

附上软件:

http://dl.dbank.com/c0r481oh7n

 

疑问:

1.Grub究竟身在何处?

2.Grub究竟如何寻找系统启动分区?

3.DG的重建主引导记录究竟做了什么?

 

有待解决!

 

解决:

1.grub究竟在哪?为什么只是格式化linux分区,还会显示和grub有关的grub error 17等问题?

首先得谈谈主引导扇区(Master Boot Record),它位于硬盘0柱面,0磁头的1扇区,占用512个字节,可能大家要问,一个扇区必须512个字节吗?不是的,详细内容大家若是感兴趣请自行白骨(Baidu/Google)。

 

这512个字节怎么用呢?经过白骨后,习得:

1.主引导程序代码,占446字节
2.硬盘分区表DPT,占64字节
3.主引导扇区结束标志AA55H

 

我们粗浅地看看这些地方都说了些啥吧...

 

part 1.主引导程序代码:

所处位置:0000H->01BDH(偏移地址,共446字节)

作用:读出自举分区,检查无误后将控制权交至自举分区启动引导程序,具体过程是:

1.检查DFT(Disk Partrition Table)找到活动分区(自举分区)

2.寻找活动分区起始扇区

3.将找到的起始扇区加载到内存

4.执行扇区中的程序代码,引导操作系统

 

若主引导程序未完成,可能出现以下信息:

Invalid partition table
Error loading operating system
Missing operating system

 

part 2.硬盘分区表(DFT)

位置:01BEH->01FDH(共64字节)

作用:用以记录磁盘中的分区信息,每16个字节表示一个分区,因为64/16=4,所以我们常说一个硬盘最多能有四个分区。每一个分区的头字节用来表示该分区是否是活动分区,是的话,可引导。

头字节(0号字节)内容为80H表示活动分区,为00H表示分区不可引导。

4号字节则表示该分区的类型。

1号字节表示分区磁头号,取值范围为0-255

2号字节低六位表示分区所在扇区号,取值范围为0-63

3号字节的高两位和3号字节分别表示分区所在柱面号的高两位和第八位,共十位,取值范围为0-1023

 

想想,1024 × 256 × 63 (= 16,515,072)×512byte=8.46G,这就是8.46G盘片容量的计算。

 

part3.主引导扇区结束标志

位置:01FE-01FF(2个字节)

内容便是AA55H

 

了解了这些,对系统的引导又进一步了解。那么我的第一个疑问也差不多了。grub写到了mbr里,所以若是你格式化了linux的分区,却不重新部署mbr,就会出现常见的grub error 17,你很诧异,grub阴魂不散!?了解了以上内容,您是否也会明白一些呢?

 

也许有的人会问,有的电脑上会先显示别的bootloader而不是grub优先是怎么回事,这是因为grub不一定会安装到mbr里,这得看用户的主次需求了,若以grub为主引导程序,就安装到grub里,否则,安装到其他指定分区的引导记录里,就会出现上述情况。若深究,请白骨。

 

2.grub到底如何引导进入系统?

尚未解决!

 

3.DG的重建主引导记录的操作到底做了什么?

不开源啊,不知道啊,有木有!!!

 

本文主要是个人白骨而来,很大部分是别人的只是的再总结,或者说转换成了自己觉得比较好的语言形式。