1)Linux识别磁盘:Linux通过不同的设备节点区分各个分区,节点名字的由磁盘名加分区号组成。例如,驱动器/dev/hba上的第一个分区叫做/dev/hba1,驱动器/dev/sdc上的第七个分区就叫做/dev/sdc7。
主引导记录(MBR) 引导程序(Bootloader)分区表(Partition Table)
主分区
扩展分区
逻辑分区
2)使用fdisk列出分区:
fdisk最简单的用处是显示已知分区。使用-l命令行选项,
fdisk可以列出所有已知磁盘的分区表。在下面的例子中,
fdisk -l 产生系统上两个硬盘的分区表:/dev/hda和/dev/hdb。
注:使用fdisk编辑分区表时应注意是使用分区名而不是磁盘名。如fdisk /dev/sdb,不应是fdisk /dev/sdb3
3)fdisk命令列表
4)添加一个分区:
Command(m for help):n
Command action
e extend
p primary partition(1-4)
建立新分区的命令是n,下一步取决于驱动器的状态。如果不存在扩展分区(现在就是),fdisk会问新的分区是否是扩展分区。如果扩展分区已经存在,fdisk会问新的分区是逻辑分区还是主分区。如果所有的主分区都已经在使用,fdisk就不会再问。
Selected partition e
First cylinder (3927-15505,default 3927): (按下ENTER键)
因为三个主分区都已经存在,如果管理员要创建两个新分区,需要先扩展一个分区来装他们。键入e命令。接下来,fdisk提示分区的起始柱面。管理员按回车键,接受建议的默认柱面3927(第一个可用的柱面)。
然后,fdisk询问结束柱面的号码。
Using default value 3927
Last cylinder or + size G or +size M+size K(3927-15505,default15505):
因为扩展分区是主分区,它将是磁盘上的第四个(也是最后一个)主分区,因此所有不包括在这个扩展分区中的空间都不能再使用,所以应该使用建议的柱面(也是磁盘上最后的柱面)。
5)扩展分区:
6)设置交换分区标签:
Changed system type of partition 5 to 82(Linux swap)
Command(m for help):p
分区id,以前是“Linux”,现在改为“Linux swap”。
7)删除分区:
Command(m for help):d
Partition number(1-6):4
要注意下列几点:
如果删除扩展分区,这个空间中包含的所有逻辑分区也将被删除。
因为分区信息做为一个链表维护,所以必须用连续数字编号。如果第7个分区中的第5号被删除,分区6和7就变成5和6。(对于主分区不适用。)
8)退出fdisk
Command(m for help):w
操作结束后,有两种退出fdisk的方法。
第一,可用q命令退出fdisk,这将忽略所做的修改。fdisk实用程序会等待明确的指示后才将修改写入,所以用户可随时安全退出。
如果使用w命令,fdisk会将修改写入然后退出。这是一般退出fdisk的方式,完成指定的编辑。
9)使修改生效:
退出时,fdisk会告诉用户这些修改直到下次引导时才会生效。这并不是绝对的。重新引导系统可以让这些修改生效,但运行partprobe命令也可以达到同样的效果。运行partprobe,让内核读取所做的修改,并加以更新。
[root@VDEDU~]# partprobe
10)使用/proc/partitions 查看分区
fdisk -l(只有根用户才能使用)的替代命令是proc文件系统文件/proc/partitions,这个文件也能列出所有的已知分区及其容量(以1024字节的块为单位)
[root@station root]# cat /proc/partitions
注意:输出中的每个分区(磁盘)突出的主号码和次号码。Linux内核使用和分区的设备驱动程序相关的主号码和次号码,而不是设备节点的名称识别分区。这在内核层错误信息中,经常可以看到。
11)初始化分区:
[root@VDEDU root]# mkfs.ext2 /dev/sda6
12)挂载文件系统主要概念:
使用mount命令将文件系统的根目录挂载在目录树上已有的目录。这个已有的目录叫做挂载的挂载点。umount命令将未被使用的文件系统从目录树上卸载下来。不同的挂载选项决定挂载的文件系统的能力特征。挂载选项remount赋予已存在挂载新的选项。
[root@VDEDU root]# mount /dev/sda1 /home
[root@VDEDU root]# umount /home
13)使用fuser或lsof找到进程
fuser命令列出正在使用文件的进程ID。为了达到我们的目的,调用这个命令时使用-m命令行选项,它会列出在含有指定文件的文件系统中使用文件的所有进程。
[root@VDEDU home]# fuser -m /home
/home:1912c
lsof(list open file,列出打开的文件)是fuser的替换命令。在作为挂载点的目录上执行时,lsof命令列出文件系统中当前打开的所有文件。
[root@station]# lsof /home
14)使用 mount -o remount重新挂载分区
mount 命令还能赋予已经挂载的分区新的挂载选项。重新挂载分区时, mount 命令应该 和 remount 选项一起调用,连带相关这个文件系统的任何新选项。
[root@station root]# date > /home/foo
[root@station root]# mount -o remount,ro /home
[root@station root]# date > /home/foo
-bash: /home/foo: Read-only file system
[root@station root]# mount -o remount,rw /home
[root@station root]# date > /home/foo
15)/etc/fstab 文件主要概念
/etc/fstab 文件可以用来预定义挂载点。
如果在调用 mount 命令时给出的信息不全,它会自动在/ etc/fstab 里寻找缺少的信息。
mount -a 命令会试图将/etc/fstab 文件中列出的(几乎)所有挂载点挂载。
/etc/fstab 文件中可用设备名称或文件系统标签表示设备。
文件系统标签不光可以在/etc/fstab 文件中指定设备,它还可以在 mount 命令行和-L 命令行选项一起直接使用,如下所示。
[root@station root]# dumpe2fs /dev/hda1 | head -1 dumpe2fs 1.32 (09-Nov-2002)
Filesystem volume name: /boot
[root@station root]# mount -L /boot /boot
在/etc/fstab 文件中添加一行。如:[root@VDEDU root]# mount /dev/sda1 /home。以后每次开机将会自动执行。
mkswap /dev/sda1 将这块分区作为交换空间
swapon /dev/sda1 激活交换分区
dd if=/dev/zero of=/tmp/swap bs=1024k 从/dev/zero里面读,写到/tmp/swap