如何使用fdisk和parted分区工具来进行硬盘分区,下面我来说一下在Linux系统中这两种硬盘分区工具的使用方法:
 
 
----------fdisk分区工具----------
 
 
   在我的另一篇文章里已经说过了在Linux系统中硬盘分区的概念了(http://blog.chinaunix.net/u3/112561/showart_2230401.html),所以在这里我就不多说了,有不懂的可以看看那篇
一、.下面来介绍fdisk分区工具的命令格式:
    fdisk是传统的Linux硬盘分区工具,也是Linux系统中最常用的一种硬盘分区工具之一,它的命令格式如下:
 
 
其中常用命令选项的说明如下:
-b sectorsize: 定义磁盘扇区的大小,有效值包括512、1024和2048,这个选项只对老版本的Linux操作系统有效。
-C cyls: 定义磁盘的柱面数,一般情况不需要对它进行定义,使用默认的就好。
-H heads: 定义分区表所使用的磁盘的碰头数,一般为255或16。
-S sects: 定义每条磁道的扇区数,一般为63。
-l :这是最常用到的一个命令选项,它是显示指定磁盘设备的分区表信息,例如查看/dev/sdb1这个磁盘设备的分区表信息就是:fdisk -l /dev/sdb1
-u :在显示分区表时,以扇区代替柱面作为显示的单位
-s partition: 在标准输出中以block为单位显示分区的大小。
-v :显示fdisk的版本信息。
device:就是磁盘的设备名称,IDE类型的磁盘设备名为[dev/hd[a-h]];而SCSI或SATA类型的磁盘设备名为[dev/sd[a-p]]。
    假如我要查看我电脑上的第一块磁盘的分区表信息(呵呵,我就一块硬盘)可以使用如下命令:fdisk -l /dev/sda(我的硬盘是SATA类型的)显示信息如图:
 
然后我们可以看一下它们各自对应磁盘设备文件:
使用命令:ll /dev/sda*  来查看如图:
 
朋友们可以自己尝试一下别的命令的作用,由于时间问题我在这里就不一一说了~!下面我们来看看如何使用fdisk工具来对硬盘分区吧。
二、fdisk交互模式:
    当我们使用了命令“fdisk+设备名”后,就可以进入fdisk程序的交互模式了,在交互模式中可以通过输入fdisk程序所提供的指令来完成相应的操作,其结果如图:
 
进入到这种模式时候,我们就可以通过输入fdisk的指令来执行相应的磁盘分区管理操作了,输入m可以获取fdisk的指令帮助信息:如图:
 
下面我们来看看各个指令的使用说明:
a :设置可引导标记
b :修改bsd的磁盘标签
c :设置DOS操作系统兼容标记
d :删除一个分区
l :显示已知的分区类型,其中82为Linux swap分区,83为Linux分区
m :显示帮助信息
n :增加一个新的分区
o :创建一个新的空白的DOS分区表
p :显示磁盘当前的分区表
q :退出fdisk程序,不保存任何修改
s :创建一个新的空白的Sun磁盘标签
t :改变一个分区的系统号码(比如把Linux Swap分区改为Linux分区)
u :改变显示记录单位
v :对磁盘分区表进行验证
w :保存修改结果并退出fdisk程序
x :特殊功能,不建议初学者使用
知道了上面这些命令的意义,可以说就会对一块硬盘进行分区了。下面我来举个例子来说明一下:
首先我拿虚拟机添加一块硬盘,大小为170G,然后对其进行分区:
1.首先输入“fdisk -l“命令来查看一下添加上硬盘没有,然后输入命令“fdisk /dev/sdb"来进入fdisk程序交互模式,如下图:
 
2.输入指令“n"来新建一个分区,这个时候系统会让你输入是新建主分区还是扩展分区,我选择主分区(p),然后输入分区号(因为我这是新的硬盘,还没有分过区,所以输入1代表第一个主分区),然后又是起始柱面,直接选择默认即可。最后输入你这块分区的大小,我这里是分的差不多50G吧!这样一个分区就分好了,然后你可以输入p指令来查看一下,如下图:
 
3.这次我再建立一个扩展分区,首先输入指令n来新建一个分区,然后输入e来选择扩展分区,再输入分区号(2),然后下面的都选择默认就OK了!建立好后使用指令 p来查看一下,如图:
 
4.下面我再在扩展分区里面建立两个逻辑分区,首先输入指令n,然后选择分区类型为l(逻辑分区)起始柱面选择默认,然后输入此逻辑分区的大小,我就分40G了。最后输入指令p来查看一下是否建立成功,如图:
 
5.同样的步骤建立另一个逻辑分区,这里就不多说了。下面来看一下如何修改一个分区的类型。
6.输入指令t来修改分区的类型(只需要输入分区类型对应的ID号即可),然后输入要修改的分区号,我这里是修改的sdb5(也就是说输入5就OK了)。最后输入分区的类型的ID号,如果不知道分区的类型对应的ID号,你可以输入“l"指令来查看分区类型所对应的ID号。如图:
 
7.查到分区类型的ID号后,你就可以输入对应的ID号来修改分区类型了,我这里把Linux分区改为Linux swap类型,从上图可知Linux swap类型所对应的ID为82,输入82后回车就完成 了修改,可以使用指令p来查看一下,如图:
 
8.上面这些就是整个使用fdisk分区工具对硬盘进行分区的过程,哦,别忘记最后一步了,你得输入指令w来对你所做的操作进行保存,保存后你可以使用fdisk -l /dev/sdb来查看是否分区成功。如图:
 
9.上面我们对硬盘进行了分区,硬盘分完区之后是不能直接使用的,得格式化后才能使用,下面我们就对硬盘进行格式化。输入“mkfs.ext3"来把硬盘格式化成ext3类型的文件系统。具体mkfs命令的使用方法,可以自己使用man mkfs命令来查看,这里就不详细说明了。如图:
 
10.输入mkfs.ext3 /dev/sdb1命令来对硬盘格式化,一个一个分区都要格式化完成才可以,有一个特殊的分区就是swap,可以使用命令mkswap /dev/sdb5来对swap类型的分区进行格式化。如下图:
 
 
11.格式化完文件系统后,你需要对磁盘进行挂载后才能够正常使用,挂载命令为mount,使用格式如下:
mount [-t  文件系统类型 ] 存储设备   挂载点(通常文件系统类型通常可以省略,系统会自动识别)
12.在挂载之前你需要新建一个挂载点,就是你想要把这块磁盘挂载到哪,然后你就把挂载点建立在哪就OK了。例如,上面例子中,我要对/dev/sdb1分区挂载,那么我先给它新建一个挂载点:mkdir /media/sdb1,然后执行:mount /dev/sdb1 /media/sdb1挂载点的名字可以随便起,挂载后你就可以往磁盘里写东西了,如图:
 
13.为了方便起见,我们还可以修改相关的配置文件,使得系统对某一个分区进行自动挂载,具体就是修改/etc/fstab配置文件来实现,我以上面例子把/dev/sdb1分区配置成每次系统启动时自动挂载到/media/sdb1下面,可以如下修改配置文件,如图:
 
14.按照上面所做当系统每次启动时,就会自动把/dev/sdb1分区挂载到/media/sdb1里,而不用我们每次进行手动挂载。
15.如果我们不想使用某一分区时,需要对它进行卸载,可以使用“umount + 设备挂载点”命令来进行卸载。如上例:umount /media/sdb1命令来进行卸载。
注意:有时候会遇到无法卸载的情况,遇到这种情况的原因是因为有其他用户或进程正在访问该文件系统导致的,在Linux系统中,是不允许对正在被访问的文件系统进行卸载操作的,只有当该文件系统上所有访问的用户或进程完成操作并退出后,这个文件系统才能被正常卸载。我们有两种方法来处理这种情况,一是用命令“lsof +挂载点”来查看到底是哪些进程正在访问该文件系统,查找出来后,使用kill命令将进程杀死来进行卸载。二是使用命令“fuser -k +挂载点”。加-k选项是使用命令fuser找出正在访问该文件系统的进程,加上-k选项就是找出来并杀死。通过以上两种方法就可以对一些无法卸载的文件系统进行卸载了。
 
 
 
----------parted分区工具----------
 
 
    parted是RHEL5下自带的另外一种分区软件,相对于fdisk,它的使用更加方便,同时它还提供了动态调整分区大小的功能。下面我来如何通过parted创建、删除磁盘分区、查看分区表、更改分区大小、创建文件系统以及如何使用parted交互模式。
一、parted简介:
    parted是另一款在linux下常用的分区软件,它支持的分区类型范围非常广,包括ext2、ext3、linux-swap、FAT、FAT32、reiserfs、HFS、jsf、ntfs、ufs和xfs等。它的命令格式如下:
parted [options] [device  [command [options...]...]]
其中的命令选项说明如下:
-h :显示帮助信息。
-i :交互模式。
-s :脚本模式。
-v :显示parted的版本信息。
device :磁盘设备名称,如/dev/sda.
command :parted指令,如果没有设置指令,则parted将会进入交互模式。
二、parted交互模式:
    与fdisk类似,parted可以使用命令“parted+设备名”进入交互模式。进入交互模式后,可以通过parted的各种指令来对磁盘分区进行管理,跟fdisk非常相似。我还以我电脑上的那块硬盘为例,如图是进入parted交互模式后又输入“help“命令帮助的界面:
-_-!汗,这里少了一张图,可能没复制上吧。。。你只要终端下输入“parted /dev/某个设备”就可以进入parted交互模式。
parted的各种操作指令和详细说明如下:
 
check NUMBER                                检查文件系统
cp [FROM-DEVICE]FROM-NUMBER TO-NUMBER      复制文件系统到另外一个分区
help[COMMAND]                             显示全部帮助信息或者指定命令的帮助信息
mklabel,mktable LABEL-TYPE                  在分区表中创建一个新的磁盘标签
mkfs NUMBER FS-TYPE                         在分区上创建一个指定类型的文件系统
mkpart PART-TYPE[FS-TYPE]START END          创建一个分区
mkparts PART-TYPE[FS-TYPE]START END         创建一个分区,并在分区上创建指定的文件系统
move NUMBER START END                       移动分区
name NUMBER NAME                            以指定的名字命名分区号
print [free|NUMBER|all]                     显示分区表、指定的分区或者所有设备
quit                                        退出parted程序
rescue START END                            修复丢失的分区
resize NUMBER START END                     更改分区的大小
rm NUMBER                                   删除分区
select DEVICE                               选择需要更改的设备
set NUMBER FLAG STATE                       更改分区的标记
toggle [NUMBER[FLAG]]                       设置或取消分区的标记
unit UNIT                                   设置默认单位
version                                     显示parted的版本信息
三、分区管理
1.查看分区
    在parted交互模式下输入print指令来查看分区(相当于fdisk的p指令),如图:
 
2.创建分区
    在parted交互模式下输入mkpart指令来创建磁盘分区,假如要创建一个开始位置为50G、结束位置为100G、文件系统类型为ext3的逻辑分区,可以使用如下指令来创建:
mkpart logical ext3 50G 100G  如图:
 
当然也可以只输入mkpart指令而不带任何参数,parted会一步步提示用户输入相关信息并最终完成分区创建,如图:
 
3.创建文件系统
    创建分区后,可以使用mkfs指令在分区上创建文件系统(也就是格式化),parted目前只支持ext2文件系统,还不支持ext3,如图:
 
4.更改分区大小
    使用resize指令可以更改指定分区的大小。需要更改大小的分区上面必须是已经创建了文件系统,否则会提示:Error:Could not detect file system.下面我以dev/sdb6为例来缩小22G,因为我现在磁盘已经用完了,所以不能加了!就减少吧!如图:
 
5.删除分区
    使用rm指令可以删除指定的磁盘分区,在进行删除操作前必须先把分区卸载,例如我要删除/dev/sdb6就是在parted交互模式下输入“rm“指令,然后输入要删除的分区号。如图:
 
 
  

Linux下的两种磁盘分区工具的使用的更多相关文章

  1. Linux 下的两种分层存储方案

    背景介绍 随着固态存储技术 (SSD),SAS 技术的不断进步和普及,存储介质的种类更加多样,采用不同存储介质和接口的存储设备的性能出现了很大差异.SSD 相较于传统的机械硬盘,由于没有磁盘的机械转动 ...

  2. linux 下的两种软件安装方式 —— 源码(编译、安装),编译好的二进制(直接安装)

    我们以 GPG(加密工具)为例来说明两种安装方式的区别: 源码(Source code releases,名称中则会含有src等说明信息,tarball:source),先编译再安装 GPU 的源码地 ...

  3. 浅谈Linux下傻瓜式磁盘分区工具cfdisk的使用

    对于新手来说,Linux环境下的磁盘分区可能还会存在一些困难.对于熟悉Linux的朋友来说,我们还有fdisk.parted(2TB以上的磁盘分区使用)等磁盘分区工具可以使用.在我们新增磁盘或者在原来 ...

  4. Linux磁盘分区工具的使用

    ----------fdisk分区工具----------   一..下面来介绍fdisk分区工具的命令格式:    fdisk是传统的Linux硬盘分区工具,也是Linux系统中最常用的一种硬盘分区 ...

  5. 8.1 fdisk:磁盘分区工具

    fdisk 是Linux下常用的磁盘分区工具.受mbr分区表的限制,fdisk工具只能给小于2TB的磁盘划分分区.如果使用fdisk对大于2TB的磁盘进行分区,虽然可以分区,但其仅识别2TB的空间,所 ...

  6. Linux中的两种守护进程stand alone和xinetd

    Linux中的两种守护进程stand alone和xinetd --http://www.cnblogs.com/itech/archive/2010/12/27/1914846.html#top 一 ...

  7. Linux 下的五种 IO 模型

    概念说明 用户空间与内核空间 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方).操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的 ...

  8. Mac Item2 SSH免密登录Linux 服务器的两种方式

    转自http://blog.csdn.net/jobschen/article/details/52823980 mac ssh登录linux服务器 的两种方式: 个人推荐第二种,zsh方式,只需要把 ...

  9. 终端的乐趣--Linux下有趣的终端命令或者工具【转】

    转自:https://blog.csdn.net/gatieme/article/details/52144603 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原 ...

随机推荐

  1. CentOS6.8安装RabbitMQ

    1.安装erlang 安装依赖包: yum install xmlto gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC ...

  2. [转] h5上传视频或文件编写

    Html5 finally solves an age old problem of being able to upload files while also showing the upload ...

  3. 【AtCoder】Yahoo Programming Contest 2019

    A - Anti-Adjacency K <= (N + 1) / 2 #include <bits/stdc++.h> #define fi first #define se se ...

  4. Codeforces 251C Number Transformation

    Number Transformation 我们能发现这个东西是以2 - k的lcm作为一个循环节, 然后bfs就好啦. #include<bits/stdc++.h> #define L ...

  5. 练习题|网络编程-socket开发

    1.什么是C/S架构? C指的是client(客户端软件),S指的是Server(服务端软件),C/S架构的软件,实现服务端软件与客户端软件基于网络通信. 2.互联网协议是什么?分别介绍五层协议中每一 ...

  6. Spring日记_01 之基于maven的Spring环境搭建

    阿里云镜像:maven.aliyun.com 添加Spring坐标: Spring 是java组件容器,Java饭馆 使用者可以通过getBean(对象ID) 获得Date对象,而不需要自己去new ...

  7. HDU 3746 Cyclic Nacklace (KMP求循环节问题)

    <题目链接> 题目大意: 给你一个字符串,要求将字符串的全部字符最少循环2次需要添加的字符数. [>>>kmp next函数 kmp的周期问题]  #include &l ...

  8. Python学习——web框架

    对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. WSGI(Web Server Gateway Interface)是一种规范,它定义了使用p ...

  9. POJ.3537.Crosses and Crosses(博弈论 Multi-SG)

    题目链接 \(Description\) 有一个一行n列的棋盘,每个人每次往上放一个棋子,将三个棋子连在一起的人赢.问是否有必胜策略. \(Solution\) 首先一个人若在\(i\)处放棋子,那么 ...

  10. javascript中的LHS与RHS

    最近在学习javascript过程中,接触了LHS与RHS的概念,刚开始的时候有点理解不清,现在做一些梳理,方便以后进行理解. LHS与RHS:javascript引擎的两种查找类型,含义是赋值操作的 ...