磁盘分区时需要使用以下两命令:
一、查看目前磁盘使用情况
一个已经分好区的磁盘sda和一个未使用的磁盘sdb,
二、创建磁盘分区
以硬盘设备文件名为参数执行fdisk命令,进入到交互式的分区管理界面中,就可以对相应的硬盘进行创建、删除、更改分区等操作
[root@justin ~]# fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x9adeb999. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help):
在操作界面中的“Command (m for help):”提示符后,用户可以输入特定的分区操作指令,完成各项分区管理任务。例如输入“m”指令后,可以查看各种操作指令的帮助信息。
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):
创建一个新的分区
Command (m for help): n ;创建一个新的分区 Command action e extended ;扩展分区 p primary partition (1-4) ;主分区,主分区最多只能4个 p ;创建主分区 Partition number (1-4): 1 ;指定主分区号 First cylinder (1-1044, default 1): ;指定第一个柱面,直接回车使用默认 Using default value 1 ; Last cylinder, +cylinders or +size{K,M,G} (1-1044, default 1044): +3G ;指定分区大小 Command (m for help):
创建好分区后可以通过命令p查看分区情况
Command (m for help): p Disk /dev/sdb: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x9adeb999 Device Boot Start End Blocks Id System /dev/sdb1 1 393 3156741 83 Linux Command (m for help):
通过以上步骤可以继续创建其他主分区,但主分区最多为4个,
创建逻辑分区
创建扩展分区:
创建逻辑分区前必须创建扩展分区,且此时需要把所有空间分配给扩展分区
Command (m for help): n Command action e extended p primary partition (1-4) e Partition number (1-4): 4 First cylinder (394-1044, default 394): Using default value 394 Last cylinder, +cylinders or +size{K,M,G} (394-1044, default 1044): Using default value 1044 Command (m for help): p Disk /dev/sdb: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x9adeb999 Device Boot Start End Blocks Id System /dev/sdb1 1 393 3156741 83 Linux /dev/sdb4 394 1044 5229157+ 5 Extended Command (m for help):
创建逻辑分区:
扩展分区创建好之后,接着就可以创建逻辑分区。在创建逻辑分区的时候不需要指定分区编号,系统将会自动从5开始顺序编号
Command (m for help): n Command action l logical (5 or over) p primary partition (1-4) l First cylinder (394-1044, default 394): Using default value 394 Last cylinder, +cylinders or +size{K,M,G} (394-1044, default 1044): +3G Command (m for help): p Disk /dev/sdb: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x9adeb999 Device Boot Start End Blocks Id System /dev/sdb1 1 393 3156741 83 Linux /dev/sdb4 394 1044 5229157+ 5 Extended /dev/sdb5 394 786 3156741 83 Linux Command (m for help):
继续创建一个逻辑分区
Command (m for help): p Disk /dev/sdb: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x9adeb999 Device Boot Start End Blocks Id System /dev/sdb1 1 393 3156741 83 Linux /dev/sdb4 394 1044 5229157+ 5 Extended /dev/sdb5 394 786 3156741 83 Linux /dev/sdb6 787 1044 2072353+ 83 Linux Command (m for help):
分区创建好需要保存退出(w)或者放弃编辑退出(q)
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@justin ~]#
新分区需要重启启动或者执行partprobe命令使其生效
[root@justin ~]# partprobe /dev/sdb [root@justin ~]#
格式化、挂载分区
创建好的分区需要格式化和挂载才能正常使用
格式化分区
[root@justin ~]# mkfs -V -t ext4 -c /dev/sdb1 [root@justin ~]# mkfs -t ext4 /dev/sdb5 [root@justin ~]# mkfs -t vfat /dev/sdb6
挂载分区
在安装Linux系统的过程中,自动建立或识别的分区通常会由系统自动完成挂载,如“/”分区、“boot”分区等,对于后来新增加的硬盘分区、优盘、光盘等设备,就必须由管理员手动进行挂载。挂载一个分区时,必须为其指定一个目录作为挂载点,用户通过这个目录就可以访问设备中的文件、目录数据
[root@justin ~]# mkdir /mnt/{sdb1,sdb5,sdb6} [root@justin ~]# mount /dev/sdb1 /mnt/sdb1 [root@justin ~]# mount /dev/sdb5 /mnt/sdb5 [root@justin ~]# mount /dev/sdb6 /mnt/sdb6 [root@justin ~]# df -Th 文件系统 类型 容量 已用 可用 已用%% 挂载点 /dev/sda2 ext4 9.9G 2.7G 6.7G 29% / tmpfs tmpfs 504M 0 504M 0% /dev/shm /dev/sda1 ext4 194M 27M 158M 15% /boot /dev/sda5 ext4 7.7G 147M 7.2G 2% /home /dev/sdb1 ext4 3.0G 69M 2.8G 3% /mnt/sdb1 /dev/sdb5 ext4 3.0G 69M 2.8G 3% /mnt/sdb5 /dev/sdb6 vfat 2.0G 4.0K 2.0G 1% /mnt/sdb6 [root@justin ~]# vim /etc/fstab proc /proc proc defaults 0 0 /dev/sdb1 /mnt/sdb1 ext4 defaults 0 0 /dev/sdb5 /mnt/sdb5 ext4 defaults 0 0 /dev/sdb6 /mnt/sdb6 vfat defaults 0 0
Tips:如果需要删除已创建好的分区,可以在fdisk命令操作界面中使用“d”指令将指定的分区删除,根据提示输入需要删除的分区序号即可。在删除时建议从最后一个分区开始进行删除,以免fdisk识别的分区序号发生紊乱。另外,如果扩展分区被删除,则扩展分区之下的逻辑分区也将同时被删除
Tips:格式化分区时候出现以下报错,是因为扩展分区不能格式化,需要在创建成逻辑分区
[root@localhost ~]# mkfs.ext4 /dev/sdb4 mke2fs 1.41.12 (17-May-2010) mkfs.ext4: inode_size (128) * inodes_count (0) too big for a filesystem with 0 blocks, specify higher inode_ratio (-i) or lower inode count (-N). [root@localhost ~]# mkfs.ext4 /dev/sdb4 mke2fs 1.41.12 (17-May-2010) mkfs.ext4: inode_size (128) * inodes_count (0) too big for a filesystem with 0 blocks, specify higher inode_ratio (-i) or lower inode count (-N). [root@localhost ~]#