linux命令之添加删除磁盘分区

之前已经写过df和fdisk的区别了,df可以显示当前已经挂载的磁盘分区,df -T可以额外显示文件系统类型

fdisk -l可以显示出所有挂载未挂载的分区,但不显示文件类型

在我的虚拟机上有一块分配了40G的硬盘但未使用,使用fdisk -l 对于40G的磁盘就是只显示了 Disk /dev/sdb 40G,并未有对应的Device,

接下来就是对其分区并挂载

1.fdisk /dev/sdb

command(m for help):n

接下来一路默认,第一次分区选了p(primary part),主分区,结束后输入P可以查看当前磁盘分区,另外离开fdisk命令时记得输入w,不然不会保存刚刚的分区

2.fdisk /dev/sdb

第二次选了e(extended),其他同上

3.做完以上操作时,准备用mkfs磁盘格式化时,mkfs -t ext4(文件系统格式) /dev/sdb2,报错

  1. mkfs.ext4: inode_size (128) * inodes_count (0) too big for a  
  2.     filesystem with 0 blocks, specify higher inode_ratio (-i)  
  3.     or lower inode count (-N).

查询后是因为:

Linux格式化扩展分区时会报错,因为Linux扩展分区格式化无意义,它是为logicalpartition服务的,它们大小一

样。在一块硬盘里你最多只能创造fourpartiton,包括主分区与expand分区,而一个expand分区可以创造去多个

logicalpartition,是在logicalpartition使用space的。此时,为了解决问题,可以在扩展分区上创建主分区(p

或逻辑分区(l

4.所以第四步,继续fdisk /dev/sdb ,增加了一个逻辑分区,其实对应的之前的拓展分区

5.mkfs -t ext4  /dev/sdb5 成功

6.挂载文件系统 mount -t ext4 /dev/sdb5 Videos/,成功

此时用df看就能看到这个/dev.sdb5了

7.解决重启后挂载失败的问题

这是一定能遇到的问题,这是因为如果想每次开机都挂载到目标路径需要改变/etc/fstab这个文件

首先sudo vim /etc/fstab,要用root权限否则无法写入

默认情况下,fstab中已经有了当前的分区配置,内容可能类似:

# <file system> <mount point> <type> <options> <dump> <pass>
proc              /proc              proc            defaults              0            0
/dev/hda1   /                       ext3        errors=remount-ro     0       1
/swapfile       swap               swap           defaults              0            0
/dev/hdc     /media/cdrom0   udf,iso9660   user,noauto        0         0

由上面的内容可以看出,系统的 /dev/hda1 分区被挂载在根目录,文件系统是ext3。此外,还有proc、swap等特殊的“分区”,与 /dev/hdc 被作为光驱挂载在了 /media/cdrom0

因此,如果希望将新分区 /dev/hda5 挂载在 /home/new 目录下,则只需在fstab文件中加入一行:

/dev/hda5       /home/new               ext3    default   0       1

即可。

df -T 只可以查看已经挂载的分区和文件系统类型。

blkid 可以看到所有分区文件类型

 

第一列可以是实际分区名,也可以是实际分区的卷标(Lable)。

如果磁盘是SATA接口,且有多个磁盘,则每个磁盘被标记为 /dev/hda 、 /dev/hdb、 /dev/hdc 等以此类推;而每个磁盘的分区被标记为 /dev/hda1、 /dev/hda2等。

如果磁盘是SCSI类型,则多个磁盘会被分别标记为 /dev/sda、/dev/sdb等等。分区同理。

如果使用标签来表示,则格式如:

1 LABLE=/

 

第二列是挂载点。

挂载点必须为当前已经存在的目录,为了兼容起见,最好在创建需要挂载的目标目录后,将其权限设置为777,以开放所有权限。

 

第三列为此分区的文件系统类型。

Linux可以使用ext2、ext3等类型,此字段须与分区格式化时使用的类型相同。也可以使用 auto 这一特殊的语法,使系统自动侦测目标分区的分区类型。auto通常用于可移动设备的挂载。

 

第四列是挂载的选项,用于设置挂载的参数。

常见参数如下:

auto: 系统自动挂载,fstab默认就是这个选项

defaults:没有特别需求一般都用这个
defaults: rw, suid, dev, exec, auto, nouser, and async.
noauto 开机不自动挂载
nouser 只有超级用户可以挂载
ro 按只读权限挂载
rw 按可读可写权限挂载
user 任何用户都可以挂载
请注意光驱和软驱只有在装有介质时才可以进行挂载,因此它是noauto

第五列是dump备份设置。

当其值设置为1时,将允许dump备份程序备份;设置为0时,忽略备份操作;

第六列是fsck磁盘检查设置。

其值是一个顺序。当其值为0时,永远不检查;而 / 根目录分区永远都为1。其它分区从2开始,数字越小越先检查,如果两个分区的数字相同,则同时检查。

当修改完此文件并保存后,重启服务器或打命令mount -a生效。

原文链接: https://www.cnblogs.com/wangshaowei/p/8993197.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    linux命令之添加删除磁盘分区

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/391862

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月31日 上午10:47
下一篇 2023年3月31日 上午10:48

相关推荐