第二十五天-linux系统磁盘分区知识深入讲解
1.磁盘的基础知识:
1)磁盘的作用:存储数据,物理设备
2)外部结构:
正面板:固定面板,产地,容量,日期,转数,品牌,条形码,电压,透气孔,内六角螺丝等
反面板:绿色控制电路板,上面有芯片,电容,电阻,缓存等
buffer写入缓冲区,cache读取缓存区
侧面:电源接口,跳线,数据接口(ide sata sas scsi)
3)内部结构
磁盘片:2-14片,每个面都可以放数据
主轴组件:里面有轴承,马达电机。
磁头组件:磁头,机械手臂,传动轴
前置控制电路,数据转换器,永久磁铁,步进电机(控制磁头径向运动)
核心组件:磁头及盘片
4)磁盘存取原理: 磁盘读数据时,将磁盘上的磁粒子极性转换成脉冲信号,然后通过数据转换器转换成电脑可以识别的数据。
5)磁盘读写数据原理: 磁盘读写数据时,按照柱面来读写数据的,可能会先读一个盘面的某一磁道的数据,读完之后,再向下读取相投磁道不同盘面的数据,直到所有盘面相同磁道的数据被读取完毕,切换到下一个柱面,这个切换的过程叫寻道,寻道要靠不仅电机控制,让磁头做移动,这是机械运动,因此很慢。
6)磁盘相关的名字
disk 磁盘
head 磁头
sectors 分区大小
2.硬盘存储逻辑结构图
3.0磁道1扇区图
4.磁盘分区的重点:
1、磁盘分区的实质就是针对上述0磁道1扇区d的前446字节后面接下来的64bytes的分区表进行设置,分区工具有fdisk(适合小于2Td的磁盘分区),parted(适合大于2T的磁盘分区)。
2、一块磁盘的分区表仅有64字节大小,仅支持四个分区表(主+扩展)
3、磁盘的分区的最小单位为柱面(cylinder)
4、扩展分区不能直接使用,还需要在扩展分区的基础上创建逻辑分区才行。
5、扩展分区中有自己的分区表,因此,扩展分区下面的逻辑分区可以有多个。
5.范例
范例2:我可不可以仅分一个primary与一个extended分区呢?
当然可以,基本上logical可以有5-63编号,因此,你可以仅分一个主分区和一个扩展分区,并且将所有其它的剩余空间都给extened,然后在扩展分区上面利用logical分区来进行其它的更多分区规划。
范例3:假如我有一块sas硬盘,我想要把磁盘分成6个可以使用的磁盘分区,那么每一个磁盘分区在linux系统下的数字编号是多少?
说明:
由于硬盘在Primary+Extended最多可以有四个,因此,在linux系统下,会默认1~4的分区编号,保留下来跟主分区和扩展分区使用,逻辑分区不可以占用1-4分区编号。
6.fdisk - Partition table manipulator for linux
用fdisk 分区的实质,就是修改64字节的分区表信息。
可以使用fdisk分区的磁盘大小必须小于2T,如果大于2T呢,分区就用parted
fdisk -l
参数-l 输出后面设备的所有的分区的内容,若后边不接设备名称则会列出系统能够找到的所有分区的均列出来
[sudo] password for xiaorui: Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: gpt Disk identifier: 2D12C650-BE67-4C24-B54A-5AD957643A98 Device Start End Sectors Size Type /dev/sda1 2048 1050623 1048576 512M EFI System /dev/sda2 1050624 968757247 967706624 461.4G Linux filesystem /dev/sda3 968757248 976771071 8013824 3.8G Linux swap
7.常用的命令
partprobe
这个命令可以立刻读取最新的分区表,而不需要重新启动。
提示:
parted命令和fdisk命令不同,fdisk命令是等到你最后执行那个w的时候才生效最终写入到分区表中的,
parted命令是实时的写入到分区表中的,所以在操作有数据的磁盘的时候需要格外小心!
fdisk 磁盘分区命令,-l查看分区列表,使用于小于2T的分区工具
parted GNU磁盘分区工具,适合大于2T的分区工具
mount 挂载命令 -t 文件类型 -o 挂载的选项 -a
umount 卸载的命令 -lf强制卸载
dd convert and copy a file (dd if=/dev/sda of=mbr.bin bs=512 count=1)
8、优秀网友总结推荐