zoukankan      html  css  js  c++  java
  • 九、磁盘管理(分区、格式化)

      

    块设备:block 存取单位“块” 磁盘

    字符设备:char  存取单位“字符”  键盘

    设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信

      只有元数据,没有数据

      设备号码

          主设备 :major number 标识设备类型

          次设备:minor number  标识同一类型下的不同设备

      硬盘接口类型:数据交换能力

       并口:

        IDE :33MB/S (接口速率)

        SCSI :640MB/S

       串口:

             SATA:6Gbps

        SAS:6Gbps

        USB : 480MB/s

       磁盘设备的设备文件命名:

          IDE: /dev/hd

          SCSI,SATA,SAS,USB :/dev/sd

          不同设备:a-z

            /dev/sda ,/dev/sdb....

         同一哦设备上的不同分区:1,2,3....

            /dev/sda1 , /dev/sda5


    1.磁盘的基础知识

    1.1机械硬盘(HDD:Hard Disk Drive)

    机械硬盘由多块盘片组成,它们都绕着主轴旋转。每块盘片上下方都有读写磁头悬浮在盘片上下方,它们与盘片的距离极小。在每次读写数据时盘片旋转,读写磁头被磁臂控制着不断的移动来读取其中的数据。

    所有的盘片都是同时同步转动,所有的磁头也是同步移动。

    磁盘在物理上划分了扇区、磁道和柱面。如果划分了分区,则分区是逻辑上柱面的分隔边界。

    读写磁头在停止状态下,在盘片旋转时磁头扫过的一圈轨迹称为磁道,所有的磁道都是同心圆。从盘片外圈开始向内数,磁道号从0开始逐数增加。

    每个磁道以512字节等分为多个弧段。所以外圈磁道的扇区数较多,内圈磁道的扇区数较少,有些硬盘参数上写的磁道扇区数通常用一个范围来标识,如373-768表示最外圈磁道有768个扇区,最内圈有373个扇区,这就可以计算出每个磁道的字节数。

    每个扇区512字节,扇区是磁盘控制器的最小读写单元。

    盘片同步旋转,转动一个角度,外圈比内圈的线速度更快,磁头能够扫过的扇区数更多,因此读写越外圈磁道中的数据比越内圈更快。

    向磁盘写数据是从外圈柱面向内圈柱面写的,只有写完一个柱面才写下一个柱面。因此磁盘用过一段时间后存储东西的速度会有所减慢就是因为外圈柱面已经用掉了。    

    1.2分区

    分区是为了在逻辑上将某些柱面隔开形成边界。它是以柱面为单位来划分的,首先划分外圈柱面,然后不断向内划分。

    由于读写越外圈磁道中的数据比越内圈更快,所以第一个分区在读写性能上比后面的分区更好。在Windows操作系统上,C盘的速度是最快的,越后面的区越慢就是这个原因。

    在磁盘数据量非常大的情况下,划分分区的好处是扫描块位图等更快速:不用再扫描整块磁盘的块位图,只需扫描对应分区的块位图。

    1.3 MBR分区方法

    MBR:主引导记录(Master Boot Record),又叫做主引导扇区,是计算机开机后访问硬盘时所必须要读取的首个扇区.由于这一扇区承担有不同于磁盘上其他普通存储空间的特殊管理职能,作为管理整个磁盘空间的一个特殊空间,它不属于磁盘上的任何分区,因而分区空间内的格式化命令不能清除主引导记录的任何信息。主引导扇区由三个部分组成(共占用512个字节):

    • 主引导程序即主引导记录(MBR)(bootloader,占446个字节):可在FDISK程序中找到,它用于硬盘启动时将系统控制转给用户指定的并在分区表中登记了的某个操作系统。
    • 磁盘分区表项(DPT,Disk Partition Table):由四个分区表项构成(每16个字节标识一个分区)
    • 结束标志(占2个字节):AA55

    在Linux中,MBR格式的磁盘主分区号从1-4,扩展分区号从2-4,逻辑分区5+;

    MBR最大支持2T(32位表示扇区,2^32*512)。

    hexdump  -C  /dev/sda -n512   # 查看sda硬盘的前512个字节
    dd  if=/dev/sda    of=/data/MBR_bak    bs=1 count=512    # 备份sda这块银盘的前512字节至/data/MBR_bak文件

    1.4 GPT分区

    GPT:GUID(Globals Unique Identifiers) partition table 支持128个分区,使用64位,支持8Z( 512Byte/block )64Z ( 4096Byte/block)

    2.分区命令:

    小技巧: 对于在vmare 下直接添加的硬盘,在不重启机器的情况下通过fdisk -l或lsblk都无法识别刚刚新加的硬盘,我们可以通过这条命令来识别刚刚添加的硬盘;

    第一步:
    ls  /sys/class/scsi_host/
    host0host1host2
    
    第二步:
    echo "- - -" >  /sys/class/scsi_host/host0/scan
    echo "- - -" >  /sys/class/scsi_host/host1/scan
    echo "- - -" >  /sys/class/scsi_host/host2/scan
    
    第三步:
    lsblk
    fdisk  -l                 # 即可看到刚刚添加的硬盘

    2.1 fdisk 针对MBR分区

    fdisk - manipulate disk partition table  : 对于一块硬盘来讲,最多只能管理15个分区

    如果一个存储设备已经分过区,那么它可能是mbr格式的,也可能是gpt格式的,如果已经是mbr格式的,则只能继续使用fdisk进行分区,

    如果已经是gpt格式的,则只能使用gdisk进行分区。
    使用fdisk分区,它只能实现MBR格式的分区
    fdisk [选项] device

    [root@CentOS7 ~]#fdisk /dev/sda 
    Welcome to fdisk (util-linux 2.23.2).
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.   # 改变将只保存在内存中,直到你作出决定
    Command (m for help): m                                   # m获取帮助
    Command action
       a   toggle a bootable flag                               
       b   edit bsd disklabel
       c   toggle the dos compatibility flag
       d   delete a partition                                       # 删除分区
       g   create a new empty GPT partition table    # 创建一个新的GPT分区表
       G   create an IRIX (SGI) partition table
       l   list known partition types                          # 罗列各种分区类型(82 代表swap)
       m   print this menu                                        # 显示帮助信息
       n   add a new partition                                  # 添加一个新分区
       o   create a new empty DOS partition table  
       p   print the partition table                           # 显示现有分区信息
       q   quit without saving changes                    # 仅退出,不保存
       s   create a new empty Sun disklabel
       t   change a partition's system id                 # 修改分区id
       u   change display/entry units
       v   verify the partition table
       w   write table to disk and exit                    # 保存并退出
       x   extra functionality (experts only)           # 额外功能(仅限专家)

    2.1.1、新建逻辑分区:(同样的操作可新建主分区)

    [root@CentOS7 ~]#fdisk /dev/sda 
    Command (m for help): n                 # 新建分区
    All primary partitions are in use       
    Adding logical partition 7    # 此处显示所有的主分区都在使用中,只能添加逻辑分区7
    First sector (220209152-419430399, default 220209152): +5G        # 一般直接回车,表示新建的分区从磁盘220209152-419430399哪个data block开始
    Partition 7 of type Linux and of size 5 GiB is set
    Command (m for help): w
    The partition table has been altered!

    通过fdisk -l命令查看分区已经建好

    分区结束,w保存退出。如果不保存,则按q退出。
    因为上面的fdisk操作是在内存中执行的,w保存退出后,

    2.1.2、系统内核是否已经识别新的分区:cat /proc/partition

    2.1.3、所以要通过命令让内核识别分区,才能进行格式化:

    CentOS 5:partprobe [device]

    CentOS 6,7:
    partx, kpartx
      partx -a  [device]

        -n  M:N  :指明从哪个分区编号到哪个分区结束
      kpartx -af [device]

    注意:如果是删除分区,我们也要同步,命令为:

    partx -d --nr 1-2 /dev/sdb 表示同步删除/dev/sdb里的1-2分区

    注意:一般分区完结尾出现“Syncing disks.” 则已经同步完成,不再需要执行partprobe

    补充:
    在用shell写脚本的过程中,如何新建分区:

    echo -e "n
    p
    
    
    +1G
    w
    "   | fdisk /dev/sdc    # 利用echo管道 在sdc建立一个1G的主分区;
    # 第二种方法;
    fdisk /dev/sdc  << EOF     #利用多行重定向输入

    2.2 parted 分区工具

    parted - a partition manipulation program
    parted [options] [device [command [options...]...]]

    parted支持mbr格式和gpt格式的磁盘分区。它的强大在于可以一步到位而不需要不断的交互式输入

    parted [options] [device [command [options...]...]]
    # option:
        -l lists partition layout on all block devices ,显示全部块设备
    
    # command [options...]...  
        print  Display the partition table.
        mkpart part-type [fs-type] start end
        # Make a part-type partition for filesystem fs-type (if specified), beginning at start and ending at end (by default in megabytes).  fs-type can be  one  of "btrfs", "ext2", "ext3", "ext4", "fat16", "fat32", "hfs", "hfs+", "linux-swap", "ntfs", "reiserfs", or "xfs".  part-type should be one of "primary", "logical", or "extended".
    
    示例:
    parted /dev/sdc  mkpart  extended  ext4  9666 12000   #表示将

    3.文件系统,格式化

    文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统;

    从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,安全控制,日志,压缩,加密等;

    各种类型的文件系统:

    Linux文件系统:ext2(Extended file system), ext3, ext4, xfs(SGI), btrfs(Oracle), reiserfs, jfs(AIX), swap
    光盘:iso9660
    Windows:FAT32, exFAT,NTFS
    Unix: FFS(fast), UFS(unix), JFS2
    网络文件系统:NFS, CIFS
    集群文件系统:GFS2, OCFS2(oracle)
    分布式文件系统: fastdfs,ceph, moosefs, mogilefs, glusterfs, Lustre
    RAW:未经处理或者未经格式化产生的文件系统

    文件系统的组成部分:

       内核中的模块:ext4,xfs , vfat

       用户空间的管理工具: mkfs ,ext4,mkfs , xfs , mkfs

    格式化的过程就是创建文件系统的过程,可以使用mkfs(make filesystem)工具进行格式化,也可以使用该工具家族的其他工具如mkfs.ext4/mkfs.xfs等专门针对文件系统的工具。

    查看当前系统支持的文件系统:cat /proc/filesystems

    补充:

    • buffer:缓冲器,在将数据写入磁盘前,数据是存放在buffer上的,然后再写入磁盘;buffer决定写入速度
    • cache:缓存,cpu读取磁盘的数据是从cache中读取的,也就是说cache性能越好,读取磁盘数据越快;

    3.1 mkfs命令

    mkfs - build a Linux filesystem
    该命令在制作ext系统文件格式时调用的是mke2fs命令

    mkfs [options] [-t type] [fs-options] device [size]

    创建文件系统:

      mkfs 命令:

       (1) mkfs.FS_TYPE   /dev/DEVICE

           FS_TYPE : ext4 , xfs ,brtfs , vfat

          e.g  mkfs.ext4  /dev/sda5

               (2)  mkfs -t FS_TYPE  -f  -L   /dev/device

          -L 'Lable'  : 指定卷标名

      

    要查看支持的文件系统类型,只需简单的输入mkfs然后按两下tab键,就可以列出各文件系统对应的格式化命令,这些就是支持的文件系统类型:

    CentOS 6:
    [root@CentOS6 ~]#mkfs
    mkfs          mkfs.cramfs   mkfs.ext2     mkfs.ext3     mkfs.ext4     mkfs.ext4dev  mkfs.msdos    mkfs.vfat 
    # # #
    CentOS 7:
    [root@CentOS7 ~]#mkfs
    mkfs         mkfs.btrfs   mkfs.cramfs  mkfs.ext2    mkfs.ext3    mkfs.ext4    mkfs.fat     mkfs.minix   mkfs.msdos   mkfs.vfat    mkfs.xfs     
    

    也可以直接 mkfs
    -t FS_TYPE /device # 确定格式化的文件类型

     

      

    blkid  分区名称  : 显示该分区属性信息  (如果输入命名没有反应,说明没有还没有做文件系统)

    3.2 mke2fs工具

    mke2fs,是ext系列文件系统专用管理工具。该工具创建文件系统时,会从/etc/mke2fs.conf配置中读取默认的配置项。
    mke2fs - create an ext2/ext3/ext4 filesystem

    mke2fs [ -c | -l filename ] [ -b block-size ] [ -D ] [ -f fragment-size ] [ -g blocks-per-group ] [ -G number-of-groups ] [ -i bytes-per-inode ] [ -I inode-size ] [ -j ] [ -J journal-options ] [ -N number-of-inodes ] [ -n ] [ -m reserved-blocks-percentage ] [ -o creator-os ] [ -O feature[,...]  ] [ -q  ]  [  -r  fs-revision-level  ]  [  -E  extended-options ] [ -v ] [ -F ] [ -L volume-label ] [ -M last-mounted-directory ] [ -S ] [ -t fs-type ] [ -T usage-type ] [ -U  UUID ] [ -V ] device [ blocks-count ]
    
    mke2fs -O journal_dev [ -b block-size ] [ -L volume-label ] [ -n ] [ -q ] [ -v ] external-journal [ blocks-count ]
    ###
    # option:
        -t fs-type  # 指定要创建的文件系统类型(ext2,ext3 ext4),若不指定,则从/etc/mke2fs.conf中获取默认的文件系统类型。
        -b block-size  # 指定每个block的大小,有效值有1024、2048和4096,单位是字节。
        -I inode-size  # 指定inode大小,单位为字节。一般128或256字节
        -i bytes-per-inode  # 指定每多少个字节就为其分配一个inode号。值越大,说明一个文件系统中分配的inode号越少,更适用于存储大量大文件,值越小,inode号越多,更适用于存储大量小文件。
         该值不能小于一个block的大小,因为这样会造成inode多余。注意,创建文件系统后该值就不能再改变了。
    -c # 创建文件系统前先检查设备是否有bad blocks。 -f fragment-size # 指定fragments的大小,单位字节。 -g blocks-per-group # 指定每个块组中的block数量。不建议修改此项。 -G number-of-groups # 该选项用于ext4文件系统(严格地说是启用了flex_bg特性),指定虚拟块组(即一个extent)中包含的块组个数,必须为2的幂次方。对于ext4文件系统来说,使用extent的功能能极大提升其性能。 -j # 创建带有日志功能的文件系统,即ext3。如果要指定关于日志方面的设置,在-j的基础上再使用-J指定,不过一般默认即可,具体可指定的选项看man文档。 -L new-volume-label # 指定卷标名称,名称不得超出16字节。一般设定为挂载点的名字 -m reserved-blocks-percentage # 指定文件系统保留block数量的比例,保留一部分block,可以降低物理碎片。默认比例为5%-N number-of-inodes # 强制指定该文件系统应该分配多少个inode号,它会覆盖通过计算得出inode数量的结果(根据block大小、数量和每多少字节分配一个inode得出Inode数量),但是不建议这么做。 -q # 安静模式,可用于脚本中 -S # 重建superblock和group descriptions。在所有的superblock和备份的superblock都损坏时有用。它会重新初始化superblock和group descriptions,但不会改变inode table、bmap和imap(若真的改变,该分区数据就全丢了,还不如重新格式化)。在重建superblock后,应该执行e2fsck来保证文件系统的一致性。但要注意,应该完全正确地指定block的大小,其改选项并不能完全保证数据不丢失。 -v # 输出详细执行过程 -O FEATURE[,...] # 启用指定特性    -O ^FEATURE # 关闭指定特性

    以上mke2fs命令常用选项有:
    -b :每个block大小
    -L :创建卷标
    -i :每多少个block分配一个inode
    -t :创建的文件类型
    -m :预留块数量
    示例:
    CentOS 6:

    [root@CentOS7 ~]#mke2fs -t ext4 -b 4096 -L hahahaha  /dev/sda6
    mke2fs 1.42.9 (28-Dec-2013)
    Filesystem label=hahahaha
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    327680 inodes, 1310720 blocks
    65536 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=1342177280
    40 block groups
    32768 blocks per group, 32768 fragments per group
    8192 inodes per group
    Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736
    
    Allocating group tables: done                            
    Writing inode tables: done                            
    Creating journal (32768 blocks): done
    Writing superblocks and filesystem accounting information: done 
    CentOS 6
    
    [root@CentOS6 ~]#mke2fs -t ext4 -b 4096 -L mydata /dev/sda6
    mke2fs 1.41.12 (17-May-2010)
    Filesystem label=mydata
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    328656 inodes, 1312604 blocks
    65630 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=1346371584
    41 block groups
    32768 blocks per group, 32768 fragments per group
    8016 inodes per group
    Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736
    
    Writing inode tables: done                            
    Creating journal (32768 blocks): done
    Writing superblocks and filesystem accounting information: done
    
    This filesystem will be automatically checked every 38 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.

    3.3 e2label 查看、设置卷标

      查看:e2label device
      设定:e2label device LABEL
      > tune2fs -L NEWLABEL /device 也可以修改卷标

    注意:此命令只针对ext文件系统做卷标,且只有格式化后才能设置卷标

    3.4 tune2fs 工具

    查看或修改ext系列文件系统的某些属性
    tune2fs - adjust tunable filesystem parameters on ext2/ext3/ext4 filesystems

    tune2fs  [OPTIONS]  device
    # option:
        -l  # 查看指定文件系统超级块的内容:super block
        -j:ext2 --> ext3; (ext2不带日志系统,ext3带日志系统)
        -L LABEL:修改卷标;
        -m # 调整预留空间百分比;
        -U UUID: 修改UUID号
            tune2fs -U `uuidgen` # 以随机生成的uuid作为修改的uuid号
        -O [^]FEATHER:开启或关闭某种特性:
            acl :开启acl功能
            ^acl:关闭acl功能
            (acl(access control list,访问控制列表)功能详见文件权限管理)
    
    
    tune2fs  -l  /dev/sda1    # 查看该分区超级块内容
    Default mount options:    user_xattr acl      # 其中的这一项含有acl表示开了acl功能
    
    tune2fs  -o ^acl  /dev/sda1           # 表示关闭acl功能

    4.查看文件系统状态信息

    4.1 lsbik

    lsblk - list block devices 列出设备及其状态(主要列出非空设备)
    lsblk [options] [device...]

    lsblk -f查看到文件系统类型,和文件系统的uuid和挂载点

    4.2 blkid  :块设备属性信息查看

    blkid - locate/print block device attributes 定位/输出设备属性信息

      blkid -L LABEL:根据指定LABEL来定位对应的设备
      blkid -U UUID:根据指定的UUID来定位对应的设备

    4.3 du

    du - estimate file space usage 评估某目录总体空间占用情况

    du [OPTION]... [FILE]...
    du [OPTION]... --files0-from=F
    # option:
        -a, --all:列出目录中所有文件的统计信息,默认只会列出目录中子目录的统计信息,而不列出文件的统计信息
        -h, --human-readable:人性化显示大小
        -0, --null:以空字符结尾,即""而非换行的"
    "
        -S, --separate-dirs:不包含子目录的大小
        -s, --summarize:对目录做总的统计,不列出目录内文件的大小信息
        -c,--total:对给出的文件或目录做总计。在统计非同一个目录文件大小时非常有用。见下文例子。
        -d,--max-depth:指定显示时的目录深度,默认会递归显示所有层次(centos7)
        --max-depth=N:只列出给定层次的目录统计,如果N=0,则等价于"-s"(centos6)
        -x, --one-file-system:忽略不同文件系统上的文件,不对它们进行统计
        -X, --exclude-from=FILE:从文件中读取要排除的文件
        --exclude=PATTERN:指定要忽略不统计的文件

    注意区分du /etc 和du -a /etc

    [root@CentOS7 ~]#du -a /etc |wc -l
    3505                          # 递归显示全部的文件的统计信息                                
    
    [root@CentOS7 ~]#du  /etc |wc -l
    734                           # 只显示目录的信息
    [root@CentOS7 ~]#find /etc -type d  | wc -l
    734

    注意:du -d1 /etcdu --max-depth=1 /etc效果相同
    du -exclude=FILE /usr的用法:

    [root@CentOS6 ~]#du -h --max-depth=1 --exclude=/usr/lib64 /usr
    136K    /usr/local
    310M    /usr/lib
    7.6M    /usr/include
    12K /usr/src
    1.8G    /usr/share
    4.0K    /usr/games
    32M /usr/sbin
    36M /usr/libexec
    4.0K    /usr/etc
    269M    /usr/bin
    2.5G    /usr

    结合find使用

    [root@xuexi ~]# find /boot/ -type f -name "*.img" -print0 | xargs -0 du -ch
    28K     /boot/grub2/i386-pc/core.img
    4.0K    /boot/grub2/i386-pc/boot.img
    592K    /boot/initrd-plymouth.img
    44M     /boot/initramfs-0-rescue-d13bce5e247540a5b5886f2bf8aabb35.img
    17M     /boot/initramfs-3.10.0-327.el7.x86_64.img
    16M     /boot/initramfs-3.10.0-327.el7.x86_64kdump.img
    76M     total

    4.4   df

    df - report file system disk space usage 显示文件系统空间使用情况

    df [OPTION]... [FILE]...
    # option
        -h:人性化转换大小的显示单位
        -i:统计inode使用情况而非空间使用情况
        -l, --local:只列出本地文件系统的使用情况,不列出网络文件系统信息
        -T, --print-type:同时输出文件系统类型
        -t, --type=TYPE:只列出给定文件系统的统计信息
        -x, --exclude-type=TYPE:指定不显示的文件系统类型的统计信息
       -P :以Posix兼容的格式输出(同一行输出格式)

    注意:df是读取每个文件系统的superblock信息,所以评估速度非常快。由于是读取superblock,所以如果目录下挂载了另一个文件系统,是不会将此挂载的文件系统计入目录大小的。

    4.5 dumpe2fs

    dumpe2fs - dump ext2/ext3/ext4 filesystem information
    dumpe2fs prints the super block and blocks group information for the filesystem present on device.
    显示ext系列文件系统的super block 和block groups信息

    [root@CentOS7 ~]#dumpe2fs -h /dev/sda6  查看超级块信息
    dumpe2fs 1.42.9 (28-Dec-2013)
    Filesystem volume name:   hahahaha
    Last mounted on:          <not available>
    Filesystem UUID:          8525fe09-c310-4a16-9f38-23ff43051e80
    Filesystem magic number:  0xEF53
    Filesystem revision #:    1 (dynamic)
    Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
    Filesystem flags:         signed_directory_hash 
    Default mount options:    user_xattr acl
    Filesystem state:         clean
    Errors behavior:          Continue
    Filesystem OS type:       Linux
    Inode count:              327680
    Block count:              1310720
    Reserved block count:     65536
    Free blocks:              1252258
    Free inodes:              327669
    First block:              0
    Block size:               4096
    Fragment size:            4096
    Group descriptor size:    64
    Reserved GDT blocks:      639
    Blocks per group:         32768
    Fragments per group:      32768
    Inodes per group:         8192
    Inode blocks per group:   512
    Flex block group size:    16
    Filesystem created:       Sat Nov 24 16:00:45 2018
    Last mount time:          n/a
    Last write time:          Sat Nov 24 16:00:46 2018
    Mount count:              0
    Maximum mount count:      -1
    Last checked:             Sat Nov 24 16:00:45 2018
    Check interval:           0 (<none>)
    Lifetime writes:          131 MB
    Reserved blocks uid:      0 (user root)
    Reserved blocks gid:      0 (group root)
    First inode:              11
    Inode size:           256
    Required extra isize:     28
    Desired extra isize:      28
    Journal inode:            8
    Default directory hash:   half_md4
    Directory Hash Seed:      f4ca6814-6107-4432-a987-4bc22801a5b9
    Journal backup:           inode blocks
    Journal features:         (none)
    Journal size:             128M
    Journal length:           32768
    Journal sequence:         0x00000001
    Journal start:            0

    4.6 findfs 查找分区

    findfs [options] LABEL=<label>
    findfs [options] UUID=<uuid>
    
    示例:
    findfs `grep /data  /etc/fstab  | cut -d" "  -f1`   

    5.文件系统检测与修复

    注意:一定不要在挂载状态下修复

    fsck: File System Check
    fsck.FS_TYPE == fsck -t FS_TYPE
      -p: 自动修复错误
      -r: 交互式修复错误
    注:FS_TYPE一定要与分区上已有文件类型相同
    
    e2fsck:ext系列文件专用的检测修复工具
      -y:自动回答为yes
      -f:强制修复 
  • 相关阅读:
    【郑轻邀请赛 G】密室逃脱
    【郑轻邀请赛 C】DOBRI
    【郑轻邀请赛 F】 Tmk吃汤饭
    【郑轻邀请赛 I】这里是天堂!
    【郑轻邀请赛 B】base64解密
    【郑轻邀请赛 A】tmk射气球
    【郑轻邀请赛 H】 维克兹的进制转换
    解决adb command not found以及sdk环境配置
    adb shell 命令详解,android, adb logcat
    Unexpected exception 'Cannot run program ... error=2, No such file or directory' ... adb'
  • 原文地址:https://www.cnblogs.com/liuzhiyun/p/11335080.html
Copyright © 2011-2022 走看看