一、windows系统下的分区
查看:计算机右键---管理---磁盘管理
主分区
主分区也叫引导分区,Windows系统一般需要安装在这个主分区中,这样才能保证开机自动进入系统。简单来说,主分区就是可以引导电脑开机读取文件的一个磁盘分区。
一块硬盘,最多可以同时创建4个主分区,当创建完四个主分区后,就无法再创建扩展分区和逻辑分区了。此外,主分区是独立的,对应磁盘上的第一个分区,目前绝大多数电脑,在分区的时候,一般都是将C盘用成主分区。
扩展分区
扩展分区是一个概念,实际在硬盘中是看不到的,也无法直接使用扩展分区。
除了主分区外,剩余的磁盘空间就是扩展分区了。当一块硬盘将所有容量都分给了主分区,那就没有扩展分区了,仅当主分区容量小于硬盘容量,剩下的空间就属于扩展分区了,扩展分区可以继续进行扩展切割分为多个逻辑分区。
逻辑分区
在扩展分区上面,可以创建多个逻辑分区。逻辑分区相当于一块存储介质,和操作系统还有别的逻辑分区、主分区没有什么关系,是“独立的”。常见分为:D盘、E盘、F盘。
相互关系
主分区最多可以建立四个,最少需建立一个。要从硬盘上引导操作系统,首先需激活这块硬盘上的一个主分区(同时应避免激活多个主分区,会造成系统的混乱)。
Windows无法看到非激活的主分区。如非特殊需要(如多操作系统并存),一块磁盘应只建立一个主分区,剩下的空间全部划归扩展分区,并在扩展分区中建立一个或多个逻辑分区,逻辑分区是扩展分区下的分区。
Windows中,由主分区和逻辑分区构成的逻辑磁盘称为驱动器或卷,第一个主分区构成驱动器C:,也就是C盘。由于有关DOS/Windows启动的重要文件,如引导记录(位于C盘的第一扇区)、boot.ini、ntldr、ntdetect.com等,必须放在C盘,因此微软也称硬盘上第一个主分区为系统分区。
网上其他回答
主分区是用来引导系统的,比如你装了两个系统,它们的引导都必须在主分区上,你的系统可以在逻辑分区上但是引导文件必须在主分区上(装在逻辑分区的系统下是不能格式化主分区的)。
单硬盘:对于windows操作系统而言,系统所在分区一般为C盘,如果你装在逻辑分区上,会把系统所在分区作为C盘,然后其他分区按照在硬盘上的位置向后退一位(你可以在系统设置处更改盘符)。多硬盘:可能有些不同,系统所在硬盘可能不是第一块硬盘,那么就先显示第一块硬盘(hd0)的分区,然后是第二块(hd1),然后是第三块。
二、Linux系统下的分区
磁盘接口类型:IDE、SCSI、SATA、SAS(服务器)、SSD(固态)、M2、PCI-E......
1.Linux系统物理上的分区有:主分区(Primary)、扩展分区(Extend)、逻辑分区(Logical)
主分区:
1)必须存在分区。
2)装系统。
3)分区编号在1-4(数量最多4个)。
扩展分区:
1)类似一个小磁盘,只能有一个。
2)扩展分区占1个主分区编号。
3)扩展分区不能存放数据。
4)扩展分区之上可以再分逻辑分区。
5)主分区+扩展分区,总数不能超过四个。(由分区表决定)
逻辑分区:
1)在扩展分区之上。
2)编号只能从5开始。
3)逻辑分区可以有多个。
4)逻辑分区用于存放数据。
一块磁盘最多可拥有4个主分区,其中,一个主分区可以用一个扩展分区来替换,扩展分区上可以划分逻辑分区。
分区组合可以为:3primary(p)+1extend(e)或2p+1e或1p+1e.
分区命名方式及编号规则
Linux下面的文件类型主要有:
a)普通文件:C语言元代码、SHELL脚本、二进制的可执行文件等。分为纯文本和二进制。
b)目录文件:目录,存储文件的唯一地方。
c)链接文件:指向同一个文件或目录的的文件。
d)特殊文件:与系统外设相关的,通常在/dev下面。分为块设备和字符设备。
磁盘设备对应"特殊文件",放在/dev下面,不同的设备对应的名称:
IDE接口硬盘称为hd:第一块为/dev/hda,第二块为/dev/hdb,第三块为/dev/hdc......
SCSI接口的硬盘称为sd:第一块为/dev/sda,第二块为/dev/sdb,第三块为/dev/sdc......
不同的分区用数字编号:1,2,3,4,....
如:
第一块IDE接口硬盘的第1个分区称为/dev/hda1
第二块SCSI接口硬盘的第5个分区称为/dev/sdb5
数字1~4只能留给主分区或扩展分区,逻辑分区编号从5开始。
2.目录是逻辑上的分区(不是“逻辑分区”)
Linux要求基本分区至少包括
一个根分区:/(相当于win的C盘;用来存放系统文件及程序,大小至少5G以上;/usr,/home,/var等分区可与其共用一个分区)
一个交换分区swap:相当于win的虚拟内存,大小为物理内存的1.5倍。物理内存不够用时,借用一块磁盘当内存用。
/boot分区:Linux系统的引导分区,存放系统引导文件,例Linux内核。大小大概1G上下。
举例:
/boot 引导分区 ext3 sda1 主分区
swap 交换分区 swap sda2 主分区
/ 根分区 ext3 sda1 主分区
3.步骤:磁盘(/dev/sda、/dev/sdb、/dev/sdc......盖房子)---【Raid---LVM(逻辑卷管理)】---分区(/dev/sda1,/dev/sdb1......划定屋子)---格式化(装修)---挂载(安门窗)---使用(日常维护)
分区工具:fdisk、gdisk(给大于2T的磁盘分区)、parted(给大于2T的磁盘分区)。
(1)分区
分区本质:修改分区表
fdisk工具:最常用的分区工具,不能给大于2T的磁盘分区。
1)在虚拟机上添加一块磁盘;Xshell上新建一个窗口
2)reboot重启系统
fdisk -l #查看磁盘,出现sdb没
3)fdisk /dev/sdb #分区
按照系统提示分区,最后w保存,退出。
查询分区:
ls /dev/sd*
4)通知内核,分区表修改了。
[root@oldboy ~]#partprobe /dev/sdb
(2)格式化
本质:创建文件系统
文件系统:组织和存取数据一种机制,落到Linux里就是一个文件系统软件。
文件系统类型:
win: ntfs,fat32
Linux: ext2 ext3 ext4 xfs(centos7)
格式化分区就是生成文件系统:(至少两样东西)
inode:索引节点,相当于书的目录。
block:相当于正文页。
1)inode(256字节空间)存放东西:
文件的属性(权限 大小 用户 组)
2)指针:指向文件实体(每个文件有且只能一个)
3)block:存放文件内容的空间。一个block 1,2,4K;每个block最多只能放一个文件。
如:文件大小0.1K,占一个block。另外的3.9K,则浪费掉。
数据按block读取,inode只决定是否有读取的权限。
命令: mkfs
指定文件系统格式化,
mkfs -t xfs
mkfs.ext4
mkfs.xfs
[root@oldboy ~]# mkfs.xfs /dev/sdb1 #直接接分区
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=6400 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=25600, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
(3)挂载 分区需要挂载到对应目录上
临时挂载测试
[root@oldboy ~]# mount /dev/sdb1 /mnt ##临时挂载
[root@oldboy ~]# cd /mnt/
[root@oldboy mnt]# touch oldboy.txt
[root@oldboy mnt]# ls
oldboy.txt
[root@oldboy mnt]# df -h ##查看挂载
文件系统 容量 已用 可用 已用% 挂载点
/dev/sdb1 97M 5.3M 92M 6% /mnt
永久挂载:/etc/fstab
[root@oldboy mnt]# cat /etc/fstab
/dev/mapper/centos-root / xfs defaults 0 0
UUID=748c03eb-35df-4f8f-9a07-573ce79aecb2 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
#系统已经用LVM方式帮助自动挂载了.
#以上6列意思:
设备 挂载点 文件系统类型 挂载选项 是否备份 是否开机磁盘检查
操作举例 把/dev/sdb1永久挂载到/data目录下
设备 挂载点 文件系统类型 挂载选项 是否备份 是否开机磁盘检查
/dev/sdb1 /data xfs defaults 0 0
1)在/mnt下创建/data目录:mkdir /data -p
编辑:
[root@oldboy mnt]#Vim /etc/fstab
直接粘贴进来,保存: /dev/sdb1 /data xfs defaults 0 0
2)测试挂载:[root@oldboy mnt]# mount -a #先加载/etc/fstab,否则开机有可能系统起不来
[root@oldboy mnt]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sdb1 97M 5.3M 92M 6% /data
3)reboot
重启
卸载挂载:
umount /mnt #接挂载点
umount /dev/sdb1 #接设备
umount -lf /mnt #强制卸载
查看文件大小:ls -lh 目录 #查看目录下的文件大小
查看目录大小:du -sh 目录
查看目录和文件大小:du -sh 目录/*