zoukankan      html  css  js  c++  java
  • 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生效。

  • 相关阅读:
    Firefox功能强大的浏览器 (转)
    常用的dnet开源项目
    15 个 JavaScript Web UI 库
    关于Web路径的备忘
    推荐几个.NET开源图表组件(转)
    C#开源资源大汇总 (转)
    jQuery对select操作小结 转载
    非对称加密RSA的应用及在C#中的实现(转)
    Web开发人员应当知道的15个开源项目
    css中float和列表图片liststyleimage不能正常解析的说明
  • 原文地址:https://www.cnblogs.com/wangshaowei/p/8993197.html
Copyright © 2011-2022 走看看