笔者经常做的事情就是拿一个全新的磁盘来分区并格式化。这也说明了作为一个linux系统管理员,对于磁盘的操作必须要熟练。所以请你认真学习该部分内容。
fdisk linux下的硬盘分区工具
语法: fdisk [-l ] [设备名称]
-l :后边不跟设备名会直接列出系统中所有的磁盘设备以及分区表,加上设备名会列出该设备的分区表。
![[image]](/d/file/computer/system/linux/2021-04-08/f08675ec110cb5241c554bea46b05c8f.png)
![[image]](/d/file/computer/system/linux/2021-04-08/eb2588e864a81ffa9d39e8a640f1c930.png)
如果不加-l 则进入另一个模式,在该模式下,可以对磁盘进行分区操作。
![[image]](/d/file/computer/system/linux/2021-04-08/8e2995852125ccac4b048073ff7062a3.png)
刚进入该模式下,会有一个提示Command (m for help): 此时按m则会打印出帮助列表,如果你英文好,我想你不难理解这些字母的功能。笔者常用的有p, n,d, w, q.
P:打印当前磁盘的分区情况。
![[image]](/d/file/computer/system/linux/2021-04-08/b42384b7a246456d31b0d543fc4cc459.png)
n:重新建立一个新的分区。
w:保存操作。
q:退出。
d:删除一个分区
因为笔者的linux系统是安装在虚拟机上的,所以我可以增加一块新的磁盘。然后笔者会把新的磁盘分成多个分区。
![[image]](/d/file/computer/system/linux/2021-04-08/715c41fb3708cf107b9006fe00d7c161.png)
当再次fdisk -l 查看时发现多了一个/dev/hdb 设备,并提示该设备没有可用的分区表。那么下面就来分一下这个/dev/hdb.
![[image]](/d/file/computer/system/linux/2021-04-08/8b4a2a3e03b7aff042ad5515e87292d2.png)
首先用p查看一下,并没有任何分区信息。
![[image]](/d/file/computer/system/linux/2021-04-08/96b4654878a7f197cab1bc19d1680e4b.png)
用n创建一个新的分区,会提示要建立e (extended 扩展分区)或者p (primary partition主分区),这里笔者选择主分区,所以按了p回车后,又让输入First cylinder 你或者直接回车或者输入一个数字,因为这块磁盘是新的并没有任何分区,所以直接回车其实就是从1开始了。你也可以自定义输入,但不要超过2080,笔者这里输入1回车。此时会提示要分多大,可以写一个数值(2-2080),也可以输入+sizeK或者+sizeM,后者比较直观容易理解,所以笔者在这里输入+100M,即我分了一个100M的主分区。再用p查看时,果真多出来一个分区。然后笔者继续重复前面的操作,建立了4个主分区。当笔者再次输入n创建分区时,结果提示错了。
![[image]](/d/file/computer/system/linux/2021-04-08/1a377bae02128dc0e363fcbed904dcf1.png)
由此你会发现,在linux中最多只能创建4个主分区,那如果你想多创建几个分区如何做?很容易,在创建完第三个分区后,创建第四个分区时选择扩展分区。
![[image]](/d/file/computer/system/linux/2021-04-08/fa7934b00583cee22baa86b4b03c7d03.png)
先删除第四个主分区,然后建立一个扩展分区
![[image]](/d/file/computer/system/linux/2021-04-08/fbcfabd82dd13bc5092ab0c1a260a804.png)
在建立扩展分区时,会问你要分多少给这个扩展分区,笔者直接回车,即把所有空间都分给了这个扩展分区。这个扩展分区/dev/hdb4并不能往里写数据,它只是一个空壳子,需要我们继续在这个空壳中继续创建分区。
![[image]](/d/file/computer/system/linux/2021-04-08/d1d7e9e21d73b30055b1853e547f2be4.png)
当建立完扩展分区,然后按n创建新分区时你会发现不再提示是要建立p还是e了,因为我们已经不能再创建p了。在这里需要你明白的是,hdb5 其实只是 hdb4 中的一个子分区,到目前为止可用的分区也才4个,那笔者就再创建第5个分区出来。
![[image]](/d/file/computer/system/linux/2021-04-08/ab6750851071ad21d57002308393e904.png)
然后按w保存,该模式自动退出,如果你不想保存分区信息直接按q即可退出。
![[image]](/d/file/computer/system/linux/2021-04-08/e9f185a2ec42d1f1e01dc6a1232488a5.png)
下面我们把刚分好的分区删除,重新建立分区。如何删除你还记得吧,对了就是直接按d然后选择合适的数字。删除完所有分区后,这块磁盘就恢复如初了。
![[image]](/d/file/computer/system/linux/2021-04-08/f5fa56bafb0462528873e71da98be42f.png)
![[image]](/d/file/computer/system/linux/2021-04-08/adda3b5137bec8838534445acb59a56d.png)
第一个分区,我们就建立成扩展分区。并且分给它200M。
![[image]](/d/file/computer/system/linux/2021-04-08/9cd586063be1ca38a9ec92ef6df0bd8a.png)
当再次新建分区时,发生了变化,不再是p或者e了,而是p或者l(逻辑分区),这是为什么呢?在上面也提到了,一个扩展分区只是一个空壳,在扩展分区下才可以继续划分小的分区,这个小的分区其实就是逻辑分区了。
![[image]](/d/file/computer/system/linux/2021-04-08/c127ffcc91804f58435a06a7504caf57.png)
而且这个逻辑分区默认都是从字数5开始的,因为前面的数字要么给主分区留着,要么给扩展分区留着。由此我们也可以得到,在linux中最多可以创建4个主分区,一旦创建4个主分区后就不能增加任何分区了。另外最多也只能创建一个扩展分区。扩展分区下的逻辑分区最多可以创建多少呢?IDE的硬盘(类似于hda, hdb, hdc 等)最多可以创建10个(hdb5-hdb15),这是笔者试验出来的结果。有的资料说linux下的逻辑分区是没有限制的,也有的说最大可以到64,至于对不对,需要你去近一步考察了,我们没有必要多么深入的研究这个问题,也没有什么意义。
通过以上操作,相信你也学会了用fdisk 来分区了吧。值得提出的是,不要闲着没事分区玩儿,这操作的危险性是很高的,一不留神就把你服务器上的数据全部给分没有了。如果有分区的操作,那么请保持百分之二百的细心,切记切记!

