admin 管理员组文章数量: 887021
目 录
1、主分区、扩展分区和逻辑分区
2、主引导记录MBR
3、LBA硬盘模式
4、fdisk命令
5、ZBR
6、引导盘和启动盘、安装GHOST版XP系统
7、NTLDR is missing
一、主分区、扩展分区和逻辑分区
为了使用硬盘里的空间,硬盘必须进行分区。分区是一个将硬盘空间分割成块的过程,只有分区后才可以使用,或专门用于不同的用途。即使整个磁盘作为整体使用,也必须进行分区。如何使用分区,自PC最初设计时就确定了,并自那时以来,几乎一直保持不变。PC发明时,只有一种文件系统类型。尽管如此,有人设想,未来多个操作系统或文件系统可能会装在一台机器上。因此,提供了多分区计划。设置分区的规则如下:
(1)一个硬盘 最多四个分区,这些分区被称为 主分区。主分区数量是由系统上 主引导记录(MBR)的结构方式决定的。 (2)任何时刻, 只能有一个分区被指定为活动分区。 该分区用于引导系统。以下是案例: (3) DOS(以及依赖于DOS引导的操作系统,包括 Windows操作系统) 只识别活动的主分区。任何其他主分区将被忽略。 (4) 四个主分区中的一个可能被指定为扩展DOS分区。 扩展分区可能会再划分成多个逻辑分区。这样,就可以给一个硬盘分配两个或两个以上的逻辑DOS卷。 基于这些规则,有多种不同的系统配置方案:
(1)单个分区的Windows PC:许多电脑将磁盘空间划分成一个单一的分区,并使用FAT文件系统。这样一台机器上将只有一个单一的FAT主分区。主引导记录上硬盘分区表的其他三个信息区是空的。 (2)多分区的Windows PC:在DOS/Windows系统中要使用一个以上的分区时,需要存在至少两个分区。其中一个是普通的DOS主分区(变成了C:驱动器)。另一种是扩展DOS分区。扩展DOS分区中可以创建所有的逻辑驱动器。所以,有四个逻辑驱动器字母的驱动器的第一个分区(C:)是活动的主分区,其他三个(D:,E:,F:)是扩展DOS分区中的逻辑分区。 (3)多操作系统的PC:多个操作系统的系统可以用一个主分区来安装多达四个不同的文件系统。
扩展DOS分区真正的功能是作为一个“容器”,包含了除第一个(主)分区外的所有DOS分区。采用这种结构的原因是最初的设计限制,限制了只能有四个分区。因此原设计过于严格。扩展DOS分区系统让您拥有最多24个分区。
在扩展DOS分区中,逻辑驱动器存储在链式结构中。 扩展分区的信息都包含在主分区表( 因为扩展分区是存储在主引导记录中的四个分区之一)。主分区表包含指向一个扩展分区表的链接, 扩展分区表描述了磁盘的第一个逻辑分区。该扩展分区表同时包含了指向下一个扩展分区表的链接,下一个扩展分区表描述了磁盘上的第二个逻辑分区,依此类推。扩展分区表形成了一个从主分区表开始的链式结构(如下图)。
在如何使用磁盘方面,主分区与逻辑分区(或卷)之间的主要区别有两个方面。首先是一个主分区可以设置为可启动(活动)分区,而逻辑分区不可以。二是DOS给主分区和逻辑分区分配驱动器盘符(C:,D:等)是不同的。
硬盘的分区规则
一个分区的所有扇区必须连续,硬盘可以有最多4个物理上的分区,这4个物理分区可以是4个主分区或者3个主分区加一个扩展分区。在DOS/Windows管理下的扩展分区里,可以而且必须再继续划分逻辑分区(逻辑盘)。
从MS-DOS3.2问世以后,用户就可以在一个物理硬盘驱动器上划分一个主分区和一个扩展分区,并在扩展分区上创建多个逻辑驱动器,也即我们常说的一个物理盘上多个逻辑盘。
举一个例子,一个10G的硬盘,安装Windows,有C:、D:、E:三个逻辑盘,那么它的分区情况可以是如下的方式:
分区一:主分区2GB,格式化为C:盘。
分区二:扩展分区8GB。它被再划分为两个各4GB的逻辑盘,格式化为以D:和E:盘。
在一个划分有多个主分区的硬盘上,则可安装多个不同的操作系统。如Windows、Linux、Solaris等。每个操作系统自己去管理分配给自己的分区。但是,每个操作系统对分区的操作方式是不同的。对于DOS/Windows来说,它能够把它所能管辖的一个主分区和一个扩展分区格式化,然后按照 C:、D:、E:逻辑盘的方式来管理。而Linux则不同,它是把“分区”看作一个设备,既没有“扩展分区”的概念,也没有“逻辑盘”的概念。
可能的硬盘分区方案: (1)一个主分区 (2)一个主分区和一个扩展分区与逻辑驱动器 (3)两个主要分区和一个扩展分区与逻辑驱动器 (4)三个主分区和一个扩展分区与逻辑驱动器 (5)四个主分区
(6)一个扩展分区与用于硬盘无法用于引导过程逻辑驱动器。
一旦系统建立,这些分区之间功能上就没有差别了,只是C:是唯一的可引导分区,是在所有的DOS系统文件驻留的分区。常规文件可以放在任何分区中。
二、主引导记录MBR
硬盘的0柱面、0磁头、1扇区称为主引导记录MBR(也叫主引导扇区),该记录占用512个字节,它用于硬盘启动时将系统控制权转给用户指定的、在分区表中登记了某个操作系统分区。MBR记录着硬盘本身的相关信息以及硬盘各个分区的大小及位置信息,是数据信息的重要入口。如果它受到破坏,硬盘上的基本数据结构信息将会丢失,需要用繁琐的方式试探性的重建数据结构信息后才可能重新访问原先的数据。MBR的内容是在硬盘分区时由分区软件(如FDISK)写入该扇区的,MBR不属于任何一个操作系统,不随操作系统的不同而不同,即使不同,MBR也不会夹带操作系统的性质,具有公共引导的特性。但安装某些多重引导功能的软件或LINUX的LILO时有可能改写它;它先于所有的操作系统被调入内存并发挥作用,然后才将控制权交给活动主分区内的操作系统(如下图)。
位址 | 描述 | 长度 (字节) | |||
---|---|---|---|---|---|
Hex | Oct | Dec | |||
0000 | 0000 | 0 | 主引导程序代码 | 440 (最大 446) | |
01B8 | 0670 | 440 | 选用磁盘标志 | 4 | |
01BC | 0674 | 444 | 一般为空值; 0x0000 | 2 | |
01BE | 0676 | 446 | 标准 MBR 分区表规划 (四个16 byte的主分区表入口) | 64 | |
01FE | 0776 | 510 | 55h | MBR 有效标志: 0x55AA | 2 |
01FF | 0777 | 511 | AAh | ||
MBR, 总大小: 446 + 64 + 2 = | 512 |
- 主引导程序代码,占446字节
- 硬盘分区表DPT,占64字节
- 主引导扇区结束标志AA55H
偏移 | 长度(字节) | 意义 |
---|---|---|
00H | 1 | 分区状态:00-->非活动分区;80--> 活动分区; 其它数值没有意义 |
01H | 1 | 分区起始磁头号(HEAD),用到全部8位 |
02H | 2 | 分区起始扇区号(SECTOR),占据02H的位0-5; 该分区的起始磁柱号(CYLINDER),占据 02H的位6-7和03H的全部8位 |
04H | 1 | 文件系统标志位 |
05H | 1 | 分区结束磁头号(HEAD),用到全部8位 |
06H | 2 | 分区结束扇区号(SECTOR),占据06H的位0-5; 该分区的起始磁柱号(CYLINDER),占据 06H的位6-7和07H的全部8位 |
08H | 4 | 分区起始相对扇区号 |
0CH | 4 | 分区总的扇区数 |
从偏移01BEH开始到偏移01FDH结束的64字节;
硬盘分区表分为四小部分,每一小部分表示一个分区的信息,占16字节。在这里我们可以看出,硬盘的总分区数为什么不能大于4。其中可激活分区数不得大于3,扩展分区数不得大于1,当前活动分区数必须小于等于1。 分区表的每一分区的第0个字节是自举标志,其值为80H时,表示该分区是当前活动分区,可引导,其值为00H时,表示该分区不可引导。 第4字节是分区类型(图三)。 每一分区的第1至第3字节是该分区起始地址。其中第1字节为起始磁头号(面号);第2字节的低6位为起始扇区号,高2位则为起始柱面号的高2位;第3字节为起始柱面号的低8位。因此,分区的起始柱面号是用10位二进制数表示的,最大值为2^10 = 1024,因逻辑柱面号从0开始计,故柱面号的显示最大值为1023。同理,用6位二进制数表示的扇区号不会超过2^6 - 1 = 63;用8位二进制数表示的磁头号不会超过2^8 - 1 = 255。每一分区的第5至第7字节表示分区的终止地址,各字节的释义与第1至第3字节相同。这里我们假设一种极端的情况:如果让第5至第7字节的所有二进制位都取1,就获得了柱面号、磁头号和扇区号所能表示的最大值,从而得到最大绝对扇区号为: 1024 × 256 × 63 = 16,515,072 这个扇区之前的所有物理扇区所包含的字节数为: 16,515,072 × 512Bytes ≈ 8.46×109Bytes = 8.46GB。 由此可知硬盘的容量设计为什么会有8.4GB这一档,分区表每一分区的第1至第3字节以及第5至第7字节的数据结构已经不能满足大于8.46GB的大容量硬盘的需要。考虑到向下兼容的需要,业界并未对从DOS时代就如此定义的硬盘分区表提出更改意见,否则改动所牵涉的面太广,会造成硬件和软件发展上的一个断层,几乎无法被业界和用户所接受。硬盘厂商解决这一问题的方法是定义了新的INT 13服务扩展标准。新的INT 13服务扩展标准不再使用操作系统的寄存器传递硬盘的寻址参数,而使用存储在操作系统内存里的地址包。地址包里保存的是64位LBA地址,如果硬盘支持LBA寻址,就把低28位直接传递给ATA接口,如果不支持,操作系统就先把LBA地址转换为CHS地址,再传递给ATA接口。通过这种方式,能实现在ATA总线基础上CHS寻址的最大容量是136.9 GB,而LBA寻址的最大容量是137.4GB。新的硬盘传输规范ATA 133规范又把28位可用的寄存器空间提高到48位,从而支持更大的硬盘。 分区表每一分区的第8至第11字节表示该分区的起始相对扇区数(即该扇区之前的绝对扇区个数),高位在右,低位在左;第12至第15字节表示该分区实际占用的扇区数,也是高位在右,低位在左;分区表这类数据结构的表达方式与机器中数据的实际存储方式在顺序上是一致的,即低位在前,高位在后。因此,在从16进制向十进制作数值转换时,需将字段中的16进制数以字节为单位翻转调位,用4个字节可以表示最大2^32个扇区,即2TB=2048GB。 系统在分区时,各分区都不允许跨柱面,即均以柱面为单位,这就是通常所说的分区粒度。在未超过8.4GB的分区上,C/H/S的表示方法和扇区数的表示方法所表示的分区大小是一致的。超过8.4GB的/H/S/C一般填充为FEH/FFH/FFH,即C/H/S所能表示的最大值;有时候也会用柱面对1024的模来填充。不过这几个字节是什么其实都无关紧要了。 扩展分区中的每个逻辑驱动器都存在一个类似于MBR的扩展引导记录(Extended Boot Record,EBR)(如下图)。 扩展引导记录包括一个扩展分区表和扇区结束标志55AA。一个逻辑驱动器中的引导扇区一般位于相对扇区32或63。如果磁盘上没有扩展分区,那么就不会有扩展引导记录和逻辑驱动器。第一个逻辑驱动器的扩展分区表中的第一项指向它自身的引导扇区;第二项指向下一个逻辑驱动器的EBR,如果不存在进一步的逻辑驱动器,第二项就不会使用,而被记录成一系列零。如果有附加的逻辑驱动器,那么第二个逻辑驱动器的扩展分区表的第一项会指向它本身的引导扇区,第二个逻辑驱动器的扩展分区表的第二项指向下一个逻辑驱动器的EBR。扩展分区表的第三项和第四项永远都不会被使用。 扩展分区表项中的相对扇区数是从扩展分区开始的扇区到该逻辑驱动器中第一个扇区的扇区数;占用的扇区数是指组成该逻辑驱动器的扇区数目。 有时候在磁盘的末尾会有剩余空间,由于分区是以1柱面的容量为分区粒度的,那么如果磁盘总空间不是整数个柱面的话,不够一个柱面的剩下的空间就是剩余空间了,这部分空间并不参与分区,所以一般无法利用。 3、主引导扇区的最后两个字节(偏移1FEH和偏移1FFH)其值为AA55H,它表示该扇区是个有效的引导扇区,可用来引导硬磁盘系统。
4、主引导扇区的读取流程(系统开机或者重启) (1)BIOS 加电自检 ( Power On Self Test -- POST )。BIOS执行内存地址为 FFFF:0000H 处的跳转指令,跳转到固化在ROM中的自检程序处,对系统硬件(包括内存)进行检查。(2)读取主引导记录(MBR)。当BIOS检查到硬件正常并与 CMOS 中的设置相符后,按照 CMOS 中对启动设备的设置顺序检测可用的启动设备。BIOS将相应启动设备的第一个扇区(也就是MBR扇区)读入内存地址为0000:7C00H 处。
(3)检查0000:7DFEH-0000:7DFFH(MBR的结束标志位)是否等于55AAH,若不等于则转去尝试其他启动设备,如果没有启动设备满足要求则显示"NO ROM BASIC"然后死机。
(4)当检测到有启动设备满足要求后,BIOS将控制权交给相应启动设备。启动设备的MBR将自己复制到0000:0600H处, 然后继续执行。
(5)根据MBR中的引导代码启动引导程序。
主分区可以直接通过作为驱动器并能另外分区。 操作系统是通常安装在主分区。 因此可以从活动分区启动操作系统。
(1)BIOS 运行开机自检 (POST)。
(2)BIOS 寻找启动设备。 这通常是硬盘上。
(3)从硬盘启动时 BIOS 加载 MBR。
(4)MBR 确定活动分区。
(5)从活动分区 MBR 加载引导扇区。
(6)引导扇区初始化加载的操作系统。
启动过程:BIOS --> 启动设备的MBR --> 活动分区 --> 引导扇区 --> 操作系统
三、 LBA硬盘模式
LBA(Logical Block Addressing)逻辑块寻址。在 LBA 模式下,我们知道硬盘上的一个数据区域由它所在的磁头、柱面(也就是磁道)和扇区所唯一确定。早期系统就是直接使用磁头柱面和扇区来对硬盘进行寻址(这称为CHS寻址),这需要分别存储每个区域的三个参数(这称为3D参数),使用时再分别读取三个参数,然后再送到磁盘控制器去执行。由于系统用8b来存储磁头地址,用10b来存储柱面地址,用6b来存储扇区地址,而一个扇区共有512B,这样使用CHS寻址一块硬盘最大容量为256 * 1024 * 63 * 512B = 8064 MB(1MB = 1048576B)(若按1MB=1000000B来算就是8.4GB)。随着硬盘技术的进步,硬盘容量越来越大,CHS模式无法管理超过8064 MB的硬盘,因此工程师们发明了更加简便的LBA寻址方式。在LBA地址中,地址不再表示实际硬盘的实际物理地址(柱面、磁头和扇区)。LBA编址方式将CHS这种三维寻址方式转变为一维的线性寻址,它把硬盘所有的物理扇区的C/H/S编号通过一定的规则转变为一线性的编号,系统效率得到大大提高,避免了烦琐的磁头/柱面/扇区的寻址方式。在访问硬盘时,由硬盘控制器再将这种逻辑地址转换为实际硬盘的物理地址。
四、fdisk命令
1、DOS中的fdisk FDISK进行硬盘分区从实质上说就是对硬盘的一种格式化。当我们创建分区时,就已经设置好了硬盘的各项物理参数,指定了硬盘主引导记录(即MasterBootRecord,MBR)和引导记录备份的存放位置。而对于文件系统以及其他操作系统管理硬盘所需要的信息则是通过之后的高级格式化,即Format命令来实现。用一个形象的比喻,分区就好比在一张白纸上画一个大方框。而格式化好比在方框里打上格子。安装各种软件就好比在格子里写上字。分区和格式化就相当于为安装软件打基础,实际上它们为电脑在硬盘上存储数据起到标记定位的作用。 删除分区的顺序:从下往上,即“非DOS分区”→“逻辑分区”→“扩展分区”→“主分区”。 创建分区的顺序:遵循“主分区→扩展分区→逻辑分区”的次序原则,正好和删除分区相反。 2、Linux中的fdisk 通过《合理规划您的硬盘分区》 ,我们知道主分区(包括扩展分区)的总个数不能超过四个;也不能把扩展分区包围在主分区之间;根据这个原则,我们划分硬盘分区就比较容易的多;也能为以后减少不必要的麻烦; 1、通过 fdisk -l 查看机器情况; 所挂硬盘个数及分区 [root@localhost beinan]# fdisk -l Disk /dev/hda: 80.0 GB, 80026361856 bytes 255 heads, 63 sectors/track, 9729 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 765 6144831 7 HPFS/NTFS /dev/hda2 766 2805 16386300 c W95 FAT32 (LBA) /dev/hda3 2806 9729 55617030 5 Extended /dev/hda5 2806 3825 8193118+ 83 Linux /dev/hda6 3826 5100 10241406 83 Linux /dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris /dev/hda8 5199 6657 11719386 83 Linux /dev/hda9 6658 7751 8787523+ 83 Linux /dev/hda10 7752 9729 15888253+ 83 Linux Disk /dev/sda: 1035 MB, 1035730944 bytes 256 heads, 63 sectors/track, 125 cylinders Units = cylinders of 16128 * 512 = 8257536 bytes Device Boot Start End Blocks Id System /dev/sda1 1 25 201568+ c W95 FAT32 (LBA) /dev/sda2 26 125 806400 5 Extended /dev/sda5 26 50 201568+ 83 Linux /dev/sda6 51 76 200781 83 Linux 通过上面的信息,我们知道此机器中挂载两个硬盘(或移动硬盘),其中一个是hda 另一个是sda ;如果我们想查看单个硬盘情况,可以通过 fdisk -l /dev/hda1 或者fdisk -l /dev/sda1 来操作;以fdisk -l 输出的硬盘标识为准; 其中 hda有三个主分区(包括扩展分区),分别是主分区 hda1 hda2 和hda3(扩展分区) ;逻辑分区是 hda5到hda10; 其中 sda 有两个主分区(包括扩展分区),分别是 hda1 和hda2 (扩展分区);逻辑分区是 sda5 hda6 ;硬盘总容量=主分区(包括扩展分区)总容量 扩展分区容量=逻辑分区总容量通过上面的例子,我们可以得知 hda=hda1+hda2+hda3,其中hda3=hda5+hda6+hda7+hda8+hda9+hda10 ... ... 2、关于fdisk -l 一些数值的说明 Disk /dev/hda: 80.0 GB, 80026361856 bytes 255 heads, 63 sectors/track, 9729 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes 这个硬盘是80G的,有255个磁面;63个扇区;9729个磁柱;每个 cylinder(磁柱)的容量是 8225280 bytes=8225.280 K(约为)=8.225280M(约为);分区序列 引导 开始 终止 容量 分区类型ID 分区类型
Device Boot Start End Blocks Id System /dev/hda1 * 1 765 6144831 7 HPFS/NTFS /dev/hda2 766 2805 16386300 c W95 FAT32 (LBA) /dev/hda3 2806 9729 55617030 5 Extended /dev/hda5 2806 3825 8193118+ 83 Linux /dev/hda6 3826 5100 10241406 83 Linux /dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris /dev/hda8 5199 6657 11719386 83 Linux /dev/hda9 6658 7751 8787523+ 83 Linux /dev/hda10 7752 9729 15888253+ 83 Linux 说明: 硬盘分区的表示:在Linux 是通过hd*x 或 sd*x 表示的,其中 * 表示的是a、b、c ... ... x表示的数字 1、2、3 ... ... hd大多是IDE硬盘;sd大多是SCSI或移动存储; 引导(Boot):表示引导分区,在上面的例子中 hda1 是引导分区; Start (开始):表示的一个分区从X cylinder(磁柱)开始; End (结束):表示一个分区到 Y cylinder(磁柱)结束; id和System 表示的是一个意思,id看起来不太直观,我们要在fdisk 一个分区时,通过指定id来确认分区类型;比如 7表示的就NTFS 分区;这个在fdisk 中要通过t功能来指定。Blocks(容量):这是我翻译的,其实不准确,表示的意思的确是容量的意思,其单位是K;一个分区容量的值是由下面的公式而来的; Blocks = (相应分区End数值 - 相应分区Start数值)x 单位cylinder(磁柱)的容量 所以我们算一下 hda1的 Blocks 的大小 : hda1 Blocks=(765-1)x8225.280=6284113.92 K = 6284.113.92M 注:换算单位以硬盘厂家提供的10进位算起,如果以操作系统二进制来算,这个分区容量应该更少一些,得出的这个值和我们通过 fdisk -l 看到的 /dev/hda1的值是大体相当的,因为换算方法不一样,所以也不可能尽可能的精确;再加上分区时的一点损失之类,有时或大或小是存在的;我们查看分区大小或者文件的时候,还是用十进制来计算比较直观;推算办法是 byte 向前推小数点三位就是K ,K单位的值向前推小数点三位就是M,M向前推小数点三位就是G... ... 一般也差不了多少;这么算就行;
3、估算一个存储设备是否被完全划分 我们估算一个硬盘是否完全被划分,我们只要看 fdisk -l 输出的内容中的 cylinders(柱体) 上一个分区的End 和 下一个分区的Start是不是一个连续的数字,另外要看一下每个硬盘设备的fdisk -l 的开头部分,看一下他的 cylinders(柱体)的值;比如hda设备,我们看到的是 9729 cylinders ;我们通过 hda的分区表可以看到上一个分区的End的值+1 就是下一个分区的Start 的值;比如 hda2的Start的值是 hda1 的End 的值+1,这证明 hda1 和hda2 中间没有空白分区,是连续的,以此类推;在 hda10,我们看到 End 的值是9729 ,而在fdisk -l头部信息中也有9729 cylinders,证明这个硬盘已经完全划分; Disk /dev/sda: 1035 MB, 1035730944 bytes 256 heads, 63 sectors/track, 125 cylinders Units = cylinders of 16128 * 512 = 8257536 bytes Device Boot Start End Blocks Id System /dev/sda1 1 25 201568+ c W95 FAT32 (LBA) /dev/sda2 26 125 806400 5 Extended /dev/sda5 26 50 201568+ 83 Linux /dev/sda6 51 76 200781 83 Linux我们再看看 sda 移动储是不是被完全划分了;sda有 125个cylinders (柱体),有一个主分区和一个扩展分区构成;在扩展分区中,我们看到End的值为125,而这个移动硬盘的cylinder也是125,这能说明这个硬盘不可能再添加任何主分区了;根据我们上面所说的 sda1 sda2 sda5 sda6 之间未有任何未划分空间,但sda6 的cylinders (柱体)的End值却是 76 ,而 sda总的cylinders (柱体)有125个,由此看来sda 在 sda6后面有未划分区域;至于sda 有多少未划分空间,我们算一下就知道了;扩展分区总容量是 806400 K ,大约是 806.400M左右,而逻辑分区 sda5 和sda6 的大小加起来是 400M左右,所以还仍有400M左右未划分空间,并且只能划分为链逻辑分区;
五、ZBR
磁盘分区后,0磁道在最外圈,C盘在最外圈。 以前的硬盘技术,内圈外圈每个次到的扇区数是相同的,所以速度都是一样的。 现在硬盘都普遍采用了ZDR技术。ZDR(Zone Data Recording),即区域数据记录技术。由于硬盘的主轴的工作方式都是CAV(Constant Angular Velocity,恒定角速度)。而盘片最外圈的周长比最内圈的周长要长很多,磁头在最外圈时,虽然旋转的角度与最内圈时一样,但走过的距离就长多了。这样,如果最内圈与最外圈磁道的扇区数相同,必将造成极大的存储空间的浪费。为此,硬盘厂商们开发了ZDR技术,即从磁盘的最外圈到最内圈划分出若干个区域。每个区域内的每磁道扇区数一致,但靠内的区域比外侧的区域的每磁道扇区数要少,从而可以根据不同的磁道长度来合理设定扇区数量,以达到充分利用磁盘的存储空间的目的。但设置多少个区域,每个区域的扇区数设定也都是有讲究的,否则会在向内跨区域读写时造成传输率下降过大而影响整体性能。大多数产品划分了16个区域,最外圈的每磁道扇区数正好是最内圈的一倍,与持续传输率的变化基本成比例。 所以磁盘旋转的时候,越在外圈的线速度越大,读取的扇区数就越多,传输率就越高 ,按照一般的分区方法,C盘是在盘片的最外圈的。
六、引导盘和启动盘、安装ghost XP
1、引导盘与启动盘
引导盘和启动盘都可以启动电脑,网上对两者也有不做区分的,认为他们是同一个概念。但如果做区分,一般来说,引导盘只提供了最基本的启动文件,而启动盘还包括了常用的DOS工具、基本的光盘驱动等。通常启动盘是用来救命和重新安装系统所必须的,引导盘就没有太大的实际意义了。应该是启动盘要包含引导盘。
系统启动并不是一个简单的过程,但是必须先加载和引导必要的系统文件,读取磁盘的扇区等信息。这个过程才是引导,而只要有引导文件就足够了,不需要其它的文件。接着下一步要启动系统,就需要启动系统的一些必要文件,这个时候,已经不再是简简单单的引导文件所能做的了,所以这个时候就应该由启动文件来起做用了。但是由于这些文件都不是很大,甚至小的只有几kb,所以完全可以把他们全部都放在一张软盘或者光盘中,没有必要非得放在不同的盘中,一张使用后在放另一张。因为这是一个连续的过程,完全可以把这些文件放在一起。
2、Bootable USB Drive Creator Tool
由于笔者用USBoot V1.7制作hdd模式的引导盘后,并没有引导到DOS环境,其他模式也没有成功,决定尝试下其它工具。笔者搜到了一个免费小软件Bootable USB Drive Creator Tool,制作的引导盘能正确进入DOS环境。下载地址:http://www.softpedia/get/System/Boot-Manager-Disk/Bootable-USB-Drive-Creator-Tool.shtml,或直接从本博客下载http://filesblogs/JCSU/Bootable_USB_Drive_Creator_Tool.rar。
解压后,插入U盘,双击Bootable USB Drive Creator Tool.exe运行。配置界面√上“Create Bootable Drive”,并指定文件夹MS-DOS的路径,点“开始”(如下图),等待制作完成。
DOS引导盘制做完成。提示界面和U盘内容如下图示:
DOS引导盘的使用。使用环境是:将硬盘分区全部删除,不做其他处理。插入引导U盘,F12后选择从U盘启动,能顺利进入DOS界面(如下图),dir正常。
3、安装GHOST版操作系统
下一步要做的是对硬盘进行分区。这里用fdisk工具,下载地址http://www.freedos/software/?prog=fdisk或http://filesblogs/JCSU/fdisk131.zip。下载解压缩后,将PROGRAM文件夹命名为fdisk,并将文件夹拷入U盘,就可以在上述使用环境下进行下一步操作,即对硬盘进行分区了。分区遵循主分区->扩展分区->逻辑分区的顺序原则。fdisk的使用可参考网上资料,注意的是FDISK Options应先选择第5项Change current fixed disk drive为硬盘(笔者电脑上为Disk 2),最后记得要设置一个主分区为活动分区。
为了装ghost版的操作系统,从http://www.freedos/software/?prog=format下载format工具,并对主分区格式化。
Symantec Ghost: 大名鼎鼎的硬盘备份工具,它可以把一个磁盘上的全部内容复制到另外一个磁盘上,也可以把磁盘内容复制为一个磁盘的镜像文件,以后你可以用镜像文件创建一个原始磁盘的拷贝。它可以最大限度地减少你每次安装 Win95、WinNT 和 OS/2 等操作系统的时间。GHOST在DOS下运行,并且可以从一张 DOS 引导盘(或称为启动软盘/U盘)上运行,也可将其刻录进启动光盘。用启动盘进入Dos环境后,在提示符下输入ghost,回车即可运行ghost。支持从 NFTS中恢复镜像文件(但不要将程序安装在 NTFS 分区内,否则在 DOS下无法运行 Ghost)。
有了对ghost的初步认识,我们将ghost镜像文件(如WINXP.GHO)和ghost软件(下载地址http://filesblogs/JCSU/ghost.exe.rar)拷到U盘中,ghost软件也可以先下载symantec ghost 11,安装后找到安装目录,也可以找到ghost.exe。进入DOS界面,输入ghost,Local->Partition->From Image,找到镜像文件就可以进行恢复了。等待恢复完成,拔出U盘,重启电脑,xp操作系统就会自动安装好了。
上述步骤中用到的软件比较基础,安装过程比较复杂,但对新手还是有帮助的。
七、NTLDR is missing
解决办法:进入PE操作系统,查找是否有“修改引导文件”的工具。如果有,可以按以下做一下,我的问题就是这么解决的:
/NT52 Applies to Operating Systems using boot code for NTLDR (NT LOADER) -- NT version 5.2 (IE: 2000, XP, 2003)
/NT60 Applies to Operating Systems using boot code for BOOTMGR -- NT versions 6.xx (IE: Vista, 2008, Windows 7, etc)
NTLDR works with the Boot.ini file
BOOTMGR works with BCD
【参考】
主引导记录(MBR):http://zh.wikipedia/wiki/主å¼Â导æÂÂåº
主分区、逻辑分区:http://wenku.baidu/view/d43e96daa58da0116c174914.html?from=rec&pos=2&weight=30&lastweight=17&count=4
活动分区、引导管理者:http://www.pcguide/ref/hdd/file/struct_Active.htm
用U盘装系统:http://jingyan.baidu/article/642c9d34b26392644b46f776.html
转载于:https://wwwblogs/JCSU/articles/2469483.html
版权声明:本文标题:硬盘分区、安装XP系统 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1729036744h1309851.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论