前言:
目前咱们对“centos安装parted”大致比较着重,姐妹们都需要分析一些“centos安装parted”的相关资讯。那么小编在网摘上搜集了一些有关“centos安装parted””的相关内容,希望看官们能喜欢,各位老铁们一起来了解一下吧!#头条创作挑战赛#
磁盘存储和文件系统
1 磁盘结构1.1 设备文件
一切皆文件:open(), read(), write(), close()
设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信
设备号码:
主设备号:major number, 标识设备类型次设备号:minor number, 标识同一类型下的不同设备
设备类型:
块设备:block,存取单位“块”,磁盘字符设备:char,存取单位“字符”,键盘
磁盘设备的设备文件命名:
/dev/DEV_FILE/dev/sdX # SAS,SATA,SCSI,IDE,USB/dev/nvme0n# #nvme协议硬盘,如:第一个硬盘:nvme0n1,第二个硬盘:nvme0n2
虚拟磁盘:
/dev/vd/dev/xvd
不同磁盘标识:a-z,aa,ab…
/dev/sda,/dev/sdb, ...
同一设备上的不同分区:1,2, ...
/dev/sda1/dev/sda5
案例:创建设备文件
1 确定磁盘的设备号:
首先,您需要确定要创建设备文件的磁盘的设备号。您可以使用lsblk命令来查看系统中的磁盘设备及其相关信息。打开终端,并输入以下命令:
lsblk
在输出中,找到要创建设备文件的磁盘。记下其MAJ:MIN值,这是设备的主设备号和次设备号。例如,假设要创建一个名为/dev/sdb的设备文件,其设备号为8:16。
2 创建设备文件:
使用mknod命令来创建设备文件。打开终端,并输入以下命令:
sudo mknod /dev/sdb b 8 16
其中,/dev/sdb是要创建的设备文件路径,b表示块设备类型,8是主设备号,16是次设备号。请确保使用sudo命令以管理员权限运行该命令。
案例:操纵设备文件
现在,可以操纵设备文件以进行各种操作,例如挂载磁盘、格式化磁盘或进行数据传输等。以下是一些常见的操作示例:
挂载磁盘:
使用mount命令来挂载磁盘。首先,创建一个目标目录,例如/mnt/mydisk,然后运行以下命令来挂载磁盘:
sudo mount /dev/sdb /mnt/mydisk格式化磁盘:
使用适当的工具(例如mkfs命令)来格式化磁盘。例如,要使用ext4文件系统格式化磁盘,运行以下命令:
sudo mkfs.ext4 /dev/sdb进行数据传输:
使用cp命令或其他文件传输工具将文件从系统中的一个位置复制到磁盘中。例如,要将文件myfile.txt复制到挂载的磁盘上,运行以下命令:
sudo cp myfile.txt /mnt/mydisk
注意,创建设备文件和操纵设备文件是一项敏感的操作,需要谨慎处理。确保了解正确的设备号,并且具有足够的权限来创建设备文件和执行相应的操作。
1.2 硬盘类型
硬盘接口类型
IDE:133MB/s,并行接口,早期家用电脑SCSI:640MB/s,并行接口,早期服务器SATA:6Gbps,SATA数据端口与电源端口是分开的,即需要两条线,一条数据线,一条电源线SAS:6Gbps,SAS是一整条线,数据端口与电源端口是一体化的,SAS中是包含供电线的,而SATA中不包含供电线。SATA标准其实是SAS标准的一个子集,二者可兼容,SATA硬盘可以插入SAS主板上,反之不行USB:480MB/sM.2:
注意:速度不是由单纯的接口类型决定,支持Nvme协议硬盘速度是最快的
服务器硬盘大小
LFF:3.5寸,一般见到的那种台式机硬盘的大小SFF:Small Form Factor 小形状因数,2.5寸,注意不同于2.5寸的笔记本硬盘
L、S分别是大、小的意思,目前服务器或者盘柜采用sff规格的硬盘主要是考内虑增大单位密度内的磁盘容量、增强散热、减小功耗
1.3 机械硬盘和固态硬盘
机械硬盘(HDD):Hard Disk Drive,即是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。机械硬盘中所有的盘片都装在一个旋转轴上,每张盘片之间是平行的,在每个盘片的存储面上有一个磁头,磁头与盘片之间的距离比头发丝的直径还小,所有的磁头联在一个磁头控制器上,由磁头控制器负责各个磁头的运动。磁头可沿盘片的半径方向运动,加上盘片每分钟几千转的高速旋转,磁头就可以定位在盘片的指定位置上进行数据的读写操作。数据通过磁头由电磁流来改变极性方式被电磁流写到磁盘上,也可以通过相反方式读取。硬盘为精密设备,进入硬盘的空气必须过滤
固态硬盘(SSD):Solid State Drive,用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也与普通硬盘一致相较于HDD,SSD在防震抗摔、传输速率、功耗、重量、噪音上有明显优势,SSD传输速率性能是HDD的2倍
相较于SSD,HDD在价格、容量占有绝对优势
硬盘有价,数据无价,目前SSD不能完全取代HHD
机械硬盘结构:
固态硬盘(SSD):
2 管理存储
使用磁盘空间过程
1. 设备分区
2. 创建文件系统
3. 挂载新的文件系统
2.1 磁盘分区2.1.1 为什么分区优化I/O性能实现磁盘空间配额限制提高修复速度隔离系统和程序安装多个OS采用不同文件系统2.1.2 分区方式
两种分区方式:MBR,GPT
2.1.2.1 MBR分区
MBR:Master Boot Record,1982年,使用32位表示扇区数,分区不超过2T
划分分区的单位:
CentOS 5 之前按整柱面划分CentOS 6 版本后可以按Sector划分
0磁道0扇区:512bytes
446bytes: boot loader 启动相关 64bytes:分区表,其中每16bytes标识一个分区 2bytes: 55AA
MBR分区中一块硬盘最多有4个主分区,也可以3主分区+1扩展(N个逻辑分区)
MBR分区:主和扩展分区对应的1--4,/dev/sda3,逻辑分区从5开始,/dev/sda5
MBR分区结构:
硬盘主引导记录MBR由4个部分组成
0000-0088
Master Boot Record
主引导程序
主引导程序
0089-01BD
出错信息数据区
数据区
01BE-01CD
分区项1(16字节)
分区表
01CE-01DO
分区项2(16字节)
01DE-01ED
分区项3(16字节)
01EE-01FD
分区项4(16字节)
01FE
55
结束标志
01FF
AA
主引导程序(偏移地址0000H--0088H),它负责从活动分区中装载,并运行系统引导程序出错信息数据区,偏移地址0089H--00E1H为出错信息,00E2H--01BDH全为0字节分区表(DPT,Disk Partition Table)含4个分区项,偏移地址01BEH--01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4结束标志字,偏移地址01FE--01FF的2个字节值为结束标志55AA
MBR中DPT结构
存贮字节位
内容及含义
第1字节
引导标志,若值为SOH表示活动分区,若值为00H表示为非活动分区
第2、3、4字节
本分区的其实磁头号、扇区号、边柱号。其中
磁头号--第2字节;
扇区号--第3字节的低6位;
煮面号--为什么第3字节搞于2位+第4字节8面
第5字节
分区类型符:
00H--表示该分区未用(即使没有执行)
06H--FAT16基本分区
0BH--FAT32基本分区;
O5H--扩展分区
07H--NFTS分区
0FH--(LBA模式)扩展分区(83位linux分区等)
第6、7、8字节
本分区的结束磁头号、扇区号、柱面号,集中:
磁头号--第6字节
扇区号--第7字节的低6位
柱面号--第7字节的高2位+第8字节
第9、10、11、12字节
本分区之前已用了的扇函数
第13、14、15、16字节
本分区的总扇形区数
案例:备份MBR的分区表,并破坏后恢复
1. 备份MBR分区表:
打开终端,并使用`dd`命令将MBR分区表备份到一个文件中。假设您要备份的磁盘是`/dev/sdb`,备份文件名为`mbr_backup.bin`,则运行以下命令:
sudo dd if=/dev/sdb of=mbr_backup.bin bs=512 count=1
这会将磁盘`/dev/sdb`的第一个扇区(即MBR)复制到名为`mbr_backup.bin`的文件中。
2. 破坏MBR分区表:
模拟破坏情况,可以使用`dd`命令将一些随机数据写入MBR分区表。注意,这将导致磁盘上的所有分区信息丢失。运行以下命令来破坏MBR分区表:
sudo dd if=/dev/urandom of=/dev/sdb bs=512 count=1
3. 恢复MBR分区表:
使用备份的MBR分区表文件来恢复磁盘的分区表。运行以下命令来恢复MBR分区表:
sudo dd if=mbr_backup.bin of=/dev/sdb bs=512 count=1
将备份文件`mbr_backup.bin`中的内容写入磁盘`/dev/sdb`的第一个扇区,从而恢复MBR分区表。
注意,备份和恢复MBR分区表也是一项敏感的操作,需要谨慎处理。确保备份了正确的MBR分区表,并具有足够的权限才来执行这些操作。此外,破坏MBR分区表将导致数据丢失,请谨慎操作。
2.1.2.2 GPT分区
GPT:GUID(Globals Unique Identifiers) partition table 支持128个分区,使用64位,支持8Z(512Byte/block )64Z ( 4096Byte/block)使用128位UUID(Universally Unique Identifier) 表示磁盘和分区 GPT分区表自动备份在头和尾两份,并有CRC校验位。
UEFI (Unified Extensible Firmware Interface 统一可扩展固件接口)硬件支持GPT,使得操作系统可以启动
GPT分区结构
GPT分区结构分为4个区域:
GPT头分区表GPT分区备份区域2.1.3 BIOS和UEFI
BIOS是固化在电脑主板上的程序,主要用于开机系统自检和引导操作系统。目前新式的电脑基本上都是UEFI启动
BIOS(Basic Input Output System 基本输入输出系统)主要完成系统硬件自检和引导操作系统,操作系统开始启动之后,BIOS的任务就完成了。系统硬件自检:如果系统硬件有故障,主板上的扬声器就会发出长短不同的“滴滴”音,可以简单的判断硬件故障,比如“1长1短”通常表示内存故障,“1长3短”通常表示显卡故障
BIOS在1975年就诞生了,使用汇编语言编写,当初只有16位,因此只能访问1M的内存,其中前640K称为基本内存,后384K内存留给开机和各类BIOS本身使用。BIOS只能识别到主引导记录(MBR)初始化的硬盘,最大支持2T的硬盘,4个主分区(逻辑分区中的扩展分区除外),而目前普遍实现了64位系统,传统的BIOS已经无法满足需求了,这时英特尔主导的EFI就诞生了
EFI(Extensible Firmware Interface)可扩展固件接口,是 Intel 为 PC 固件的体系结构、接口和服务提出的建议标准。其主要目的是为了提供一组在 OS 加载之前(启动前)在所有平台上一致的、正确指定的启动服务,被看做是BIOS 的继任者,或者理解为新版BIOS。
UEFI是由EFI1.10为基础发展起来的,它的所有者已不再是Intel,而是一个称作Unified EFI Form的国际组织
UEFI(Unified Extensible Firmware Interface)统一的可扩展固件接口, 是一种详细描述类型接口的标准。UEFI 相当于一个轻量化的操作系统,提供了硬件和操作系统之间的一个接口,提供了图形化的操作界面。最关键的是引入了GPT分区表,支持2T以上的硬盘,硬盘分区不受限制
BIOS和UEFI区别
BIOS采用了16位汇编语言编写,只能运行在实模式(内存寻址方式由16位段寄存器的内容乘以16(10H)当做段基地址,加上16位偏移地址形成20位的物理地址)下,可访问的内存空间为1MB,只支持字符操作界面
UEFI采用32位或者64位的C语言编写,突破了实模式的限制,可以达到最大的寻址空间,支持图形操作界面,使用文件方式保存信息,支持GPT分区启动,适合和较新的系统和硬件的配合使用
BIOS+MBR与UEFI+GPT
MSDN (Microsoft Developer Network) 指出,Windows 只能安装于 BIOS + MBR 或是 UEFI + GPT 的组合上,而 BIOS + GPT 和 UEFI + MBR 是不允许的。但是 BIOS + GPT + GRUB 启动Linux 是可以的
2.1.3 管理分区
列出块设备
lsblk
创建分区命令
fdisk 管理MBR分区gdisk 管理GPT分区parted 高级分区操作,可以是交互或非交互方式
重新设置内存中的内核分区表版本,适合于除了CentOS 6 以外的其它版本 5,7,8
partprobe2.1.3.1 parted 命令
注意:parted的操作都是实时生效的,小心使用
格式:
parted [选项]... [设备 [命令 [参数]...]...]
案例:
sudo parted -l #列出当前系统上的所有磁盘#根据上一步中列出的磁盘信息,选择要进行分区的磁盘,假设选择的磁盘是/dev/sdbsudo parted /dev/sdb #使用parted工具打开选定的磁盘#使用parted的交互式命令来进行分区,以下是一些常用的命令示例:mklabel gpt 或者 mklabel msdos #创建一个新的分区表(GPT或MBR)格式:mkpart primary <文件系统类型> <起始位置> <结束位置> #创建一个新的分区例如:mkpart primary ext4 1MiB 100GiB格式:rm <分区号> #删除一个分区例如:rm 1print #显示当前分区表和分区信息quit #退出parted工具在完成分区操作后,可以使用其他工具(如mkfs命令)来格式化新创建的分区,并将其用于存储数据。
注意,使用parted工具进行磁盘分区当然也是一项敏感操作,需要谨慎操作并确保选择了正确的磁盘。在进行分区操作之前,备份重要数据,确保具有足够的权限来执行这些操作。
2.1.3.2 分区工具fdisk和gdisk
gdisk [device...] 类fdisk 的GPT分区工具fdisk -l [-u] [device...] 查看分区fdisk [device...] 管理MBR分区
子命令:
p 分区列表t 更改分区类型n 创建新分区d 删除分区v 校验分区u 转换单位w 保存并退出q 不保存并退出
查看内核是否已经识别新的分区
cat /proc/partations
CentOS 7,8 同步分区表:
partprobe
Centos6 通知内核重新读取硬盘分区表
新增分区用
partx -a /dev/DEVICE kpartx -a /dev/DEVICE -f: force#示例:[root@centos6 ~]#partx -a /dev/sda
删除分区用
partx -d --nr M-N /dev/DEVICE#示例:[root@centos6 ~]#partx -d --nr 6-8 /dev/sda
标签: #centos安装parted #分区不能超过2t #汇编指令格式化磁盘 #汇编指令格式化磁盘的方法 #汇编指令格式化磁盘是什么