一 从分区说起:
硬盘结构:物理硬盘构成:
硬盘有很多盘片组成,每个盘片的每个面都有一个读写磁头。如果有N个盘片。就有2N个面,对应2N个磁头(Heads),从0、1、2开始编号。每个盘片的半径均为固定值R的同心圆再逻辑上形成了一个以电机主轴为轴的柱面(Cylinders),从外至里编号为0、1、2……。每个盘片上的每个磁道又被划分为几十个扇区(Sector),通常的容量是512byte,并按照一定规则编号为1、2、3……形成Cylinders×Heads×Sector个扇区。
主引导扇区:
主引导扇区位于整个硬盘的0柱面0磁头1扇区{(柱面,磁头,扇区)|(0,0,1)},bios在执行自己固有的程序以后就会jump到MBR中的第一条指令。将系统的控制权交由mbr来执行。
对于硬盘而言,一个扇区可能的字节数为128×2n (n=0,1,2,3)。大多情况下,取n=2,即一个扇区(sector)的大小为512字节。在总共512byte的主引导记录中,MBR的引导程序占了其中的前446个字节(偏移0H~偏移1BDH),随后的64个字节(偏移1BEH~偏移1FDH)为DPT(Disk PartitionTable,硬盘分区表),最后的两个字节“55 AA”(偏移1FEH~偏移1FFH)是分区有效结束标志。
主引导记录(主引导扇区里)(Master Boot Record):
主引导扇区记录着硬盘本身的相关信息以及硬盘各个分区的大小及位置信息,是数据信息的重要入口。如果它受到破坏,硬盘上的基本数据结构信息将会丢失,需要用繁琐的方式试探性的重建数据结构信息后才可能重新访问原先的数据。主引导扇区内的信息是通过FDISK写入的,它是低级格式化的产物,和操作系统没有任何关系(操作系统是创建在高级格式化的硬盘分区之上,是和一定的文件系统相联系的)。下面是fdisk的源码传送门:http://ftp.gnu.org/gnu/fdisk/
代码区:
用来检查分区表是否正确,并将计算机控制权交给高级引导程序。
分区表:
总共4个分区表,每个16 byte。
结束标志:
55h,AAh。
grub源码的传送门:http://ftp.gnu.org/gnu/grub/
开始分区:
第一个主分区:
用于linux交换分区
第二个主分区:
用来安装linux操作系统的。并且为活动分区
第三个主分区:
用来安装windows操作系统。
第四个拓展分区:
分成若干个逻辑分区备用。
二: 开始安装Windows操作系统
然后分好分区后可以用u盘安装工具进行安装windows 7或者其他windows操作系统。u盘安装工具传送门:http://ghost.laomaotao.net/
我把windows7安装在第三主分区。在安装前我先格式化了第三分区为NTFS,并分配盘符C盘,然后在u盘进入安装的pe操作系统后,解压U盘中的win7 ISO到C盘(前面分配的盘符,即第三分区)。然后单机Setup.exe进行安装。
按照操作安装结束Win7(推荐使用正版的windows 7)。
另外我还为win7装了点必备的软件,用了好久。这里就不写了。
三:开始安装linux
之所以先安装windows是因为如果先安装了linux再安装windows,windows安装程序会重写MBR导致找不到grub启动程序。仍然需要使用linux安装盘或者LinuxLive U盘进行重写mbr来引导linux和windows。 如果没有linux安装盘可以用u盘安装,创建u盘linux安装工具传送门:http://www.linuxliveusb.com/
安装使用ubuntu12.04
我进入后选择,手动安装到第二分区并格式化分区选择第二分区为跟 / 的挂载点。另外我把第一分区的上我挂了swap。
接下来就是按要求填写完配置就等程序安装了。差不多20分钟后。安装结束。ubuntu会自动寻找到windows分区并用grub引导windows bootloader。
最后可以使用双系统了。
记录下。。
参考资料:http://en.wikipedia.org/wiki/Master_boot_record