分区前要先知道磁盘的大概情况:
df 查看磁盘空间
fdisk 查看磁盘分区
创建文件系统的过程:分区 ——> 格式化——>挂载——> 成为文件系统
假如有一个磁盘/dev/sda
这个磁盘还有没有分配的磁盘空间
如我的:
fdisk -l
Disk /dev/sda: 38.6 GB, 38654705664 bytes
255 heads, 63 sectors/track, 4699 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 13 104391 83 Linux
/dev/sda2 279 4699 35511682+ 83 Linux
/dev/sda3 14 140 1020127+ 83 Linux
由以上可以看出得出从1到4699中140到279中间出现断层,也就是还没有分配的空间
现在开始创建分区/dev/sda4
[root@fwx251 ~]# fdisk /dev/sda
The number of cylinders for this disk is set to 4699.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
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
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Selected partition 4
First cylinder (141-4699, default 141):
Using default value 141
Last cylinder or +size or +sizeM or +sizeK (141-278, default 278):
Using default value 278
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: 设备或资源忙.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
[root@fwx251 ~]# partprobe // 将新分区的信息写入内核,并重新读取分区信息
[root@fwx251 ~]# fdisk -l
Disk /dev/sda: 38.6 GB, 38654705664 bytes
255 heads, 63 sectors/track, 4699 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 13 104391 83 Linux
/dev/sda2 279 4699 35511682+ 83 Linux
/dev/sda3 14 140 1020127+ 83 Linux
/dev/sda4 141 278 1108485 83 Linux
由以上已多了个/dev/sda4的分区出来
接下来是格式化分区:mkfs -t ext3 /dev/sda4 等同于mkfs.ext3 /dev/sda4 (ext3,是文件格式,还可以有ext2等,具体查看 man mkfs)
再来个挂载就行了: mount /dev/sda4 /挂载点
另: 如果要将该分区加载为交换区(Swap) 则是执行这样的命令: mkswap /dev/sda4
再启用一下: swapon /dev/sda4 这样就成为了Swap区(可以比较创建前后 cat /proc/meminfo中Swap Total的大小)
二:
创建 虚拟文件系统 (Virtual File System, VFS)
虚拟文件系统(Virtual File System, 简称 VFS),是 Linux 内核中的一个软件层,用于给用户空间的程序提供文件系统接口;同时,它也提供了内核中的一个抽象功能,允许不同的文件系统共存。系统中所有的文件系统不但 依赖 VFS 共存,而且也依靠 VFS 协同工作。
为了能够支持各种实际文件系统,VFS 定义了所有文件系统都支持的基本的、概念上的接口和数据结构;同时实际文件系统也提供 VFS 所期望的抽象接口和数据结构,将自身的诸如文件、目录等概念在形式上与VFS的定义保持一致。换句话说,一个实际的文件系统想要被 Linux 支持,就必须提供一个符合VFS标准的接口,才能与 VFS 协同工作。实际文件系统在统一的接口和数据结构下隐藏了具体的实现细节,所以在VFS 层和内核的其他部分看来,所有文件系统都是相同的。
虚拟文件系统寄居在现有文件系统中,可以格式化成想要的文件系统类型,改变存放位置,也可以在其他计算机上使用,在创建live CD或运行专门的虚拟操作系统时很有用。(该段引用http://www.ccw.com.cn/college/htm2010/20100903_886653.shtml)
由于是创建虚拟文件系统,所以,可以在已被分配的区上创建。
dd if=/dev/sda2 of=/tmp/swap bs=1M count=1024 ;//这样生成的是1024M,可以有du -sh /tmp/swap 查看大小
这是一个虚拟文件系统。
在这个的基础上,创建成swap文件(或可以说是区)
mkswap /tmp/swap
swapon /tmp/swap
再挂载就行了
或创建成其他格式的文件如ext3:mkfs -t ext3 /tmp/swap
再挂载就行了
mount -o loop /tmp/swap /挂载点