Linux硬盘分区(一):添加
********************************

*************************
过程简述

*************************

--添加磁盘  
# fdisk -l                --查看磁盘情况  
# fdisk /dev/sdb          --为/dev/sdb设备分区  
n                         --添加分区  
p/e           --主分区/逻辑分区  
w             --保存退出  
# mkdir /data         --创建挂载目录  
# mkfs.ext3 /dev/sdb      --格式化磁盘为ext3文件系统  
# fdisk -l                --再次查看磁盘情况  
# mount /dev/sdb /data    --挂载磁盘到创建的挂载目录下  
# vi /etc/fstab           --修改启动自动挂载项  
/dev/sdb    /data       ext3    defaults     0 0

*************************
说明
*************************
1、以上操作为精炼总结,若如可以看懂,下面内容无需浏览;
2、以下简单列举两例,细化操作过程。

*****************************************************************************************************

 



举例1:添加1块90G磁盘,将其分为1个分区

*****************************************************************************************************

*************************
查看磁盘情况
*************************

[root@hyldb /]# fdisk -l  
  
Disk /dev/sda: 128.8 GB, 128849018880 bytes  
255 heads, 63 sectors/track, 15665 cylinders  
Units = cylinders of 16065 * 512 = 8225280 bytes  
  
   Device Boot      Start         End      Blocks   Id  System  
/dev/sda1   *           1          64      514048+  83  Linux  
/dev/sda2              65         586     4192965   82  Linux swap / Solaris  
/dev/sda3             587       15665   121122067+  83  Linux  
  
Disk /dev/sdb: 96.6 GB, 96636764160 bytes  
255 heads, 63 sectors/track, 11748 cylinders  
Units = cylinders of 16065 * 512 = 8225280 bytes  
  
Disk /dev/sdb doesn't contain a valid partition table

 

*************************

磁盘分区
************************

[root@hyldb /]# fdisk /dev/sdb  
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel  
Building a new DOS disklabel. Changes will remain in memory only,  
until you decide to write them. After that, of course, the previous  
content won't be recoverable.  
  
The number of cylinders for this disk is set to 11748.  
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)  
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)  
  
Command (m for help): m       
--输入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  
--输入p添加主分区  
Partition number (1-4): 1  
--填写分区号  
First cylinder (1-11748, default 1):   
Using default value 1  
Last cylinder or +size or +sizeM or +sizeK (1-11748, default 11748):   
Using default value 11748  
  
Command (m for help): p  
--打印分区列表  
Disk /dev/sdb: 96.6 GB, 96636764160 bytes  
255 heads, 63 sectors/track, 11748 cylinders  
Units = cylinders of 16065 * 512 = 8225280 bytes  
  
   Device Boot      Start         End      Blocks   Id  System  
/dev/sdb1               1       11748    94365778+  83  Linux  
  
Command (m for help): w  
--保存退出  
The partition table has been altered!  
  
Calling ioctl() to re-read partition table.  
Syncing disks.

*************************
创建挂载目录
*************************

[root@hyldb /]# mkdir /data

*************************
格式化磁盘
*************************

[root@hyldb /]# mkfs.ext3 /dev/sdb  
--格式化sdb1,格式成ext3格式文件系统  
mke2fs 1.39 (29-May-2006)  
/dev/sdb is entire device, not just one partition!  
Proceed anyway? (y,n) y  
Filesystem label=  
OS type: Linux  
Block size=4096 (log=2)  
Fragment size=4096 (log=2)  
11796480 inodes, 23592960 blocks  
1179648 blocks (5.00%) reserved for the super user  
First data block=0  
Maximum filesystem blocks=4294967296  
720 block groups  
32768 blocks per group, 32768 fragments per group  
16384 inodes per group  
Superblock backups stored on blocks:   
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,   
        4096000, 7962624, 11239424, 20480000  
  
  
Writing inode tables: done                              
Creating journal (32768 blocks): done  
Writing superblocks and filesystem accounting information: done  
  
  
This filesystem will be automatically checked every 33 mounts or  
180 days, whichever comes first.  Use tune2fs -c or -i to override.  
[root@hyldb /]# fdisk -l  
  
  
Disk /dev/sda: 128.8 GB, 128849018880 bytes  
255 heads, 63 sectors/track, 15665 cylinders  
Units = cylinders of 16065 * 512 = 8225280 bytes  
  
  
   Device Boot      Start         End      Blocks   Id  System  
/dev/sda1   *           1          64      514048+  83  Linux  
/dev/sda2              65         586     4192965   82  Linux swap / Solaris  
/dev/sda3             587       15665   121122067+  83  Linux  
  
  
Disk /dev/sdb: 96.6 GB, 96636764160 bytes  
255 heads, 63 sectors/track, 11748 cylinders  
Units = cylinders of 16065 * 512 = 8225280 bytes  
  
  
Disk /dev/sdb doesn't contain a valid partition table

*************************

挂载磁盘到指定路径下
*************************

[root@hyldb /]# mount /dev/sdb /data  
[root@hyldb /]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/sda3             112G  4.3G  102G   5% /  
/dev/sda1             487M   17M  445M   4% /boot  
tmpfs                1006M     0 1006M   0% /dev/shm  
/dev/sdb               89G  184M   84G   1% /data

*************************
修改启动磁盘自动挂载
*************************

[root@xckydb ~]# vi /etc/fstab  
LABEL=/                 /                       ext3    defaults        1 1  
LABEL=/boot             /boot                   ext3    defaults        1 2  
tmpfs                   /dev/shm                tmpfs   defaults        0 0  
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0  
sysfs                   /sys                    sysfs   defaults        0 0  
proc                    /proc                   proc    defaults        0 0  
LABEL=SWAP-sda2         swap                    swap    defaults        0 0  
/dev/sdb                /data                   ext3    defaults        0 0  
~  
~  
"/etc/fstab" 8L, 608C written  
  
  
--格式说明  
/dev/sdb1       /u01          ext3       defaults           0              0  
要挂载的对象    挂载的目录    系统类型   文件系统访问权限   开机后是否检测 出问题后是否转储

*****************************************************************************************************

 



举例2:

1、添加1块10G磁盘;
2、将其分为六个分区;
3、三个主分区分别为2G;
4、剩余空间分为扩展分区,具体分为两个逻辑分区分别为1G,剩余空间单独分为一个逻辑分区。
*****************************************************************************************************

*************************
查看磁盘情况
*************************

[root@hyl ~]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/sda1             9.7G  5.4G  3.9G  59% /  
/dev/sda3              35G   17G   17G  50% /home  
tmpfs                1006M     0 1006M   0% /dev/shm  
[root@hyl ~]# fdisk -l  
  
Disk /dev/sda: 53.6 GB, 53687091200 bytes  
255 heads, 63 sectors/track, 6527 cylinders  
Units = cylinders of 16065 * 512 = 8225280 bytes  
  
   Device Boot      Start         End      Blocks   Id  System  
/dev/sda1   *           1        1305    10482381   83  Linux  
/dev/sda2            1306        1827     4192965   82  Linux swap / Solaris  
/dev/sda3            1828        6527    37752750   83  Linux  
  
Disk /dev/sdb: 10.7 GB, 10737418240 bytes  
255 heads, 63 sectors/track, 1305 cylinders  
Units = cylinders of 16065 * 512 = 8225280 bytes  
  
Disk /dev/sdb doesn't contain a valid partition table

*************************
为/dev/sdb设备分区
*************************

[root@hyl ~]# fdisk /dev/sdb  
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel  
Building a new DOS disklabel. Changes will remain in memory only,  
until you decide to write them. After that, of course, the previous  
content won't be recoverable.  
  
  
The number of cylinders for this disk is set to 1305.  
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)  
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)  
  
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)

*************************
创建第一个主分区:大小2G
*************************

Command (m for help): n  
Command action  
   e   extended  
   p   primary partition (1-4)  
p  
Partition number (1-4): 1  
First cylinder (1-1305, default 1):   
Using default value 1  
Last cylinder or +size or +sizeM or +sizeK (1-1305, default 1305): +2048M

*************************
创建第二个主分区:大小2G
*************************

Command (m for help): n  
Command action  
   e   extended  
   p   primary partition (1-4)  
p  
Partition number (1-4): 1  
First cylinder (1-1305, default 1):   
Using default value 1  
Last cylinder or +size or +sizeM or +sizeK (1-1305, default 1305): +2048M  
  
Command (m for help): n  
Command action  
   e   extended  
   p   primary partition (1-4)  
p  
Partition number (1-4): 2  
First cylinder (251-1305, default 251):   
Using default value 251  
Last cylinder or +size or +sizeM or +sizeK (251-1305, default 1305): +2048M

*************************
创建第三个主分区:大小2G
*************************

Command (m for help): n  
Command action  
   e   extended  
   p   primary partition (1-4)  
p  
Partition number (1-4): 3  
First cylinder (501-1305, default 501):   
Using default value 501  
Last cylinder or +size or +sizeM or +sizeK (501-1305, default 1305): +2048M

*************************
先打印分区列表看一下
*************************

Command (m for help): p  
  
Disk /dev/sdb: 10.7 GB, 10737418240 bytes  
255 heads, 63 sectors/track, 1305 cylinders  
Units = cylinders of 16065 * 512 = 8225280 bytes  
  
   Device Boot      Start         End      Blocks   Id  System  
/dev/sdb1               1         250     2008093+  83  Linux  
/dev/sdb2             251         500     2008125   83  Linux  
/dev/sdb3             501         750     2008125   83  Linux

*************************
创建扩展分区
*************************

Command (m for help): n  
Command action  
   e   extended  
   p   primary partition (1-4)  
e  
Selected partition 4  
First cylinder (751-1305, default 751):   
Using default value 751  
Last cylinder or +size or +sizeM or +sizeK (751-1305, default 1305):   
Using default value 1305

*************************
创建第一个逻辑分区:大小1G
*************************

Command (m for help): n  
First cylinder (751-1305, default 751):   
Using default value 751  
Last cylinder or +size or +sizeM or +sizeK (751-1305, default 1305): +1024M

*************************
创建第二个逻辑分区:大小1G
*************************

Command (m for help): n  
First cylinder (876-1305, default 876):   
Using default value 876  
Last cylinder or +size or +sizeM or +sizeK (876-1305, default 1305): +1024M

*************************
剩余容量创建最后一个逻辑分区
*************************

Command (m for help): n  
First cylinder (1001-1305, default 1001):   
Using default value 1001  
Last cylinder or +size or +sizeM or +sizeK (1001-1305, default 1305):   
Using default value 1305

*************************
打印分区列表
*************************

Command (m for help): p  
  
Disk /dev/sdb: 10.7 GB, 10737418240 bytes  
255 heads, 63 sectors/track, 1305 cylinders  
Units = cylinders of 16065 * 512 = 8225280 bytes  
  
   Device Boot      Start         End      Blocks   Id  System  
/dev/sdb1               1         250     2008093+  83  Linux  
/dev/sdb2             251         500     2008125   83  Linux  
/dev/sdb3             501         750     2008125   83  Linux  
/dev/sdb4             751        1305     4458037+   5  Extended  
/dev/sdb5             751         875     1004031   83  Linux  
/dev/sdb6             876        1000     1004031   83  Linux  
/dev/sdb7            1001        1305     2449881   83  Linux

*************************
保存退出
*************************

Command (m for help): w  
The partition table has been altered!  
  
Calling ioctl() to re-read partition table.  
Syncing disks.

*************************
查看磁盘划分
*************************

[root@hyl ~]# fdisk -l  
  
Disk /dev/sda: 53.6 GB, 53687091200 bytes  
255 heads, 63 sectors/track, 6527 cylinders  
Units = cylinders of 16065 * 512 = 8225280 bytes  
  
   Device Boot      Start         End      Blocks   Id  System  
/dev/sda1   *           1        1305    10482381   83  Linux  
/dev/sda2            1306        1827     4192965   82  Linux swap / Solaris  
/dev/sda3            1828        6527    37752750   83  Linux  
  
Disk /dev/sdb: 10.7 GB, 10737418240 bytes  
255 heads, 63 sectors/track, 1305 cylinders  
Units = cylinders of 16065 * 512 = 8225280 bytes  
  
   Device Boot      Start         End      Blocks   Id  System  
/dev/sdb1               1         250     2008093+  83  Linux  
/dev/sdb2             251         500     2008125   83  Linux  
/dev/sdb3             501         750     2008125   83  Linux  
/dev/sdb4             751        1305     4458037+   5  Extended  
/dev/sdb5             751         875     1004031   83  Linux  
/dev/sdb6             876        1000     1004031   83  Linux  
/dev/sdb7            1001        1305     2449881   83  Linux  
--由此可以看出,sdb1、sdb2、sdb3为主分区,sdb5、sdb6、sdb7为逻辑分区

*************************
举例:将sdb1格式化为ext3文件系统
*************************

[root@hyl ~]# cd /  
[root@hyl /]# mkdir data1  
[root@hyl /]# mkfs.ext3 /dev/sdb1  
mke2fs 1.39 (29-May-2006)  
Filesystem label=  
OS type: Linux  
Block size=4096 (log=2)  
Fragment size=4096 (log=2)  
251392 inodes, 502023 blocks  
25101 blocks (5.00%) reserved for the super user  
First data block=0  
Maximum filesystem blocks=515899392  
16 block groups  
32768 blocks per group, 32768 fragments per group  
15712 inodes per group  
Superblock backups stored on blocks:   
        32768, 98304, 163840, 229376, 294912  
  
Writing inode tables: done                              
Creating journal (8192 blocks): done  
Writing superblocks and filesystem accounting information: done  
  
This filesystem will be automatically checked every 28 mounts or  
180 days, whichever comes first.  Use tune2fs -c or -i to override.

*************************
举例:为sdb1设置开机自动挂载

 

*************************

[root@hyl /]# vi /etc/fstab  
--设置开机自动挂载  
LABEL=/                 /                       ext3    defaults        1 1  
LABEL=/home             /home                   ext3    defaults        1 2  
tmpfs                   /dev/shm                tmpfs   defaults        0 0  
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0  
sysfs                   /sys                    sysfs   defaults        0 0  
proc                    /proc                   proc    defaults        0 0  
LABEL=SWAP-sda2         swap                    swap    defaults        0 0  
/dev/sdb1               /data1                  ext3    defaults        0 0  
~  
~  
~  
"/etc/fstab" 8L, 608C written  
[root@hyl /]# mount /dev/sdb1 /data1  
[root@hyl /]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/sda1             9.7G  5.4G  3.9G  59% /  
/dev/sda3              35G   17G   17G  50% /home  
tmpfs                1006M     0 1006M   0% /dev/shm  
/dev/sdb1             1.9G   35M  1.8G   2% /data1

*****************************************************************************************************
Linux硬盘分区(二):删除

*****************************************************************************************************

*************************
举例:对sdb1进行umount

*************************

[root@hyl /]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/sda1             9.7G  5.4G  3.9G  59% /  
/dev/sda3              35G   17G   17G  50% /home  
tmpfs                1006M     0 1006M   0% /dev/shm  
/dev/sdb1             1.9G   35M  1.8G   2% /data1  
[root@hyl /]# umount /data1  
[root@hyl /]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/sda1             9.7G  5.4G  3.9G  59% /  
/dev/sda3              35G   17G   17G  50% /home  
tmpfs                1006M     0 1006M   0% /dev/shm  
  
[root@hyl /]# fdisk -l  
  
Disk /dev/sda: 53.6 GB, 53687091200 bytes  
255 heads, 63 sectors/track, 6527 cylinders  
Units = cylinders of 16065 * 512 = 8225280 bytes  
  
   Device Boot      Start         End      Blocks   Id  System  
/dev/sda1   *           1        1305    10482381   83  Linux  
/dev/sda2            1306        1827     4192965   82  Linux swap / Solaris  
/dev/sda3            1828        6527    37752750   83  Linux  
  
Disk /dev/sdb: 10.7 GB, 10737418240 bytes  
255 heads, 63 sectors/track, 1305 cylinders  
Units = cylinders of 16065 * 512 = 8225280 bytes  
  
   Device Boot      Start         End      Blocks   Id  System  
/dev/sdb1               1         250     2008093+  83  Linux  
/dev/sdb2             251         500     2008125   83  Linux  
/dev/sdb3             501         750     2008125   83  Linux  
/dev/sdb4             751        1305     4458037+   5  Extended  
/dev/sdb5             751         875     1004031   83  Linux  
/dev/sdb6             876        1000     1004031   83  Linux  
/dev/sdb7            1001        1305     2449881   83  Linux

*************************
对第二块磁盘操作(即/dev/sdb)
*************************

[root@hyl /]# fdisk /dev/sdb  
  
The number of cylinders for this disk is set to 1305.  
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): p  
  
Disk /dev/sdb: 10.7 GB, 10737418240 bytes  
255 heads, 63 sectors/track, 1305 cylinders  
Units = cylinders of 16065 * 512 = 8225280 bytes  
  
   Device Boot      Start         End      Blocks   Id  System  
/dev/sdb1               1         250     2008093+  83  Linux  
/dev/sdb2             251         500     2008125   83  Linux  
/dev/sdb3             501         750     2008125   83  Linux  
/dev/sdb4             751        1305     4458037+   5  Extended  
/dev/sdb5             751         875     1004031   83  Linux  
/dev/sdb6             876        1000     1004031   83  Linux  
/dev/sdb7            1001        1305     2449881   83  Linux

*************************
删除分区:sdb1及其它
*************************

Command (m for help): d  
--输入删除指令  
Partition number (1-7): 1  
--输入删除的分区号  
Command (m for help): p  
--打印分区表  
Disk /dev/sdb: 10.7 GB, 10737418240 bytes  
255 heads, 63 sectors/track, 1305 cylinders  
Units = cylinders of 16065 * 512 = 8225280 bytes  
  
  
   Device Boot      Start         End      Blocks   Id  System  
/dev/sdb2             251         500     2008125   83  Linux  
/dev/sdb3             501         750     2008125   83  Linux  
/dev/sdb4             751        1305     4458037+   5  Extended  
/dev/sdb5             751         875     1004031   83  Linux  
/dev/sdb6             876        1000     1004031   83  Linux  
/dev/sdb7            1001        1305     2449881   83  Linux  
--可以看到sdb1已经被删除了  
--接下来同理,删除其它分区  
Command (m for help): d  
Partition number (1-7): 2  
  
  
Command (m for help): d  
Partition number (1-7): 3  
  
  
Command (m for help): d  
Partition number (1-7): 4  
  
  
Command (m for help): p   
  
  
Disk /dev/sdb: 10.7 GB, 10737418240 bytes  
255 heads, 63 sectors/track, 1305 cylinders  
Units = cylinders of 16065 * 512 = 8225280 bytes  
  
  
   Device Boot      Start         End      Blocks   Id  System  
  
  
Command (m for help): w  
--保存退出  
The partition table has been altered!  
  
  
Calling ioctl() to re-read partition table.  
Syncing disks.  
  
  
--现在可以移除磁盘了