2024年1月23日发(作者:)

Linux分区和格式化

在Linux中可以用fdisk和parted来进行分区,然后使用mkfs来格式化硬盘。当然在安装Linux的时候,系统提供了一个图形化的界面来处理磁盘的分区。不过在本文中我们不讨论这个问题,因为在许多资料中我们都可以找到这个方法的使用说明。本文讨论的是在安装完Linux后的分区和格式化的处理。

一、通过fdisk进行硬盘的分区

1.首先使用“sfdisk -l”命令查看硬盘信息。在命令窗口中输入该命令后,系统显示了计算机中的所有硬盘的大小。当然除了这个命令外,我们还可使用“sfdisk -s”、“df”、“fdisk -l”等命令,这里就不再一一列举了。

2.在命令行中输入“fdisk /dev/hdX”后回车。(/dev/hdX是具体你想进行分区操作的硬盘编号,如“a”表示第一块硬盘,依此类推)。

3.进入分区界面后,按M键可以看到相关的帮助。输入N表示建立一个新的分区,之后根据提示选择建立分区的类型,这里我们按下P建立一个主分区。

4.接下来是选中分区的区号,在这里有1~4可以选择,本例中选1。然后输入分区的大小,但是这里有一个麻烦的问题,就是在Linux中fdisk是使用柱面来显示硬盘的总量,所以我们必须先输入开始的柱面,然后再输入结束的柱面。可用一个简单的方法用来换算分区大小,如我们有一个80G的硬盘,可在系统要求我们输入开始柱面的时候看到总的柱面是9729,此时可用下列公式来计算每个分区的柱面大小:“分区的大小/总磁盘容量×9729”。在得到这个柱面大小后,我们就可以通过“开始柱面+柱面大小”得到结束的柱面了。

5.完成分区大小的设置后我们只要输入W,这样整个分区操作就结束了。最后输入Q退出分区程序。如果你要做多个分区或扩展分区只要重复这些步骤就可以了。

二、通过parted来建立分区

parted命令的使用方法并不复杂,也便于理解。

1.在命令窗口中输入“parted /dev/hdX”后回车进入分区界面,我们可用print命令看到硬盘的分区情况和硬盘的大小。

2.使用mkpart命令来建立分区,命令如下:

mkpart primary ext3 1024 2048

其含义是从磁盘的1024M的位置开始到2048M的位置结束建立一个ext3格式的大小为1024M的主分区。

三、删除分区

不管是fdisk还是parted建立的分区,都可以删除。篇幅所限我们就只说在parted中删除分区的方法了。在图2中每个分区的前面都有一个数字,这个数字就是分区的编号。找到想要删除的分区后输入“rm X”就可以了,其中X就是分区的编号。

四、格式化分区

格式化分区使用mkfs命令,如“/sbin/mkfs -t ext3 /dev/hdb3”,其含义就是将分区hdb3格式化为EXT3的格式。当然除了EXT格式,还可以格式化为FAT的格式,具体命令如下:

/sbin/mkfs -t msdos /dev/hdb3

当然如果你安装了多操作系统,那么就可以在Windows中看到这个在Linux中建立的DOS分区了,不过笔者发现在Red Hat Linux中不可以将分区格式化为FAT32,在以后的版本中应该是可以的吧。

五、让硬盘启动自动挂载

例如挂载/dev/hdb1分区到/mnt/hd目录下

用vi编辑/etc/fstab文件,加入如下内容

/dev/dhb1 /mnt/hd reiserfs defaults

提示:fdisk和parted的参数还有很多,本文中的这些参数是使用最频繁的,有兴趣的朋友可以看看帮助文档。

第二篇

格式化原理

分好区的一块硬盘是空的,不能被操作系统内核所识别,那怎么办,那就要预写入一定格式的数据,这就是格式化,神秘吗?看到这你不要告诉我现在还没搞清楚分区是咋回事!

在Linux下我们可简单称为创建文件系统,举例讲解,

1.2.1,上面分了五个区,我们可以/dev/sda1格式化为FAT32格式,/dev/sda2和/dev/sda3格式化为ext2格式,再把扩展分区里的/dev/sda5格式化为FAT32,/dev/sda6格式化为ext2,这样以来,/dev/sda1和/dev/sda5就会被widows系统认为是C盘和D盘.ext2文件系统只能安装linux系统,不能被widows系统所使用,更不能安装,看到这里就会明白linux和widows同机的原理喽,厉害,没有格式化的分区是不能直接使用的,没有分区的硬盘是不能格式化的,明白这个思路没?<分区->格式化->使用>,看累了吧:来点图形,嘿嘿,

首先讲解一下,常用/widows/dos分区工具

1.3.1fdisk:

适用于Dos,window95/98

1.3.2partition magic:

适用于Dos,widows95/92/2000/XP

1.3.3diskpart

windows2000安装光盘修复控制台

常用linux下的分区工具

1.4.1 fdisk:

命令行工具,各种版本和环境都支持,包含在util-linux软件包中,

1.4.1.1 运行过程:

[root@server root]#fdisk /dev/sdX #setp1

添加/删除/修改分区 #setp2

重新启动机算机 #setp3

1.4.1.2 演示:

[root@server root]#fdisk -l /dev/sdb #检查一下sdb硬盘上的分区情况;

Disk /dev/sdb:4298MB,4298561234 bytes #说明是块新硬盘,

„„.

Device Boot Start End Block Id System

[root@server root]#fdisk /dev/sdb #分区开始,

Command (m for help): m #按m可查看帮助,不演示

Command (m for help):n #new 新增分区

e extended #扩展分区

p primary partition (1-4) #主分区

p #新增主分区

Partition number (1-4):1 #由于是新硬盘,输入1

Frist cylinder <1-XX,default XX>: #输入磁柱开始值,建议直接回车

Last„(1-522,default,1):+1000M #可用+k,+M,或用结束柱面表示,这里用+1000M表示,

Command (m for help): p #查看新增是否成功;

Device Boot Start End Block Id System

/dev/sdb1 1 205 1000M+ 83 Linux

Command (m for help): n #再新建一个主分区

e extended #扩展分区

p primary partition (1-4) #主分区

p #新增主分区

Partition number (1-4):2 #刚有1了,

Frist cylinder(205-522,deault 205): #这里表示开始磁值默认

Last „..(205-522,default 522): 304 #这用用磁柱表示大小

再次用p命令即可看到,再建一个扩展分区,,累死我了,,,,

command (m for help): n

e extended

p primary partition

e

Partition number (1-4):3 #扩展分区同样也占主分区一个位置

F„.(304-522,default 304): #回车,晕晕ing

L„.(304-522,default 522): #由于扩展分区只有一个,尽量最后把大的给它,这里用输入522,或回车,

Command (m for help):p

Device Boot Start End Block Id System

/dev/sdb1 1 205 1000M+ 83 Linux

/dev/sdb2 205 304 600M+ 83 Linux

/dev/sdb3 304 522 2400M+ 5 Extended

#上图是自编的,数据误差很大,只做说明之用,可以看到,/dev/sdb3是一个扩展分区,那我们再建一个主分区试一下,

Command (m for help):n

Command action

l logical (5 or over) #注意这里变化

p primary partition #因为才使用二个主分区加一个扩展分区,所以还有一个可

以使用,

p #用了它

Selected partition 4 #骗人的感觉就是爽,因为上面的全部空

No free sectors available #都给了扩展,怎么还有空间来建主分区?

Command (m for help):l #没办法,只能建逻辑区喽

Frist..(304-522,default 304): #如果我在说,我就成为大妇女了

Last„„ #和上面的一样喽,

这样下来,,分区总算建好了,但还是不能使用,如,把/dev/sdb2转换为linux里的swap分区,就可以用;

Command (m for help): t #转换分区类型

Partition number (1-5):2 #转换的是2

Hex code (type L to list codes): L #查看一下,不演示

Hex code (type L to list codes): 82 #由上知道swap是82

Command (m for help):p

Device Boot Start End Block Id System

/dev/sdb1 1 205 1000M+ 83 Linux

/dev/sdb2 206 304 600M+ 82 Linux swap

/dev/sdb3 305 522 2400M+ 5 Extended

/dev/sdb5 305 400 500M+ c Win95 LAB

Command (m for help): #自动动手把/dev/sdb5转换为Fat32

Command (m for help):w /q #w是保存,q是不保存,慎重,

重启生效„..

1.4.2sdisk:

命令行工具,各种版本和环境都支持,包含在util-linux软件包中,

1.4.3diskdruid

图形化分区工具,只能在安装RedHatLinux系统版本的时候使用,

2.使用mkfs创建文件系统讲解

2.1 linux 的格式化工具

mkfs:

支持,msdos,等

用法: mkfs -t

/dev/sdb3

mke2fs:支持ext2/ext3文件系统

mke2fs [-j]

加j就是带日志, ext3文件系统,

2.2 演示:

演示所使用的是上面的分区情况,演示前要提示一下,创建文件系统前一定要与分区里的格式一样,否则会出现混乱,数据是不影响,但识别会发生错误,最好fdisk和mkfs类型一样,

[root@server root]#3 /dev/sdb1 #将/sdb1转成有日志

的linux下ext3文件系统,

[root@server root]#fdisk -l /dev/sdb1 #进行查看,不写

[root@server root]# /dev/sdb5 #对照上面的看

Tips:可用mkswap /dev/sdb2命令初始化swap分区

总不能这样就完了吧..我们的目的就是要使用,对呀,,那怎么使用呢,

[root@server root]#mount /dev/sdb1 /mnt #看不懂就去看基本

[root@server root]#echo “hi” > /mnt/ #测试是否可用

[root@server root]#ls -l /mnt/

-rw-r–r– 1 root root 3 12 05 2006 #可用

[root@server root]#umount /dev/sdb1 #卸载

[root@server root]# #动手把/dev/sdb5测试一下吧,

这样就可以参照我的那篇因空间不足要加新硬盘把所有用户转到新硬盘上面的关于”帐号搬家”

硬盘分区的挂载

3.硬盘分区的挂载

好了..这是本节的最后一个内容,呵呵..不知道你在此进步了多少呢?如果是高手就不要笑偶哒,,我要从基础学起嘛,,-_-!

3.1 挂载命令: mount

例<我就好举例>#mount /dev/sdb2 /mnt/sd2

3.2 有装就要有卸 -umount

例:#umount /dev/sdb2 or

#umount /mnt/sd2

用mount命令只是临时的使用一下,开机就没哒,,如果是想要永久的使用,你不想重启一次就再挂一次吧,,有办法帮你,用下面的.

3.3 可写入/etc/fstab开机挂载

例:/dev/sdb2 /mnt/sd2 ext3 defaults 0 0

有必要把上面一行说一下,,照顾一下新手朋友;

/dev/sdb2 #说明的是/dev目录下sdb的硬盘上的第二分区

/mnt/sd2 #挂载目录

ext3 #文件系统

defaults #所使用的参数<等同于-0>

0 0 #第一个0表示不需要备份,第二个0表示不需要自检

这里为了永久的使用/dev/sdb2,首先找到你想要的挂载点,举例将/dev/sdb2挂载到/mnt/sd2上,可使用以上的命令,用vi或其它编辑命令,

写进后,,以后挂载就不需要将命令写全,可用;

[root@server root]#mount /dev/sdb2 #这样mount就会查找挂载目录, or

[root@server root]#mount /mnt/sd2 #同上,mount也会查找该目录上的挂载设备,

[root@server root]#df #检查一下是否成功

使用卷标进行挂载

添加卷标;e2label

例:#e2lable /dev/sdb2 test

根据卷标进行挂载:

#mount LABEL=test /mnt/sd2

写入/etc/fstab

LABEL=test /mnt/sd2 ext3 defaults 0 0

使用这个有什么好处呢?就是为了防止删除一个分区而导致分区号混乱,例:/dev/sdb1删除了,而/dev/sdb2将变为/dev/sdb1,这样原来的

[root@server root]#mount /dev/sdb2 /mnt/sd2 #这里的sdb2将变为从前的/dev/sdb3,明白了吗?说通俗一点就是跟踪这个硬盘喽,

附:使用这个注意不要重复,可事先查看一下,是否有别的硬盘分区用了这个卷标,

[root@server root]#e2label /dev/sdb2 /test

这里再详细说一下ext2/ext3挂载常用的参数

/rw 只读/读写

/noexec 允许/不允许执行

/nodev 允许/不允许设备挂载

,sgid/nosuid,nogid,允许/不允许使用suid,sgid文件

/noatime /更新/不更新<对老机子较好>

/sync 异步/同步磁盘写入

/nouser 允许/不允许普通用户挂载,用于/etc/fstab文件中的选项