linux 分区
文件系统的一个使用流程:
存储介质选择---》硬盘分区操作;创建分区来容纳文件系统;创建分区,这个分区可以是整个硬盘也可以是部分硬盘----》创建文件系统(我们在存储数据之前,你必须使用文件系统对其分区进行格式化)----》把它挂载到虚拟目录----》写入配置文件/etc/fstab
硬盘分区的划分标准:
硬盘分区由主分区、扩展分区和逻辑分区组成
在一块硬盘上,如果是MBR分区方式,那么它的主分区最多只能有4个,或者3个主分区和1个扩展分区;在扩展分区上我们可以创建多个逻辑分区
分区编号:主分区1-4 ,逻辑分区5.。。。。。
linux规定:逻辑分区必须建立在扩展分区之上,而不是建立在主分区上
分区作用:
- 主分区:主要是用来启动操作系统的,它主要放的是操作系统的启动或引导程序,/boot分区最好放在主分区上
- 扩展分区不能使用的,它只是做为逻辑分区的容器存在的;我们真正存放数据的是主分区和逻辑分区,大量数据都放在逻辑分区中
- 如果你用的是GPT的分区方式,那么它没有限制主分区个数
- 注意:从MBR转到gpt分区或者说从GPT转到MBR会导致数据全部丢失
因此我们在对硬盘分区时最好划分主分区连续,比如说:主分区一、主分区二、扩展分区。
此文以fdisk工具为例,对一个硬盘划分。
command Reference
*partprobe #分区之后,让内核更新分区信息,否则系统需要restart后,内核才能识别新的分区
*/proc/partitions 文件夹(目录)也可以用来查看分区信息
fdisk用法:
fdisk [选项] <磁盘> 更改分区表
fdisk [选项] -l <磁盘> 列出分区表
fdisk -s <分区> 给出分区大小(块数)
选项:
-b <大小> 扇区大小(512、1024、2048或4096)
-c[=<模式>] 兼容模式:“dos”或“nondos”(默认)
-h 打印此帮助文本
-u[=<单位>] 显示单位:“cylinders”(柱面)或“sectors”(扇区,默认)
-v 打印程序版本
-C <数字> 指定柱面数
-H <数字> 指定磁头数
-S <数字> 指定每个磁道的扇区数
1、fdisk -l 查看系统上的硬盘,找到需要分区的硬盘后比如说:/dev/sda.
可以看出sda磁盘仍然有很多空间未启动;接下来进行磁盘分区,fdisk /dev/sda
进入该设备。此时出现:
Command (m for help):
查看帮助信息:输入m,看到如下信息
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition 注:这是删除一个分区的动作;
l list known partition types 注:l是列出分区类型,以供我们设置相应分区的类型;
m print this menu 注:m 是列出帮助信息;
n add a new partition 注:添加一个分区;
o create a new empty DOS partition table
p print the partition table 注:p列出分区表;
q quit without saving changes 注:不保存退出;
s create a new empty Sun disklabel
t change a partition's system id 注:t 改变分区类型;
u change display/entry units
v verify the partition table
w write table to disk and exit 注:把分区表写入硬盘并退出;
x extra functionality (experts only) 注:扩展应用,专家功能;
具体每个参数的含义,请仔细阅读。常用的就是:d l m p q t w
2、列出当前操作硬盘的分区情况,用p
Command (m for help): p
Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 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: 0x000ea964
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
Command (m for help): n 注:添加分区
Partition type:
p primary (1 primary, 0 extended, 3 free) 注:1个主分区,3个空闲分区总共四个主分区
e extended
Select (default p): p 注:添加主分区,默认主分区;
Partition number (2-4, default 2): 2 注:添加主分区2,因为有系统已有主分区1;
irst sector (2099200-209715199, default 2099200): 注:直接回车,主分区2的结束位置;默认为2099200,默认就好;
Using default value 2099200
Last sector, +sectors or +size{K,M,G} (2099200-209715199, default 209715199): +10G 注:指定分区大小,用+10G来指定大小为10G
Command (m for help): n
Partition type:
p primary (2 primary, 0 extended, 2 free) 注:2个主分区,2个空闲分区总共四个主分区
e extended
Select (default p): e 注:添加扩展分区;
Partition number (3,4, default 3): 注:直接回车,因为主分区已经分了两个了,这个也算主分区,从3开始;
First sector (23070720-209715199, default 23070720): 注:直接回车;
Using default value 23070720
Last sector, +sectors or +size{K,M,G} (23070720-209715199, default 209715199): 注:直接回车,把其余的所有空间都给扩展分区;
Using default value 209715199
Partition 3 of type Extended and of size 89 GiB is set
Command (m for help): p 注:再次打印分区查看分区结果
Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 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: 0x000ea964
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 23070719 10485760 83 Linux
/dev/sda3 23070720 209715199 93322240 5 Extended
Command (m for help): n 注:在扩展分区添加逻辑分区
Partition type:
p primary (2 primary, 1 extended, 1 free) 注:显示已有2个主分区1个扩展分区1个空闲分区;
l logical (numbered from 5) 注:增加一个逻辑分区;编号从5开始 ;因为主分区有4个;
Select (default p): l 注:添加逻辑分区;
Adding logical partition 5 逻辑分区编号为自增,不能选择
First sector (23072768-209715199, default 23072768):
Using default value 23072768
Last sector, +sectors or +size{K,M,G} (23072768-209715199, default 209715199):
Using default value 209715199
Partition 5 of type Linux and of size 89 GiB is set
Command (m for help): p 列出分区表;
Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 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: 0x000ea964
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 23070719 10485760 83 Linux
/dev/sda3 23070720 209715199 93322240 5 Extended
/dev/sda5 23072768 209715199 93321216 83 Linux
然后我们根据前面所说通过t指令来改变分区类型;
Command (m for help): t 注:通过t来指定分区类型;
Partition number (1-3,5, default 5): 注:要改变哪个分区类型呢?默认为5,其实也就是sda5,直接回车
Hex code (type L to list all codes): L 注:在这里输入L,就可以查看分区类型的id了;
0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 FAT12 27 hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx
5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data
6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility
8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt
9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access
a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 fat32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT
f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC b
11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor
12 Compaq diagnost 5c Priam Edisk a9 NetBSD f4 SpeedStor
14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f2 DOS secondary
16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS
17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT
1e Hidden W95 FAT1 80 Old Minix
Hex code (type L to list all codes): c 注:如果我想让这个分区是W95 FAT32 (LBA)类型的,通过L查看得知 c是表示的是,所以输入了c;
WARNING: If you have created or modified any DOS 6.xpartitions, please see the fdisk manual page for additionalinformation.
Changed type of partition 'Linux' to 'W95 FAT32 (LBA)' 注:系统信息,改变成功;是否是改变了,请用p查看
Command (m for help): p
Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 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: 0x000ea964
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 23070719 10485760 83 Linux
/dev/sda3 23070720 209715199 93322240 5 Extended
/dev/sda5 23072768 209715199 93321216 c W95 FAT32 (LBA)
分区类型已改变
3、通过fdisk的d指令来删除一个分区
Command (m for help): p 注:列出分区情况;
Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 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: 0x000ea964
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 23070719 10485760 83 Linux
/dev/sda3 23070720 209715199 93322240 5 Extended
/dev/sda5 23072768 209715199 93321216 c W95 FAT32 (LBA)
Command (m for help): d 注:执行删除分区指定;
Partition number (1-3,5, default 5): 注:我想删除 sda5 ,直接回车就可以因为默认为5分区 ;
Command (m for help): p 注:再查看一下硬盘分区情况,看是否删除了?
Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 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: 0x000ea964
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 23070719 10485760 83 Linux
/dev/sda3 23070720 209715199 93322240 5 Extended
Command (m for help):
警告:删除分区时要小心,请看好分区的序号,如果您删除了扩展分区,扩展分区之下的逻辑分区都会删除;所以操作时一定要小心;如果知道自己操作错了,请不要惊慌,用q不保存退出;切记切记!!!!在分区操作错了之时,千万不要输入w保存退出!!!
4、通过fdisk的n指令再增加一个分区
Command (m for help): p
ommand (m for help): p
Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 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: 0x000ea964
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 23070719 10485760 83 Linux
/dev/sda3 23070720 209715199 93322240 5 Extended
Command (m for help): n
Command action
p primary (2 primary, 1 extended, 1 free) 注:显示已有1个主分区2个扩展分区1个空闲分区;
l logical (numbered from 5) 注:增加一个逻辑分区;编号从5开始 ;见上文Linux分区划分标准;
Select (default p): p
No free sectors available 注:失败中,为什么失败?
注:我试图增加一个主分区,看来是失败了,为什么失败?因为我们看到主分区+扩展分区把整个磁盘都用光了,看扩展分区的End的值,再看一下 p输出信息中仅剩1扇区; 所以我们只能增加逻辑分区了;
Command (m for help): n
Partition type:
p primary (2 primary, 1 extended, 1 free)
l logical (numbered from 5)
Select (default p): l 注:在这里输入l,就进入划分逻辑分区阶段了;
Adding logical partition 5 注:逻辑分区自动编号,从扩展分区的标号开始
First sector (23072768-209715199, default 23072768): 注:这个就是分区的Start 值;这里最好直接按回车,如果您输入了一个非默认的数字,会造成空间浪费;
Using default value 23072768
Last sector, +sectors or +size{K,M,G} (23072768-209715199, default 209715199):+50G 注:这个是定义分区大小的,+50G 就是大小为50G ;当然您也可以根据p提示的单位扇区的大小来算,然后来指定 End的数值。根据Units = sectors of 1 * 512 = 512 bytes可以知道1扇区=512字节;但是用+50G这个办法来添加更直观一点。如果您想添加一个10G左右大小的分区,请输入 +10G或+10000M或+10000000K;
5、fdisk 的退出,用q或者 w
其中 q是 不保存退出,w是保存退出
Command (m for help): w
The partition table has been altered!
calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with ERROR 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
警告:重新读取分区表失败,错误16:内核仍然使用旧表。新表将用于下一次重新启动或运行PARTROPE(8)或KTAXX(8)之后
fdisk -l
Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 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: 0x000ea964
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 23070719 10485760 83 Linux
/dev/sda3 23070720 209715199 93322240 5 Extended
/dev/sda5 23072768 127930367 52428800 83 Linux
/dev/sda6 127932416 209715199 40891392 83 Linux
Disk /dev/mAPPer/centos-root: 10.7 GB, 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
Disk /dev/mapper/centos-swap: 4294 MB, 4294967296 bytes, 8388608 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
mount /dev/sda5 /mnt
mount: special device /dev/sda5 does not exist 磁盘不存在!
同步磁盘
reboot 或者 partprobe
partprobe
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
mount /dev/sda5 /mnt/
mount: /dev/sda5 写保护,将以只读方式挂载
mount: 未知的文件系统类型“(null)”
所以还需要对新分区进行格式化
6、对分区进行格式化,以及加载;
先提示一下;用 mkfs.bfs mkfs.ext2 mkfs.jfs mkfs.msdos mkfs.vfatmkfs.cramfs mkfs.ext3 mkfs.minix mkfs.reiserfs mkfs.xfs 等命令来格式化分区,比如我想格式化 sda5为ext3文件系统,则输入;
[root@moko15 ~]# mkfs -t ext3 -c /dev/sda5 具体参数含义,请man mkfs。
如果我想加载 sda5到目前系统来存取文件,应该有mount 命令,但首先您得建一个挂载目录;比如 /mnt/sda6 ;
[root@moko15 ~]# mkdir /sda5
[root@moko15 ~]# mount /dev/sda5 /sda5[root@moko15 ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 10G 4.1G 6.0G 41% /
devtmpfs devtmpfs 975M 0 975M 0% /dev
tmpfs tmpfs 992M 0 992M 0% /dev/shm
tmpfs tmpfs 992M 10M 982M 2% /run
tmpfs tmpfs 992M 0 992M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 201M 814M 20% /boot
tmpfs tmpfs 199M 0 199M 0% /run/user/0
/dev/sda5 ext3 40G 49M 38G 1% /sda5
相关阅读
Linux系统下关机指令只有root用户终端才能下达(Linux里切换用户可以用 su root 输入密码便进入 root 用户),同时其他终端也会接收到
三、Linux 文件权限首先来查看一下当前目录下的文件内容吧ls -l 查看当前目录下的文件列表 ls -l xxx.xxx (xxx.xxx是文件名) 查
关于execl()函数族的用法不在赘述,其他博主介绍的很详细。下面说下作者在使用该函数时所犯的错误: 作者想通过使用execl()函数在子
本文主要来自https://fukun.org/archives/06281192.html 和 http://blog.csdn.net/wangjun_1218/article/details/6835800外加一
Linux入门之ext\ext2\ext3\ext4的介绍与区别
Linux之ext\ext2\ext3\ext4的介绍与区别 文件系统名称 介绍 特点 优势 ext 第一代扩展文件系统,一种文件系