磁盘,fdisk分区,MBR,dd命令
光盘和磁盘、u盘、软盘、硬盘有什么区别
①光盘:
cdrom/dvdrom:光驱(光盘驱动器)
rom:只读
ram:可以擦写
cd:700M
dvd:4G
②软盘:floppy:软驱(软盘驱动器)
③U盘:U盘,全称USB闪存盘,英文名“USB flash disk”。使用USB接口的无需物理驱动器的微型高容量移动存储产品,通过USB接口与电脑连接,实现即插即用。
④磁盘:计算机的外部存储器中也采用了类似磁带的装置,比较常用的一种叫磁盘,将圆形的磁性盘片装在一个方的密封盒子里,这样做的目的是为了防止磁盘表面划伤,导致数据丢失。
⑤硬盘:很硬的一个方盒子密封起来的,用来存放数据的。
硬盘:
固态硬盘(SSD)
机械硬盘(HDD )
混合硬盘(HHD 一块基于传统机械硬盘诞生出来的新硬盘)
SSD采用闪存颗粒来存储,HDD采用磁性碟片来存储,混合硬盘是把磁性硬盘和闪存集成到一起的一种硬盘。
硬盘和磁盘有什么关系?
磁盘是硬盘的一种类型。
固态硬盘(Solid State Drives),简称固盘,固态硬盘(Solid State Drive)用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。
通过接口从硬盘读写数据的速度是核心。
磁盘有哪些品牌
希捷 seagate
西部数据 western digital
东芝 Toshiba
三星 samsung
好磁盘看哪些参数
磁盘的常用接口类型:
IDE —》淘汰
SCSI —》淘汰(小型计算机系统接口(Small Computer System Interface))
光纤通道 fiber Channel
SATA —–》串口硬盘 —-》常见
SAS —-》主流
SAS(Serial Attached SCSI)即串行连接SCSI,是新一代的SCSI技术,和现在流行的Serial ATA(SATA)硬盘相同,都是采用串行技术以获得更高的传输速度。
PCI-E 固态盘 –》(闪存)速度快,价格贵
磁盘的参数
接口类型:IDE、SCSI、SATA、光纤通道
接口速率:6Gb/秒 1byte=8bit byte 字节 bit 位
容量
缓存: 64M 16M
转速
磁道,扇区,柱面
磁道:track。包含63个扇区(从内到外编号的环);
扇区:sector。512字节,是最小物理存储单位。(扇形的);
柱面:cylinder。不同盘片上的相同磁道组成柱面—》年轮 (如图,柱面:不同盘片的相同磁道组成柱面。)
这里写图片描述
划分分区的时候是以柱面为基本单位来计算大小的。
一个柱面多大?
Units = cylinders of 16065 * 512 = 8225280 bytes —》8MB左右
柱面多大=255*63*512
柱面多大=(磁道数)*(扇区)*(一个扇区多大)
平均访问时间
平均访问时间(Average Access Time)是指磁头从起始位置到到达目标磁道位置,并且从目标磁道上找到要读写的数据扇区所需的时间。
平均访问时间体现了硬盘的读写速度,它包括了硬盘的寻道时间和等待时间,即:平均访问时间=平均寻道时间+平均等待时间。
平均寻道时间
硬盘的平均寻道时间(Average Seek Time)是指硬盘的磁头移动到盘面指定磁道所需的时间。这个时间当然越小越好,硬盘的平均寻道时间通常在8ms到12ms之间,而SCSI硬盘则应小于或等于8ms。
平均等待时间
硬盘的等待时间,又叫潜伏期(Latency),是指磁头已处于要访问的磁道,等待所要访问的扇区旋转至磁头下方的时间。平均等待时间为盘片旋转一周所需的时间的一半,一般应在4ms以下。
dd命令测磁盘的读写速度
[root@liupeng ~]# dd if=/dev/zero of=dd.dd bs=1M count=1000
记录了1000+0 的读入
记录了1000+0 的写出
1048576000字节(1.0 GB)已复制,4.781 秒,219 MB/秒
在SCSI系统中,处理磁盘系统和计算机之间数据流的工作是由专用的控制器完成的。
SAS支持磁盘的热插拔,这对于维护可用性要求比较高的环境来说非常重要。
SATA磁盘费用低廉,而SAS磁盘则并不便宜 。
SAS 读取速度:1200MB/s
接口类型:SAS(12Gbps)
硬盘尺寸:2.5英寸
平均寻道时间:0.183ms
硬盘数据传输率又包括了内部数据传输率和外部数据传输率。
缓存
缓存(Cache memory)是硬盘控制器上的一块内存芯片,具有极快的存取速度,它是硬盘内部存储和外界接口之间的缓冲器。由于硬盘的内部数据传输速度和外界介面传输速度不同,缓存在其中起到一个缓冲的作用。缓存的大小与速度是直接关系到硬盘的传输速度的重要因素,能够大幅度地提高硬盘整体性能。当硬盘存取零碎数据时需要不断地在硬盘与内存之间交换数据,有大缓存,则可以将那些零碎数据暂存在缓存中,减小外系统的负荷,也提高了数据的传输速度。
磁盘分区
磁盘–》分区—》格式化–》挂载使用
①# fdisk -l –》查看全部磁盘
②# fdisk /dev/sdb(磁盘名) -》分区(交互性的动态分区)
③# mkfs.ext4 /dev/sdb1 –》格式化sdb1(Make FileSystem ext4文件系统)
# mkfs.ext4 /dev/sdb2 -》格式化sdb2
④# mount /dev/sdb1 /music/ –》挂载使用
# mount /dev/sdb2 /vedio/
# df -Th –》查看当前使用的磁盘
⑤# mkdir /music –》使用了磁盘
# cd /music/
# mkdir liudehua –》使用了磁盘
# ls liudehua lost+found
PS:脚本自动分区
要求:脚本自动分区+格式化+挂载+开机自动挂载,sdc(共30G)
30G,2个区,ext4,sdc1–》/e,sdc2–》/f
#!/bin/bash
c_part_fs(){
#分区
fdisk /dev/sdc <<EOF
n
p
1
+10G
n
p
2
+10G
w
EOF
#格式化
mkfs.ext1 /dev/sdc1
mkfs.ext1 /dev/sdc2
[ -d /e ]||mkdir /e
[ -d /f ]||mkdir /f
#挂载使用
mount /dev/sdc1 /e
mount /dev/sdc2 /f
#开机自动挂载使用
egrep "sdc1" /etc/rc.local|| echo "mount /dev/sdc1 /e" >>/etc/rc.local
egrep "sdc2" /etc/rc.local|| echo "mount /dev/sdc2 /f" >>/etc/rc.local
}
#判断有无分区(写成函数)
if fdisk -l /dev/sdc|grep "^/dev/sdc" &>/dev/null
then
echo "Your disk already formart!"
exit
else
c_part_fs
fi
parted软件的使用
# yum install parted 安装parted软件
①# parted /dev/sdb –》对sdb分区
②(parted) mklabel GPT –》新建GPT类型的分区表
③(parted) mkpart music 1 3000000
#新建一个分区名字为music(此名字主要是标识作用),大小默认的单位为MB
fdisk和parted的比较
①fdisk不支持大的磁盘分区,特别是大于2T的时候。 建议使用GPT分区表格式,使用parted命令分区。
②fdisk命令默认情况下所做的修改,如果不保存只是在内存里操作,不会真正生效。 parted 命令立马生效,风险比较高。
练习题目:
在虚拟机上完成
1.添加2块磁盘,大小为50G和100G
2.将50G的磁盘分成2个主分区,大小分别为10G和20G和1个扩展分区,扩展分区下划分2个逻辑分区,大小分别为5G和15G
3.然后将4个分区都格式化为ext4文件系统,新建挂载目录,具体挂载如下
10G—-》/mail—-》ext4—》读写
20G—-》/software—》ext4—–》只读挂载
5G—-》/movie—–》ntfs—》读写
15G—》/photo—-》vfat—》读写
4.将100G的磁盘的分区表采用GPT方式,新建2个分区大小分别为40G和60G
5.然后格式化为ext4文件系统,新建挂载目录,具体挂载如下:
40G —-》/ftp—》ext4—》读写
60G —》/www—》ext4—》读写
解答:
#!/bin/bash
fdisk_2(){
fdisk /dev/sdd <<EOF
n
p
1
+10G
n
p
2
+20G
n
e
3
n
l
+5G
n
l
w
EOF
mkfs.ext4 /dev/sdd1
mkfs.ext4 /dev/sdd2
mkfs.ext4 /dev/sdd5
mkfs.ext4 /dev/sdd6
[ -d /mail ]||mkdir /mail
[ -d /software ]||mkdir /software
[ -d /movie ]||mkdir /movie
[ -d /photo ]||mkdir /photo
mount /dev/sdd1 /mail
mount /dev/sdd2 /software
mount /dev/sdd5 /movie
mount /dev/sdd6 /photo
egrep "sdd1" /etc/rc.local||echo "mount /dev/sdd1 /mail" >>/etc/rc.local
egrep "sdd2" /etc/rc.local||echo "mount /dev/sdd2 /software" >>/etc/rc.local
egrep "sdd5" /etc/rc.local||echo "mount /dev/sdd5 /movie" >>/etc/rc.local
egrep "sdd6" /etc/rc.local||echo "mount /dev/sdd6 /photo" >>/etc/rc.local
}
fdisk_gpt(){
parted /dev/sde &>/dev/null <<EOF
mklabel gpt
mkpart aa 1 40000
mkpart bb 40001 100000
quit
EOF
mkfs.ext4 /dev/sde1
mkfs.ext4 /dev/sde2
[ -d /ftp ]||mkdir /ftp
[ -d /www ]||mkdir /www
mount /dev/sde1 /ftp
mount /dev/sde2 /www
}
if fdisk -l /dev/sdd|grep "^/dev/sdd" &>/dev/null
then
echo "Your disk alreadly format!!"
exit
else
fdisk_2
fdisk_gpt
fi
MBR(主引导记录)
MBR:Master Boot Record:主引导记录。每块磁盘都有MBR。
硬盘的0柱面、0磁头、1扇区称为主引导扇区
MBR大小512字节,分为三个部分:
①主引导程序:446字节 用来启动系统找到我们的系统装在那个分区
②硬盘分区表DPT:64字节 disk partition table
③分区结束标记:2字节
DPT:磁盘分区表:
DPT大小64字节 每个分区要占16字节,所以只能分4个分区。
每个主分区要用16个字节描述
扩展分区也要占用16个字节的主分区空间
备份MBR和恢复MBR
MBR被破坏的后果:系统启动不了,所有的分区信息丢失,读取不了分区表,不知道有多少个分区,因为分区不能读取,所以分区里的文件也都读取不了。
dd命令的功能:备份、还原。
dd if=输入文件 of=输出文件 bs=块大小 count=块的数量
eg:dd if=/dev/sda of=/backup/sda.mbr bs=512 count=1
dd 是一个命令:
if 输入文件input file 需要备份的文件
of 输出文件 output file 备份到那个文件里去。
bs 块的大小 block size 备份数据的时候指定的单位,具体多大可以根据实际的情况自己定义。默认是字节。单位可以使用k、M、G
count 块的数量 总大小=bs*count
MBR的备份、还原;创建文件
备份MBR :dd if=/dev/sda of=mba.bak bs=512 count=1
还原MBR :dd if=mbr.bak of=/dev/sda bs=512 count=1
创建10M的文件: dd if=/dev/zero of=test bs=1M count=10
模拟MBR破坏实验:
1.备份
备份sda:# dd if=/dev/sda of=/music/sda.mbr bs=512 count=1
备份sdb: #dd if=/dev/sdb of=/sdb.mbr bs=512 count=1
2.破坏sdb
用0覆盖sdb(破坏):# dd if=/dev/zero of=/dev/sdb bs=512 count=1
(用fdisk -l /dev/sdb 看sdb的分区,会发现看不了)
3.恢复sdb
恢复分区:# dd if=/sdb.mbr of=/dev/sdb bs=512 count=1
(再fdisk -l /dev/sda ,就能看了)
4.破坏sda
破坏sda:# dd if=/dev/zero of=/dev/sda bs=512 count=1
重启,发现进不去了。(第一引导是磁盘,第二引导是光盘。所以会要求装系统。)
(此处有图)
(选择“Boot from local drive”,发现进不去。因为sda的MBR已被破坏)
(此处有图)
分区表类型、磁盘三种分区
分区和磁盘的关系:在磁盘里划分分区。
分区表的类型(partition table):
MBR类型(有4个主分区的限制)
GPT类型(比较流行,主分区无限制)
MBR类型分区表(DOS disklabel):
主分区 primary partition(最多4个)
主分区可以用来安装操作系统,最多4个主分区。系统、启动、活动、主分区
扩展分区 extension partition(1个)
逻辑分区 logical partition(无数量)
磁盘分区需要超过4个时可将剩余空间作为1个扩展分区(只能有一个扩展分区)。
扩展分区会占用一个主分区位置。
扩展分区不能直接存储文件—-》扩展只是一种概念
划分成逻辑分区来存储文件
(图:三种分区的关系)
这里写图片描述
磁盘分区编号
磁盘编号:
sda 代表第1块磁盘
sdb 代表第2块磁盘
分区编号:
主分区编号:1-4
扩展分区占一个主分区编号
逻辑分区编号:从5开始
sda1 代表第1块磁盘的第1个主分区
sda2 代表第1块磁盘的第2个主分区
sda5 代表第1块磁盘的第1个逻辑分区
sda6 代表第1块磁盘的第2个逻辑分区
GPT分区表与MBR(MSDOS)分区表的区别
全局唯一标识分区表(GUID Partition Table,缩写:GPT)是一个实体硬盘的分区结构。与支持最大卷为2 TB(Terabytes)并且每个磁盘最多有4个主分区(或3个主分区,1个扩展分区和无限制的逻辑驱动器)的MBR磁盘分区的样式相比,GPT磁盘分区样式支持最大卷为18 EB(Exabytes)并且每磁盘的分区数没有上限,只受到操作系统限制(由于分区表本身需要占用一定空间,最初规划硬盘分区时,留给分区表的空间决定了最多可以有多少个分区,IA-64版Windows限制最多有128个分区,这也是EFI标准规定的分区表的最小尺寸)。
为什么系统的盘符从c开始?
答:因为A、B被软盘使用。软盘被淘汰,现在几乎处于被弃用的状态。
linux里一切皆文件。
Linux中将硬盘、分区等设备均表示为文件。
hd —》IDE
sd —》SCSI SAS SATA USB
fdisk命令建立分区详解
用途:在交互式的操作环境中管理磁盘分区
格式:fdisk [磁盘设备]
交互模式中的常用指令:
m:查看操作指令的帮助信息
p:列表查看分区信息
n:新建分区
d:删除分区
w:保存分区设置并退出
q:放弃分区设置并退出
分区:fdisk命令
格式化:mkfs.ext3
挂载使用:mount
格式化的命令:
不能对扩展分区进行格式化
fdisk 后面接磁盘设备文件
parted /dev/sdc print
mkfs.ext3 后面接分区设备文件(make filesystem ext3)
linux文件系统: ext2 ext3 ext4 xfs等
windows文件系统:ntfs、fat32
经典的默认分区方案:
linux里:1T
①/boot ext4 500M 启动linux系统的核心文件存放的分区。—》windows里的c盘;
②swap swap 32000M 做虚拟内存使用,当真实内存不足的时候充当真实内存使用。遵循一个原则,大小为真实内存的2倍;
③/ ext4 剩余空间全部给根分区。默认情况下所有的文件都存放在根分区里。
Ftp服务器:
①/boot ext4 500M
②swap swap 32000M
③/home ext4 200G
④/var ext4 500G
⑤/ ext4 剩余空间全部给根分区
建议大家对磁盘进行分区的时候,提前规划好具体的分区方案,分好区,今后好使用。
分好区,不使用都可以,想使用的时候,就可以使用。
对已经在使用的磁盘进行分区,让后面新分的区能够使用的解决方法:
# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda2 16105416 1015336 14271956 7% /
tmpfs 508336 0 508336 0% /dev/shm
/dev/sda1 495844 30235 440009 7% /boot
/dev/sda3 2015824 35768 1877656 2% /home
/dev/sdc1 10325748 154136 9647092 2% /software
# umount /software/ 卸载正在使用的分区
# partprobe /dev/sdc --》partprode 检测分区
# ls /dev/sdc*
/dev/sdc /dev/sdc1 /dev/sdc2 /dev/sdc3
营救模式
(应该是有图)
1.设置从光盘启动
2.选择rescue installed system
fdisk -l 查看一下各个磁盘的分区信息
3.新建一个挂载点mkdir /backup
4.挂载/dev/sdb1:mount /dev/sdb1 /backup
df 查看挂载情况
5.进入/backup目录
6.恢复mbr
dd if=/backup/sda.mbr of=/dev/sda bs=512 count=1
fdisk -l /dev/sda 查看是否恢复sda磁盘的mbr
【#fsck /dev/sdc3 -y --》修复超级块】
7.重新启动系统,看是否能进入硬盘里的系统
reboot
8.重新设置第1引导顺序为从硬盘启动
进入单用户模式
root用户可以更改任何用户的密码,普通用户只能修改自己的密码。
密码破解步骤
1.重新启动系统
2.开机倒数时间内,敲任意键
3.按字母e去编辑
4.选择kernel 开头的行,再次按字母e 编辑 ,然后敲空格 输入数字1,再敲回车。进入单用户模式,破解密码。此模式绕过密码验证
5.按字母键b 去引导进入系统
6.直接passwd 修改root用户的密码
7.输入init 5或者init 3 进入系统,或者reboot重新启动系统
vim /etc/inittab
0 halt 关机
1 单用户模式 —》破解密码的时候
2 多用户模式 –》不能使用NFS功能
3 完全多用户模式,可以使用网络功能 —》字符界面
5 图形界面
6 重新启动
init 0 关机
init 6 重新启动
init 3 进入字符界面
————————————————
版权声明:本文为CSDN博主「斯言甚善」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_18312025/article/details/78179548
磁盘,fdisk分区,MBR,dd命令的更多相关文章
- 交换分区 在dd命令执行期间 top 其消耗系统约14%的cpu,而mem占比约为0
[资源不友好代码] from pyltp import * d_dir = '/usr/local/ltp_data_v3.4.0/' def gen_one_sentence_part(paragr ...
- 【转】dd命令详解及利用dd测试磁盘性能
dd命令详解及利用dd测试磁盘性能 linux下dd命令详解 名称: dd 使用权限: 所有使用者 manpage 定义: convert and copy a file 使用方式: dd [op ...
- 在Linux系统下用dd命令制作ISO镜像U盘启动盘
http://os.51cto.com/art/201510/494762.htm 首先在 Linux 系统中打开终端,确认 U 盘路径: sudo fdisk -l 使用 dd 命令,格式如下: s ...
- 6个关于dd命令备份Linux系统的例子
数据丢失带来的损失是相当昂贵的.关键数据的丢失会对各种规模的企业带来影响.有几种方法来备份Linux系统,包括rsync的和rsnapshot等.本文提供有关使用dd命令备份Linux系统的6个实例. ...
- Linux常用命令学习7---(磁盘管理df du、磁盘的分区和格式化fdisk parted)
1.磁盘管理 在服务器的维护中,我们需要关心服务器的磁盘使用了多少.还有多少的剩余空间.某个文件有多大.某个文件夹内的所有文件在一起一共占用的多少空间……问题.以便我们在合适的时机为服务器添加硬 ...
- 用dd命令复制磁盘分区
用dd命令复制磁盘分区 首先是复制 复制前对写入的分区执行umount操作 sudo dd if=/dev/sda1 of=/dev/sda2 可以在另外一个终端输入这句,然后在原来的dd终端看到进度 ...
- Linux 系统下使用dd命令备份还原MBR主引导记录
https://en.wikipedia.org/wiki/Master_boot_recordhttps://www.cyberciti.biz/faq/howto-copy-mbr/https:/ ...
- 逻辑卷磁盘管理和dd命令
底层PV 中层VG 上层LV PE(phsical extent):在逻辑层次上,VG把PV分成固定大小的块,这些块就叫PE,默认为4M ,创建LV的过程就是分多少个PE的过程. 自动分区的过 ...
- [磁盘管理与分区]——MBR破坏与修复
GURB的破坏和恢复(利用备份体恢复) (1)备份 # count= //对MBR中的引导程序部分作备份 (2)破坏MBR中的前446字节 # count= (3)恢复MBR中前446字节 ===&g ...
随机推荐
- 生成base64位图片验证码
import org.springframework.util.Base64Utils; import javax.imageio.ImageIO; import java.awt.*; import ...
- 阶段3 1.Mybatis_06.使用Mybatis完成DAO层的开发_7 Mybatis中使用代理Dao的执行过程分析
另外一种情况,不写Mybits的dao实现类的情况. 切换工程到CRUD的工程.这里面是不写dao实现类的方式 进入到GetMaper里面.这里是创建代理对象 去找SqlSession的实现类Defa ...
- python学习笔记:(三)list(列表)常用的内置方法
list(列表)包含一些内置的方法,以下为详细介绍: (方法调用:对象.方法(参数)) 1.append() 在列表的末尾添加新的对象 如: lst=[1,2,3] lst.append(4) --- ...
- win10 iis部署后 浏览目录报错 500.19
错误摘要HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配置数据无效.详细错误信息模块 IIS Web Core 通知 BeginReq ...
- Hibernate一级缓冲
Hibernate的一级缓冲 什么是缓冲 缓冲概念: 数据存在数据库中,数据库本身就是一个文件系统,使用流的方式操作文件,但是文件中有很多的内容,用流的操作得效率就低. 解决办法: 把数据存在内存中, ...
- 【HANA系列】SAP HANA SQL获取当前日期加若干天后的日期
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA SQL获取当前 ...
- webservice的一些理解
web services中如果用.NET的话,DataSet可以作为与客户端交互的一个返回值,因为DataSet实质上是XML.而SOAP WSDL等都是基于XML的. --------------- ...
- java通过正则进行语法分析实现表达式的逻辑判断和复杂计算实现
首先功能展示: 相关功能实现,实现功能类似js,弱语言类型: 1.核销语法解析使用正则校验和匹配实现处理,每一行是一个完整表达式 2.有系统变量使用,内置的变量可直接获取值进行相关逻辑和条件计算 3. ...
- P1067多项式输出
这道题是2009普及组的题,仍然是一个字符串+模拟.(蒻到先不刷算法) 这道题的题干给了很多的提示,也很全面,但是当我把种种情况都考虑到了后,在写代码的过程中仍然出现了很多的错误,wa了三四次.其实导 ...
- P5016龙虎斗
这道题是2018年普及组的第二题,是一个模拟题. 首先计算出双方各自的势力,然后将增援的队伍势力加上,比较此时双方势力,并且作差,最后枚举将公平兵加在哪一个兵营.看似简单的题被我20分钟就写完了,但是 ...