安装操作系统是指借助于ISO镜像文件,更新硬盘主引导记录MBR,并按照规定位置在特定的柱面、磁道、扇区放置好相关文件,待用。
启动操作启动是指在安装操作系统的基础上,主板加电后,BIOS查找硬盘主引导记录,找到相应操作系统的柱面、磁道、扇区加载内核以及其他文件。
刻录是以块为单位,复制是以文件为单位。复制过程中,无权限复制某些系统文件以及MBR,所以复制出的启动U盘是无法使用的。但刻录是一比一的,可以将系统文件以及MBR原封不动的克隆到其他位置。
硬盘的0柱面、0磁头、1扇区称为主引导扇区。一共512字节。
主引导程序(偏移地址0000H--0088H),它负责从活动分区中装载,并运行系统引导程序。
出错信息数据区,偏移地址0089H--00E1H为出错信息,00E2H--01BDH全为0字节。
分区表(DPT,Disk Partition Table)含4个分区项,偏移地址01BEH--01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4。
结束标志字,偏移地址01FE-01FF的2个字节值为结束标志55AA,如果该标志错误系统就不能启动。
针对ubuntu-22.04.1-desktop-amd64.iso镜像文件,其前512字节的内容如下。
占用512个字节的MBR中,偏移地址01BEH--01FDH的64个字节,为4个分区项内容(分区信息表)。它是由磁盘介质类型及用户在使用 FDISK定义分区说确定的。在实际应用中,FDISK对一个磁盘划分的主分区可少于4个,但最多不超过4个。每个分区表的项目是16个字节,其内容含义如下。
存贮字节位 | 内容及含义 |
第1字节 | 引导标志。若值为80H表示活动分区,若值为00H表示非活动分区。 |
第2、3、4字节 | 本分区的起始磁头号、扇区号、柱面号。其中: 磁头号——第2字节; 扇区号——第3字节的低6位; 柱面号——为第3字节高2位+第4字节8位。 |
第5字节 | 分区类型符。 00H——表示该分区未用(即没有指定); 06H——FAT16基本分区; 0BH——FAT32基本分区; 05H——扩展分区; 07H——NTFS分区; 0FH——(LBA模式)扩展分区(83H为Linux分区等)。 |
第6、7、8字节 | 本分区的结束磁头号、扇区号、柱面号。其中: 磁头号——第6字节; 扇区号——第7字节的低6位; 柱面号——第7字节的高2位+第8字节。 |
第9、10、11、12字节 | 本分区之前已用了的扇区数。 |
第13、14、15、16字节 | 本分区的总扇区数。 |
每个分区都拥有自己的启动扇区,可以用来存放引导程序,并且该引导程序可以将管理权交给另一引导程序(其他分区的引导扇区)或者自己引导所在的分区。是的,可开机的内核文件不是在引导扇区内,而是在各分区内。
上述两个原因表明了为何需要先安装 windows 操作系统,再安装 linux,否则将不会在开机的时候看到 linux 引导选项。
过去的软盘通常采用FAT12文件系统,软盘是不存在MBR的。软盘启动时,BIOS会检查软盘的0面0磁道1扇区,如果发现此扇区以0xaa55结束。则BIOS认为此扇区是一个可引导扇区(Boot Sector)。正确的Boot Sector除了以0xaa55结束外还应该包含512字节以内的执行代码。可以看出软盘引导扇区与硬盘MBR处于相同位置。
安装是指BIOS通过USB的MBR或者光盘的MBR进行的将USB中或光盘中的内容复制到硬盘对应存储区域,并修改硬盘MBR的过程。
启动是指BIOS通过硬盘的MBR将指定的启动扇区内容复制进入内存,进而多步导入操作系统内核镜像并运行的过程。
NAND FLASH。在U盘、各种存储卡里面的都是这种 FLASH。
由于工艺上的不同,它比NOR FLASH拥有更大存储容量,而且便宜。但也有缺点,就是无法寻址直接运行程序,只能存储数据。
通常使用NAND FLASH 存储数据和程序,但是必须有NOR FLASH来启动。必须先用一片小的NOR FLASH 启动机器,再把OS等软件从NAND FLASH 载入SDRAM中运行。
大部分的固态硬盘由三个主要零件组成,包含Controller控制芯片、DRAM以及NAND flash闪存。
控制芯片是NAND flash与电脑的主要沟通桥梁;
NAND flash则是由多个区块的非易失性内存颗粒所构成,也是数据主要储存的地方。
DRAM是易失性内存,需要持续供给电源才有储存数据的能力,为非必要的组成零件。
以镁光MT29F4G08BxB Nand Flash为例。这款Flash(如上图)以:
4个扇区(sector)组成1个页(page),
64个页(page)组成1个块(block),
4096个块(block)构成整个Flash存储器。
由于每个扇区的容量是512 字节(bytes),整个Flash容量为4224M Bit(相当于528M字节),去掉备用区域用于存放ECC数据校验16M(虚线部分),就是这个片子的容量512M字节。
其他型号的Flash也是同样由扇区组成页、由页组成块、块组成整个存储设备,只是扇区、页、块的数量多少有区别而已。