1.磁盘结构

1.1 设备文件

一切皆文件:open(), read(), write(), close()

设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信

设备号码:

  • 主设备号:major number, 标识设备类型
  • 次设备号:minor number, 标识同一类型下的不同设备

设备类型:

  • 块设备:block,存取单位“块”,磁盘
  • 字符设备:char,存取单位“字符”,键盘

范例:

[root@rocky8 ~]# ll /dev
total 0
crw-r--r-- 1 root root     10, 235 Oct 15 17:54 autofs
drwxr-xr-x 2 root root         180 Oct 15 17:54 block
drwxr-xr-x 2 root root          80 Oct 15 17:54 bsg
drwxr-xr-x 3 root root          60 Oct 15 17:54 bus
lrwxrwxrwx 1 root root           3 Oct 15 17:54 cdrom -> sr0
drwxr-xr-x 2 root root        2900 Oct 15 17:54 char
crw------- 1 root root      5,   1 Oct 15 17:54 console
lrwxrwxrwx 1 root root          11 Oct 15 17:54 core -> /proc/kcore
drwxr-xr-x 3 root root          60 Oct 15 17:54 cpu
crw------- 1 root root     10,  62 Oct 15 17:54 cpu_dma_latency
drwxr-xr-x 7 root root         140 Oct 15 17:54 disk
crw-rw---- 1 root audio    14,   9 Oct 15 17:54 dmmidi
drwxr-xr-x 3 root root         100 Oct 15 17:54 dri
crw-rw---- 1 root video    29,   0 Oct 15 17:54 fb0
lrwxrwxrwx 1 root root          13 Oct 15 17:54 fd -> /proc/self/fd
crw-rw-rw- 1 root root      1,   7 Oct 15 17:54 full
crw-rw-rw- 1 root root     10, 229 Oct 15 17:54 fuse
crw------- 1 root root    245,   0 Oct 15 17:54 hidraw0
crw------- 1 root root     10, 228 Oct 15 17:54 hpet
drwxr-xr-x 2 root root           0 Oct 15 17:54 hugepages
crw------- 1 root root     10, 183 Oct 15 17:54 hwrng
lrwxrwxrwx 1 root root          12 Oct 15 17:54 initctl -> /run/initctl
drwxr-xr-x 4 root root         280 Oct 15 17:54 input
crw-r--r-- 1 root root      1,  11 Oct 15 17:54 kmsg
lrwxrwxrwx 1 root root          28 Oct 15 17:54 log -> /run/systemd/journal/dev-log
crw-rw---- 1 root disk     10, 237 Oct 15 17:54 loop-control
drwxr-xr-x 2 root root          60 Oct 15 17:54 mapper
crw------- 1 root root     10, 227 Oct 15 17:54 mcelog
crw-r----- 1 root kmem      1,   1 Oct 15 17:54 mem
crw-rw---- 1 root audio    14,   2 Oct 15 17:54 midi
drwxrwxrwt 2 root root          40 Oct 15 17:54 mqueue
drwxr-xr-x 2 root root          60 Oct 15 17:54 net
crw-rw-rw- 1 root root      1,   3 Oct 15 17:54 null
crw------- 1 root root     10, 144 Oct 15 17:54 nvram
crw-r----- 1 root kmem      1,   4 Oct 15 17:54 port
crw------- 1 root root    108,   0 Oct 15 17:54 ppp
crw-rw-rw- 1 root tty       5,   2 Oct 15 18:00 ptmx
drwxr-xr-x 2 root root           0 Oct 15 17:54 pts
crw-rw-rw- 1 root root      1,   8 Oct 15 17:54 random
drwxr-xr-x 2 root root          60 Oct 15 17:54 raw
crw-rw-r-- 1 root root     10,  60 Oct 15 17:54 rfkill
lrwxrwxrwx 1 root root           4 Oct 15 17:54 rtc -> rtc0
crw------- 1 root root    251,   0 Oct 15 17:54 rtc0
brw-rw---- 1 root disk      8,   0 Oct 15 17:54 sda #8代表设备类型的主要编号,0代表次要编号
brw-rw---- 1 root disk      8,   1 Oct 15 17:54 sda1
brw-rw---- 1 root disk      8,   2 Oct 15 17:54 sda2
brw-rw---- 1 root disk      8,   3 Oct 15 17:54 sda3
brw-rw---- 1 root disk      8,   4 Oct 15 17:54 sda4
brw-rw---- 1 root disk      8,   5 Oct 15 17:54 sda5
crw-rw---- 1 root cdrom    21,   0 Oct 15 17:54 sg0
crw-rw---- 1 root disk     21,   1 Oct 15 17:54 sg1
drwxrwxrwt 2 root root          40 Oct 15 17:54 shm
crw------- 1 root root     10, 231 Oct 15 17:54 snapshot
drwxr-xr-x 3 root root         200 Oct 15 17:54 snd
brw-rw---- 1 root cdrom    11,   0 Oct 15 17:54 sr0
lrwxrwxrwx 1 root root          15 Oct 15 17:54 stderr -> /proc/self/fd/2
lrwxrwxrwx 1 root root          15 Oct 15 17:54 stdin -> /proc/self/fd/0
lrwxrwxrwx 1 root root          15 Oct 15 17:54 stdout -> /proc/self/fd/1
crw-rw-rw- 1 root tty       5,   0 Oct 15 17:54 tty
crw--w---- 1 root tty       4,   0 Oct 15 17:54 tty0
crw--w---- 1 root tty       4,   1 Oct 15 17:54 tty1
crw--w---- 1 root tty       4,  10 Oct 15 17:54 tty10
crw--w---- 1 root tty       4,  11 Oct 15 17:54 tty11
crw--w---- 1 root tty       4,  12 Oct 15 17:54 tty12
crw--w---- 1 root tty       4,  13 Oct 15 17:54 tty13
crw--w---- 1 root tty       4,  14 Oct 15 17:54 tty14
crw--w---- 1 root tty       4,  15 Oct 15 17:54 tty15
crw--w---- 1 root tty       4,  16 Oct 15 17:54 tty16
crw--w---- 1 root tty       4,  17 Oct 15 17:54 tty17
crw--w---- 1 root tty       4,  18 Oct 15 17:54 tty18
crw--w---- 1 root tty       4,  19 Oct 15 17:54 tty19
crw--w---- 1 root tty       4,   2 Oct 15 17:54 tty2
crw--w---- 1 root tty       4,  20 Oct 15 17:54 tty20
crw--w---- 1 root tty       4,  21 Oct 15 17:54 tty21
crw--w---- 1 root tty       4,  22 Oct 15 17:54 tty22
crw--w---- 1 root tty       4,  23 Oct 15 17:54 tty23
crw--w---- 1 root tty       4,  24 Oct 15 17:54 tty24
crw--w---- 1 root tty       4,  25 Oct 15 17:54 tty25
crw--w---- 1 root tty       4,  26 Oct 15 17:54 tty26
crw--w---- 1 root tty       4,  27 Oct 15 17:54 tty27
crw--w---- 1 root tty       4,  28 Oct 15 17:54 tty28
crw--w---- 1 root tty       4,  29 Oct 15 17:54 tty29
crw--w---- 1 root tty       4,   3 Oct 15 17:54 tty3
crw--w---- 1 root tty       4,  30 Oct 15 17:54 tty30
crw--w---- 1 root tty       4,  31 Oct 15 17:54 tty31
crw--w---- 1 root tty       4,  32 Oct 15 17:54 tty32
crw--w---- 1 root tty       4,  33 Oct 15 17:54 tty33
crw--w---- 1 root tty       4,  34 Oct 15 17:54 tty34
crw--w---- 1 root tty       4,  35 Oct 15 17:54 tty35
crw--w---- 1 root tty       4,  36 Oct 15 17:54 tty36
crw--w---- 1 root tty       4,  37 Oct 15 17:54 tty37
crw--w---- 1 root tty       4,  38 Oct 15 17:54 tty38
crw--w---- 1 root tty       4,  39 Oct 15 17:54 tty39
crw--w---- 1 root tty       4,   4 Oct 15 17:54 tty4
crw--w---- 1 root tty       4,  40 Oct 15 17:54 tty40
crw--w---- 1 root tty       4,  41 Oct 15 17:54 tty41
crw--w---- 1 root tty       4,  42 Oct 15 17:54 tty42
crw--w---- 1 root tty       4,  43 Oct 15 17:54 tty43
crw--w---- 1 root tty       4,  44 Oct 15 17:54 tty44
crw--w---- 1 root tty       4,  45 Oct 15 17:54 tty45
crw--w---- 1 root tty       4,  46 Oct 15 17:54 tty46
crw--w---- 1 root tty       4,  47 Oct 15 17:54 tty47
crw--w---- 1 root tty       4,  48 Oct 15 17:54 tty48
crw--w---- 1 root tty       4,  49 Oct 15 17:54 tty49
crw--w---- 1 root tty       4,   5 Oct 15 17:54 tty5
crw--w---- 1 root tty       4,  50 Oct 15 17:54 tty50
crw--w---- 1 root tty       4,  51 Oct 15 17:54 tty51
crw--w---- 1 root tty       4,  52 Oct 15 17:54 tty52
crw--w---- 1 root tty       4,  53 Oct 15 17:54 tty53
crw--w---- 1 root tty       4,  54 Oct 15 17:54 tty54
crw--w---- 1 root tty       4,  55 Oct 15 17:54 tty55
crw--w---- 1 root tty       4,  56 Oct 15 17:54 tty56
crw--w---- 1 root tty       4,  57 Oct 15 17:54 tty57
crw--w---- 1 root tty       4,  58 Oct 15 17:54 tty58
crw--w---- 1 root tty       4,  59 Oct 15 17:54 tty59
crw--w---- 1 root tty       4,   6 Oct 15 17:54 tty6
crw--w---- 1 root tty       4,  60 Oct 15 17:54 tty60
crw--w---- 1 root tty       4,  61 Oct 15 17:54 tty61
crw--w---- 1 root tty       4,  62 Oct 15 17:54 tty62
crw--w---- 1 root tty       4,  63 Oct 15 17:54 tty63
crw--w---- 1 root tty       4,   7 Oct 15 17:54 tty7
crw--w---- 1 root tty       4,   8 Oct 15 17:54 tty8
crw--w---- 1 root tty       4,   9 Oct 15 17:54 tty9
crw-rw---- 1 root dialout   4,  64 Oct 15 17:54 ttyS0
crw-rw---- 1 root dialout   4,  65 Oct 15 17:54 ttyS1
crw-rw---- 1 root dialout   4,  66 Oct 15 17:54 ttyS2
crw-rw---- 1 root dialout   4,  67 Oct 15 17:54 ttyS3
crw------- 1 root root     10, 239 Oct 15 17:54 uhid
crw------- 1 root root     10, 223 Oct 15 17:54 uinput
crw-rw-rw- 1 root root      1,   9 Oct 15 17:54 urandom
crw------- 1 root root    246,   0 Oct 15 17:54 usbmon0
crw------- 1 root root    246,   1 Oct 15 17:54 usbmon1
crw------- 1 root root    246,   2 Oct 15 17:54 usbmon2
crw-rw---- 1 root tty       7,   0 Oct 15 17:54 vcs
crw-rw---- 1 root tty       7,   1 Oct 15 17:54 vcs1
crw-rw---- 1 root tty       7,   2 Oct 15 17:54 vcs2
crw-rw---- 1 root tty       7,   3 Oct 15 17:54 vcs3
crw-rw---- 1 root tty       7,   4 Oct 15 17:54 vcs4
crw-rw---- 1 root tty       7,   5 Oct 15 17:54 vcs5
crw-rw---- 1 root tty       7,   6 Oct 15 17:54 vcs6
crw-rw---- 1 root tty       7, 128 Oct 15 17:54 vcsa
crw-rw---- 1 root tty       7, 129 Oct 15 17:54 vcsa1
crw-rw---- 1 root tty       7, 130 Oct 15 17:54 vcsa2
crw-rw---- 1 root tty       7, 131 Oct 15 17:54 vcsa3
crw-rw---- 1 root tty       7, 132 Oct 15 17:54 vcsa4
crw-rw---- 1 root tty       7, 133 Oct 15 17:54 vcsa5
crw-rw---- 1 root tty       7, 134 Oct 15 17:54 vcsa6
drwxr-xr-x 2 root root          60 Oct 15 17:54 vfio
crw------- 1 root root     10,  63 Oct 15 17:54 vga_arbiter
crw------- 1 root root     10, 137 Oct 15 17:54 vhci
crw------- 1 root root     10, 238 Oct 15 17:54 vhost-net
crw------- 1 root root     10, 241 Oct 15 17:54 vhost-vsock
crw------- 1 root root     10,  61 Oct 15 17:54 vmci
crw------- 1 root root     10,  59 Oct 15 17:54 vsock
crw-rw-rw- 1 root root      1,   5 Oct 15 17:54 zero

磁盘设备的设备文件命名:

/dev/DEV_FILE
/dev/sdX #SCSI, SATA, SAS, IDE,USB
/dev/nvme0n# #nvme协议硬盘,如:第一个硬盘:nvme0n1,第二个硬盘:nvme0n2

虚拟磁盘:

/dev/vdX
/dev/xvdX

不同磁盘标识:a-z,aa,ab…

范例:

[root@rocky8 ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  200G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0  100G  0 part /
├─sda3   8:3    0   50G  0 part /data
├─sda4   8:4    0    1K  0 part 
└─sda5   8:5    0    2G  0 part [SWAP]
sr0     11:0    1  9.2G  0 rom 

同一设备上的不同分区:1,2, …

/dev/sda1
/dev/sda5

范例:

[root@rocky8 ~]# fdisk /dev/sda -l
Disk /dev/sda: 200 GiB, 214748364800 bytes, 419430400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos #dos 就是MBR分区格式
Disk identifier: 0x43d7507dDevice     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048   2099199   2097152    1G 83 Linux
/dev/sda2         2099200 211814399 209715200  100G 83 Linux
/dev/sda3       211814400 316671999 104857600   50G 83 Linux
/dev/sda4       316672000 419430399 102758400   49G  5 Extended
/dev/sda5       316674048 320868351   4194304    2G 82 Linux swap / Solaris
#*  星号表示活动分区

范例:创建设备文件

[root@rocky8 ~]# df /boot
Filesystem     1K-blocks   Used Available Use% Mounted on
/dev/sda1        1038336 191796    846540  19% /boot
[root@rocky8 ~]# ls /boot
config-4.18.0-305.3.1.el8_4.x86_64                       initramfs-4.18.0-305.3.1.el8_4.x86_64kdump.img
efi                                                      loader
grub2                                                    System.map-4.18.0-305.3.1.el8_4.x86_64
initramfs-0-rescue-ad9d4d0a9e7a41c6ba47c505d1172547.img  vmlinuz-0-rescue-ad9d4d0a9e7a41c6ba47c505d1172547
initramfs-4.18.0-305.3.1.el8_4.x86_64.img                vmlinuz-4.18.0-305.3.1.el8_4.x86_64
[root@rocky8 ~]# mknod /data/partition-sda1 b 8 1
[root@rocky8 ~]# ll /data/partition-sda1
brw-r--r-- 1 root root 8, 1 Oct 15 18:24 /data/partition-sda1
[root@rocky8 ~]# mount /data/partition-sda1 /mnt/
[root@rocky8 ~]# ls /mnt
config-4.18.0-305.3.1.el8_4.x86_64                       initramfs-4.18.0-305.3.1.el8_4.x86_64kdump.img
efi                                                      loader
grub2                                                    System.map-4.18.0-305.3.1.el8_4.x86_64
initramfs-0-rescue-ad9d4d0a9e7a41c6ba47c505d1172547.img  vmlinuz-0-rescue-ad9d4d0a9e7a41c6ba47c505d1172547
initramfs-4.18.0-305.3.1.el8_4.x86_64.img                vmlinuz-4.18.0-305.3.1.el8_4.x86_64[root@rocky8 ~]# ll /dev/zero
crw-rw-rw- 1 root root 1, 5 Oct 15 18:20 /dev/zero
[root@rocky8 ~]# mknod /data/zero c 1 5
[root@rocky8 ~]# ll /data/zero 
crw-r--r-- 1 root root 1, 5 Oct 15 18:25 /data/zero

1.2 硬盘类型

在这里插入图片描述
硬盘接口类型

  • IDE:133MB/s,并行接口,早期家用电脑
  • SCSI:640MB/s,并行接口,早期服务器
  • SATA:6Gbps,SATA数据端口与电源端口是分开的,即需要两条线,一条数据线,一条电源线
  • SAS:6Gbps,SAS是一整条线,数据端口与电源端口是一体化的,SAS中是包含供电线的,而SATA中不包含供电线。SATA标准其实是SAS标准的一个子集,二者可兼容,SATA硬盘可以插入SAS主板上,反之不成
  • USB:480MB/s
  • M.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)
在这里插入图片描述

1.4 硬盘存储术语

在这里插入图片描述
硬盘存储术语 CHS

  • head:磁头 磁头数=盘面数
  • track:磁道 磁道=柱面数
  • sector:扇区,512bytes
  • cylinder:柱面 1柱面=512 * sector数/trackhead数=51263*255=7.84M

CentOS 5 之前版本 Linux 以柱面的整数倍划分分区,CentOS 6之后可以支持以扇区划分分区

范例:

#查看CHS
[root@centos6 ~]# fdisk -l /dev/sdaDisk /dev/sda: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0008a04fDevice Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         131     1048576   83  Linux
Partition 1 does not end on cylinder boundary. #提示分区1不是以柱面的边界来划分的
/dev/sda2             131       12910   102645760   83  Linux
/dev/sda3           12910       19437    52428800   83  Linux
/dev/sda4           19437       26109    53591040    5  Extended
/dev/sda5           19437       19698     2097152   82  Linux swap / Solaris
# head 磁头,centos 6上才有
#track   磁道
#sector  扇区
#cylinders  柱面[root@centos6 ~]# echo "scale=2;512*63*255/1024/1024" |bc
7.84[root@centos7 ~]# fdisk -l /dev/sdaDisk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000b65a1Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   211814399   104857600   83  Linux
/dev/sda3       211814400   316671999    52428800   83  Linux
/dev/sda4       316672000   419430399    51379200    5  Extended
/dev/sda5       316674048   320868351     2097152   82  Linux swap / Solaris
#centos 7以上以扇区显示[root@centos7 ~]# fdisk -u=cylinder -l /dev/sdaDisk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000b65a1Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         131     1048576   83  Linux
/dev/sda2             131       13185   104857600   83  Linux
/dev/sda3           13185       19712    52428800   83  Linux
/dev/sda4           19712       26109    51379200    5  Extended
/dev/sda5           19713       19974     2097152   82  Linux swap / Solaris
#-u=cylinder 输入这个参数才显示柱面[root@rocky8 ~]# fdisk -u=cylinder -l /dev/sda
Disk /dev/sda: 200 GiB, 214748364800 bytes, 419430400 sectors
Geometry: 255 heads, 2 sectors/track, 26108 cylinders
Units: cylinders of 510 * 512 = 261120 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x43d7507dDevice     Boot  Start    End Cylinders  Size Id Type
/dev/sda1  *         5   4117      4113    1G 83 Linux
/dev/sda2         4117 415323    411207  100G 83 Linux
/dev/sda3       415323 620926    205604   50G 83 Linux
/dev/sda4       620926 822413    201488   49G  5 Extended
/dev/sda5       620930 629154      8225    2G 82 Linux swap / Solaris

范例:识别SSD和机械硬盘类型

#1表示机械,0表示SSD
[root@rocky8 ~]# lsblk -d -o name,rota
NAME    ROTA
sda        1
sr0        1
nvme0n1    0[root@rocky8 ~]# ls /sys/block/
nvme0n1  sda  sr0
[root@rocky8 ~]# cat /sys/block/*/queue/rotational
0
1
1[root@rocky8 ~]# cat /sys/block/sda/queue/rotational
1
[root@rocky8 ~]# cat /sys/block/sr0/queue/rotational
1
[root@rocky8 ~]# cat /sys/block/nvme0n1/queue/rotational
0

在这里插入图片描述

区位记录磁盘扇区结构ZBR(Zoned Bit Recording)
在这里插入图片描述

CHS

  • CHS采用 24 bit位寻址
  • 其中前10位表示cylinder,中间8位表示head,后面6位表示sector
  • 最大寻址空间 8 GB

LBA(logical block addressing)

  • LBA是一个整数,通过转换成 CHS 格式完成磁盘具体寻址
  • ATA-1规范中定义了28位寻址模式,以每扇区512位组来计算,ATA-1所定义的28位LBA上限达到128 GiB。2002年ATA-6规范采用48位LBA,同样以每扇区512位组计算容量上限可达128
  • Petabytes

由于CHS寻址方式的寻址空间在大概8GB以内,所以在磁盘容量小于大概8GB时,可以使用CHS寻址方式或是LBA寻址方式;在磁盘容量大于大概8GB时,则只能使用LBA寻址方式

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个部分组成
在这里插入图片描述

  • 主引导程序(偏移地址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结构
在这里插入图片描述
范例: 备份MBR的分区表,并破坏后恢复

[root@rocky8 ~]# hexdump -C /dev/sda -n 512 -v
00000000  eb 63 90 10 8e d0 bc 00  b0 b8 00 00 8e d8 8e c0  |.c..............|
00000010  fb be 00 7c bf 00 06 b9  00 02 f3 a4 ea 21 06 00  |...|.........!..|
00000020  00 be be 07 38 04 75 0b  83 c6 10 81 fe fe 07 75  |....8.u........u|
00000030  f3 eb 16 b4 02 b0 01 bb  00 7c b2 80 8a 74 01 8b  |.........|...t..|
00000040  4c 02 cd 13 ea 00 7c 00  00 eb fe 00 00 00 00 00  |L.....|.........|
00000050  00 00 00 00 00 00 00 00  00 00 00 80 01 00 00 00  |................|
00000060  00 00 00 00 ff fa 90 90  f6 c2 80 74 05 f6 c2 70  |...........t...p|
00000070  74 02 b2 80 ea 79 7c 00  00 31 c0 8e d8 8e d0 bc  |t....y|..1......|
00000080  00 20 fb a0 64 7c 3c ff  74 02 88 c2 52 be 05 7c  |. ..d|<.t...R..||
00000090  b4 41 bb aa 55 cd 13 5a  52 72 3d 81 fb 55 aa 75  |.A..U..ZRr=..U.u|
000000a0  37 83 e1 01 74 32 31 c0  89 44 04 40 88 44 ff 89  |7...t21..D.@.D..|
000000b0  44 02 c7 04 10 00 66 8b  1e 5c 7c 66 89 5c 08 66  |D.....f..\|f.\.f|
000000c0  8b 1e 60 7c 66 89 5c 0c  c7 44 06 00 70 b4 42 cd  |..`|f.\..D..p.B.|
000000d0  13 72 05 bb 00 70 eb 76  b4 08 cd 13 73 0d 5a 84  |.r...p.v....s.Z.|
000000e0  d2 0f 83 de 00 be 85 7d  e9 82 00 66 0f b6 c6 88  |.......}...f....|
000000f0  64 ff 40 66 89 44 04 0f  b6 d1 c1 e2 02 88 e8 88  |d.@f.D..........|
00000100  f4 40 89 44 08 0f b6 c2  c0 e8 02 66 89 04 66 a1  |.@.D.......f..f.|
00000110  60 7c 66 09 c0 75 4e 66  a1 5c 7c 66 31 d2 66 f7  |`|f..uNf.\|f1.f.|
00000120  34 88 d1 31 d2 66 f7 74  04 3b 44 08 7d 37 fe c1  |4..1.f.t.;D.}7..|
00000130  88 c5 30 c0 c1 e8 02 08  c1 88 d0 5a 88 c6 bb 00  |..0........Z....|
00000140  70 8e c3 31 db b8 01 02  cd 13 72 1e 8c c3 60 1e  |p..1......r...`.|
00000150  b9 00 01 8e db 31 f6 bf  00 80 8e c6 fc f3 a5 1f  |.....1..........|
00000160  61 ff 26 5a 7c be 80 7d  eb 03 be 8f 7d e8 34 00  |a.&Z|..}....}.4.|
00000170  be 94 7d e8 2e 00 cd 18  eb fe 47 52 55 42 20 00  |..}.......GRUB .|
00000180  47 65 6f 6d 00 48 61 72  64 20 44 69 73 6b 00 52  |Geom.Hard Disk.R|
00000190  65 61 64 00 20 45 72 72  6f 72 0d 0a 00 bb 01 00  |ead. Error......|
000001a0  b4 0e cd 10 ac 3c 00 75  f4 c3 00 00 00 00 00 00  |.....<.u........|
000001b0  00 00 00 00 00 00 00 00  7d 50 d7 43 00 00 80 04  |........}P.C....|
000001c0  01 04 83 fe c2 ff 00 08  00 00 00 00 20 00 00 fe  |............ ...|
000001d0  c2 ff 83 fe c2 ff 00 08  20 00 00 00 80 0c 00 fe  |........ .......|
000001e0  c2 ff 83 fe c2 ff 00 08  a0 0c 00 00 40 06 00 fe  |............@...|
000001f0  c2 ff 05 fe c2 ff 00 08  e0 12 00 f8 1f 06 55 aa  |..............U.|
00000200
#查看磁盘的前512字节
#80 04 000001c0  01 04 83 fe c2 ff 00 08  00 00 00 00 20 00   第一个分区信息
#00 fe 000001d0  c2 ff 83 fe c2 ff 00 08  20 00 00 00 80 0c 	第二个分区信息
#00 fe 000001e0  c2 ff 83 fe c2 ff 00 08  a0 0c 00 00 40 06 第三个分区信息
#00 fe 000001f0  c2 ff 05 fe c2 ff 00 08  e0 12 00 f8 1f 06  第四个分区信息#备份MBR分区表
[root@rocky8 ~]# dd if=/dev/sda of=/data/mbr bs=1 count=64 skip=446
64+0 records in
64+0 records out
64 bytes copied, 0.000170499 s, 375 kB/s
#备份磁盘分区表		skip 相对于if=/dev/sda 跳过446字节,备份64字节[root@rocky8 ~]# hexdump -C /data/mbr -v
00000000  80 04 01 04 83 fe c2 ff  00 08 00 00 00 00 20 00  |.............. .|
00000010  00 fe c2 ff 83 fe c2 ff  00 08 20 00 00 00 80 0c  |.......... .....|
00000020  00 fe c2 ff 83 fe c2 ff  00 08 a0 0c 00 00 40 06  |..............@.|
00000030  00 fe c2 ff 05 fe c2 ff  00 08 e0 12 00 f8 1f 06  |................|
00000040#破坏MBR分区表
[root@rocky8 ~]# dd if=/dev/zero of=/dev/sda bs=1 count=64 seek=446
64+0 records in
64+0 records out
64 bytes copied, 0.000139151 s, 460 kB/s
#破坏分区表   ,seek 相对于of=/dev/sda 跳过446字节,写入 64字节[root@rocky8 ~]# hexdump -C /dev/sda -n 512 -v
00000000  eb 63 90 10 8e d0 bc 00  b0 b8 00 00 8e d8 8e c0  |.c..............|
00000010  fb be 00 7c bf 00 06 b9  00 02 f3 a4 ea 21 06 00  |...|.........!..|
00000020  00 be be 07 38 04 75 0b  83 c6 10 81 fe fe 07 75  |....8.u........u|
00000030  f3 eb 16 b4 02 b0 01 bb  00 7c b2 80 8a 74 01 8b  |.........|...t..|
00000040  4c 02 cd 13 ea 00 7c 00  00 eb fe 00 00 00 00 00  |L.....|.........|
00000050  00 00 00 00 00 00 00 00  00 00 00 80 01 00 00 00  |................|
00000060  00 00 00 00 ff fa 90 90  f6 c2 80 74 05 f6 c2 70  |...........t...p|
00000070  74 02 b2 80 ea 79 7c 00  00 31 c0 8e d8 8e d0 bc  |t....y|..1......|
00000080  00 20 fb a0 64 7c 3c ff  74 02 88 c2 52 be 05 7c  |. ..d|<.t...R..||
00000090  b4 41 bb aa 55 cd 13 5a  52 72 3d 81 fb 55 aa 75  |.A..U..ZRr=..U.u|
000000a0  37 83 e1 01 74 32 31 c0  89 44 04 40 88 44 ff 89  |7...t21..D.@.D..|
000000b0  44 02 c7 04 10 00 66 8b  1e 5c 7c 66 89 5c 08 66  |D.....f..\|f.\.f|
000000c0  8b 1e 60 7c 66 89 5c 0c  c7 44 06 00 70 b4 42 cd  |..`|f.\..D..p.B.|
000000d0  13 72 05 bb 00 70 eb 76  b4 08 cd 13 73 0d 5a 84  |.r...p.v....s.Z.|
000000e0  d2 0f 83 de 00 be 85 7d  e9 82 00 66 0f b6 c6 88  |.......}...f....|
000000f0  64 ff 40 66 89 44 04 0f  b6 d1 c1 e2 02 88 e8 88  |d.@f.D..........|
00000100  f4 40 89 44 08 0f b6 c2  c0 e8 02 66 89 04 66 a1  |.@.D.......f..f.|
00000110  60 7c 66 09 c0 75 4e 66  a1 5c 7c 66 31 d2 66 f7  |`|f..uNf.\|f1.f.|
00000120  34 88 d1 31 d2 66 f7 74  04 3b 44 08 7d 37 fe c1  |4..1.f.t.;D.}7..|
00000130  88 c5 30 c0 c1 e8 02 08  c1 88 d0 5a 88 c6 bb 00  |..0........Z....|
00000140  70 8e c3 31 db b8 01 02  cd 13 72 1e 8c c3 60 1e  |p..1......r...`.|
00000150  b9 00 01 8e db 31 f6 bf  00 80 8e c6 fc f3 a5 1f  |.....1..........|
00000160  61 ff 26 5a 7c be 80 7d  eb 03 be 8f 7d e8 34 00  |a.&Z|..}....}.4.|
00000170  be 94 7d e8 2e 00 cd 18  eb fe 47 52 55 42 20 00  |..}.......GRUB .|
00000180  47 65 6f 6d 00 48 61 72  64 20 44 69 73 6b 00 52  |Geom.Hard Disk.R|
00000190  65 61 64 00 20 45 72 72  6f 72 0d 0a 00 bb 01 00  |ead. Error......|
000001a0  b4 0e cd 10 ac 3c 00 75  f4 c3 00 00 00 00 00 00  |.....<.u........|
000001b0  00 00 00 00 00 00 00 00  7d 50 d7 43 00 00 00 00  |........}P.C....|
000001c0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000001d0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000001e0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|
00000200
#现在分区表信息,已经是0了[root@rocky8 ~]# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda       8:0    0  200G  0 disk 
├─sda1    8:1    0    1G  0 part /boot
├─sda2    8:2    0  100G  0 part /
├─sda3    8:3    0   50G  0 part /data
├─sda4    8:4    0    1K  0 part 
└─sda5    8:5    0    2G  0 part [SWAP]
sr0      11:0    1  9.2G  0 rom  
nvme0n1 259:0    0   10G  0 disk [root@rocky8 ~]# fdisk -l
Disk /dev/sda: 200 GiB, 214748364800 bytes, 419430400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x43d7507dDisk /dev/nvme0n1: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
#分区表信息已经看不到了[root@rocky8 ~]# scp /data/mbr 172.31.0.7:/data
The authenticity of host '172.31.0.7 (172.31.0.7)' can't be established.
ECDSA key fingerprint is SHA256:zb/8mo/ptS0h8eHVY1FDRuvh6aQj1opzpsD7khnYjSo.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '172.31.0.7' (ECDSA) to the list of known hosts.
root@172.31.0.7's password: 
mbr                                                                                                          100%   64    31.4KB/s   00:00  
#把分区表信息备份到另一台机器上#无法启动
[root@rocky8 ~]# reboot

在这里插入图片描述
#系统已经不能启动了

#用光盘启动,进入rescue mode,选第3项skip to shell

在这里插入图片描述

在这里插入图片描述
#提示没有任何分区,重启,回车得到一个shell

在这里插入图片描述
#现在看不到磁盘信息

在这里插入图片描述
#现在没有IP地址

在这里插入图片描述
#添加一个IP地址

# ip a a 172.31.1.8/21 dev ens33

在这里插入图片描述
#把备份在10.0.0.7上的文件,拷贝到本地

# scp 172.31.0.7:/data/mbr .

在这里插入图片描述
#现在文件已经拷贝过来了

在这里插入图片描述
#可以看到分区表信息都是0

在这里插入图片描述
#恢复分区表信息

# dd if=mbr of=/dev/sda bs=1 count=64 seek=446

在这里插入图片描述
#现在分区表信息已经恢复

# hexdump -C /dev/sda -n 512 -v

在这里插入图片描述
#把信息写入磁盘,并重启

在这里插入图片描述
#现在系统就能正常启动了

问题:利用分区策略相同的另一台主机的分区表来还原和恢复当前主机破环的分区表?

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 是可以的

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 1032 挖掘机技术哪家强 (C++)

    为了用事实说明挖掘机技术到底哪家强&#xff0c;PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。 输入格式&#xff1a; 输入在第 1 行给出不超过 105 的正整数 N&#xff0c;即参赛人数。随后 N 行&#xff0c;每行给出一位参赛者的信息和成绩…...

    2024/4/27 23:27:48
  2. EGP基本信息

    基本信息 属于EGP协议,用于管理AS之间的路由传递 距离矢量型协议,采用分布式计算 用TCP来传递路由信息,端口为179,保证可开行,无法主动建立邻居,只能手动建立邻居 BGP是用来管理AS间的路由信息的,使用不同的AS号来标识不同的路由,该AS号需要具有唯一性(1-65535),可以…...

    2024/4/28 0:08:47
  3. Webpack5实战笔记----上手webpack5

    新建项目 webpackstu mkdir webpackstu && cd webpackstu npm init -y //初始化npm npm install webpack webpack-cli --save-dev //安装webpack 基础工程目录结构为&#xff1a; webpackstu|- package.json|- index.html|- /src|- index.js 我们还需要调整 package.…...

    2024/4/16 12:18:01
  4. java中instanceof的使用

    二元操作符&#xff0c;当左边的对象是右边类或子类所创建对象时&#xff0c;返回true&#xff1b;否则&#xff0c;返回false。 class A { }class B extends A { }public class Test {public static void main(String[] args) {A a new A();B b new B();System.out.println…...

    2024/4/15 13:35:59
  5. stellite6B钴合金用途介绍

    stellite6B/司太立6b/ UNS R30006/焊条CoCr-A执行标准&#xff1a;AMS5894 WR6B,stellite6B合金是钴基耐磨合金之一&#xff0c;耐磨性与强韧性兼备&#xff0c;可以适应多数工况&#xff0c;应用广泛&#xff0c;硬度在37-45HRC&#xff1b;主要用于化工耐磨板、耐磨棒&#…...

    2024/4/6 12:20:44
  6. Mac图片素材管理软件——Inboard for Mac

    Inboard for Mac是应用在Mac上的图片素材管理软件&#xff0c;操作简单容易上手&#xff0c;使用Inboard for Mac可以很好的帮您整理屏幕截图和照片&#xff0c;可以将素材资源按照不同的方式进行分类管理&#xff0c;是一款功能强大的图片管理软件。 Inboard for Mac下载安装…...

    2024/4/18 7:05:19
  7. sbridge: HANDLING MCE MEMORY ERROR

    /var/log/message系统日志一直输出&#xff0c;造成/分区磁盘被占满 sbridge: HANDLING MCE MEMORY ERROR kernel: CPU 8: Machine Check Exception: o Bank 5: cc00020000010090 kernel: TSC O ADDR 2068ce8080 MISC 40109086 PROCESSOR O: 206d6 TIME 1634693540 SOCKET 1 A…...

    2024/4/18 13:00:10
  8. buildroot使用手册

    The Buildroot user manual...

    2024/4/15 13:36:44
  9. keil的各种打印

    一、通过HAL_UART_Transmit&#xff08;&#xff09;打印出数据 1.配置RCC 2.SYS 3.USART1,参数用原始的&#xff0c;不用改 4.写这几句代码 5.实现功能 二、用pritnf打印数据 1.cube配置和上面一样 2.添加头文件 “stdiol.h” “printf_task.h” 3.在printf_task.c里添加这…...

    2024/4/7 11:28:21
  10. 【JAVA基础】09JAVA中的API

    api的使用步骤 1.打开api 2.点击显示 3.点击索引&#xff0c;在输入框&#xff0c;输入要查找的类\接口 4.查看类的包&#xff0c;如果在java.lang包就不需要导包&#xff0c;其他都要导包 5.查看类的解释说明 6.查看类的构造方法 7.查看类的成员方法...

    2024/4/15 13:36:34
  11. 竞业限制是什么意思?

    竞业限制是指用人单位与掌握商业秘密的职工约定在劳动合同解除或终止后的一定期限内&#xff0c;劳动者不得到有竞争关系的其他用人单位任职&#xff0c;也不得自己生产与原单位有竞争关系的同类产品或经营同类业务。 竞业限制对不同的人意义是不同的&#xff0c;比如&#xf…...

    2024/4/15 13:36:44
  12. Could not reserve enough space for 2097152KB object heap 解决

    Android Studio新建项目报错报错提示&#xff1a;Could not reserve enough space for 2097152KB object heap报错提示&#xff1a;Could not reserve enough space for 2097152KB object heap 修改&#xff1a;gradle.properties 下&#xff0c; org.gradle.jvmargs-Xmx2048m…...

    2024/4/18 17:14:51
  13. HDFS 读数据流程

    HDFS读数据流程 第一步 客户端向namenode请求下载a文件 第二步 由namenode 对客户端权限查看&#xff0c;若符合权限&#xff0c;与datanode 建立联系&#xff0c;根据就近原则选择出每一个block 对应的主机列表。 第三步 将block主机列表返回客户端 第四步 客户端与每一个blo…...

    2024/4/6 12:20:40
  14. BGP路由技术

    AS的概念 自治系统&#xff08;Auttonomous System &#xff0c;As&#xff09;&#xff0c;指的是在同一个 组织管理下&#xff0c;使用相同策略的设备的集合。 不同AS通过AS号区分&#xff0c;AS号取值范围1-65535&#xff0c;其中64512-65535是私有AS号&#xff0c;IANA负…...

    2024/4/24 11:17:13
  15. 1031 查验身份证 (C++)

    一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下&#xff1a; 首先对前17位数字加权求和&#xff0c;权重分配为&#xff1a;{7&#xff0c;9&#xff0c;10&#xff0c;5&#xff0c;8&#xff0c;4&#xff0c;2&#xff0c;1&am…...

    2024/4/21 13:52:26
  16. 2021秋季《离散数学》_关系

    关系的特殊性质及其闭包 特殊性质 自反关系反自反关系对称关系反对称关系传递关系内容充要条件IX⊆RI_X\subseteq RIX​⊆RR∩IX∅R\cap I_X\emptyR∩IX​∅R−1RR^{-1}RR−1RR∩R−1⊆IXR\cap R^{-1}\subseteq I_XR∩R−1⊆IX​R2⊆RR^2\subseteq RR2⊆R关系矩阵对角线全为1…...

    2024/4/19 19:24:46
  17. 【JAVA基础】08JAVA中的构造方法

    构造方法是一个特殊的方法&#xff0c;主要用来创建对象 构造方法没有返回值类型&#xff0c;连void都不写&#xff0c;如果写了就不是构造方法 构造方法的名字是类名 通过new 来调用构造方法 如果一个类没有构造方法&#xff0c;那么系统会自动生成一个空参构造方法 如果…...

    2024/4/20 6:08:43
  18. NMN的真实效果:NMN为什么可以抗衰?

    NMN的真实效果&#xff1a;NMN为什么可以抗衰&#xff1f; 近日&#xff0c;一篇关于“NMN可明显提高AD模型大鼠学习记忆能力水平,改善认知功能障碍”的论文,让NMN又火了一把。 NMN,即β-烟酰胺单核苷酸,也有人称之为“衰老抑制剂”。在抗衰老领域,这种物质可谓红极一时。不但…...

    2024/4/15 13:36:54
  19. String.Join();方法

    string里边的Join()方法 public static string Join(string separator,string [] value) 连接一个字符串数组中的所有元素&#xff0c;使用指定的分割符分割每个元素public static string Join(string separator,string [] value&#xff0c;int startIndex ,int count) 连接一…...

    2024/4/6 12:20:35
  20. frida -- Java

    Java 操作java层代码的对象 Java.available 该函数一般用来判断当前进程是否加载了JavaVM&#xff0c;Dalvik或ART虚拟机&#xff0c;咱们来看代码示例&#xff01; Java.androidVersion Java.enumerateLoadedClasses Java.perform Java.use Java.choose Java.cast Jav…...

    2024/4/26 2:23:17

最新文章

  1. 频率分析和离散傅里叶变换——DSP学习笔记四

    背景知识 四种基本的傅里叶变换 基本思想&#xff1a;将信号表示为不同频率 正弦分量的线性组合 正弦信号和复指数时间信号的有用特性 相同频率但不同相位的正弦信号的任何线性组合&#xff0c;都是有着相同频率但不同相位&#xff0c;且幅度可能受改变的正弦信号。 复指数时…...

    2024/4/28 4:05:54
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 企业常用Linux文件命令相关知识+小案例

    远程连接工具无法连接VMWARE&#xff1a; 如果发现连接工具有时连不上&#xff0c;ip存在&#xff0c;这时候我们查看网络编辑器&#xff0c;更多配置&#xff0c;看vnet8是不是10段&#xff0c;nat设置是否是正确的&#xff1f; 软件重启一下虚机还原一下网络编辑器 查看文件…...

    2024/4/27 12:27:42
  4. 鹅厂实习offer

    #转眼已经银四了&#xff0c;你收到offer了吗# 本来都打算四月再投实习了&#xff0c;突然三月初被wxg捞了&#xff08;一年前找日常实习投的简历就更新了下&#xff09;&#xff0c;直接冲了&#xff0c;流程持续二十多天&#xff0c;结果是运气还不错&#xff0c;应该是部门比…...

    2024/4/23 6:25:31
  5. 基于ArrayList实现简单洗牌

    前言 在之前的那篇文章中&#xff0c;我们已经认识了顺序表—>http://t.csdnimg.cn/2I3fE 基于此&#xff0c;便好理解ArrayList和后面的洗牌游戏了。 什么是ArrayList? ArrayList底层是一段连续的空间&#xff0c;并且可以动态扩容&#xff0c;是一个动态类型的顺序表&…...

    2024/4/23 6:10:49
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/26 18:09:39
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/28 3:28:32
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/26 23:05:52
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/27 4:00:35
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/27 9:01:45
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/28 1:22:35
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/25 18:39:14
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/26 23:04:58
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/25 18:39:00
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/26 19:46:12
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/27 11:43:08
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/27 8:32:30
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57