zoukankan      html  css  js  c++  java
  • Linux27:分区、格式化与修复

    分区、格式化与修复

    磁盘分区命令

    不同的文件系统要用不同的命令来分区,在执行分区前应该执行lsblk和parted命令来查看相关信息,然后再执行分区。执行磁盘分区时主要用gdisk和fdisk命令,这两个命令分别适用于MBR分区和GPT分区,不能搞混。

    gdisk后加装置命令就可以进入分区命令模式,然后会让用户输入指令,可以按?查看可输入的指令,注意该命令只能root使用,且装置名不能加数字,因为它不是针对某个分区的命令。

    新增分区槽时会询问用户分区号和新分区空间,删除分区时会让用户指定要删除的分区号,删除和新增都需要执行partprobe命令更新linux核心分区表信息,注意不能删除正在活动的文件系统,应该先卸除(取消挂载)该分区然后再删除。

    分区命令还有一个parted命令,它同时支持MBR和GPT,而且它还能修改分区表格式,这个parted的好处在于适合写入脚本中自动执行,它可以不和用户进行互动来完成分区。

    以fdisk为例:

    执行fdisk /dev/sdb其中sdb是设备文件名,不能后面加编号,如sdb1,因为此时还没有分区。执行分区后进入命令模式,按p会显示分区状态,l可以查看分区ID号,82是swap,83是linux分区,n是新建分区,然后按e表示建立扩展分区,按p表示创建主分区。然后输入分区号,开始柱面和结束柱面。

    必须建立扩展分区后才能建立逻辑分区。

    分区后按w保存退出,有时必须重启才能生效,此时可以重新读取分区表信息partprobe,如果该命令还是无效还是要重启。

    分区结束后进行格式化mkfs -t ext4 /dev/sdb1注意此时扩展分区不能格式化。然后把设备挂载就可以使用了,但是使用mount命令再次开机时挂载就会失效,此时应该进行永久挂载。

    磁盘格式化

    当磁盘分区好后,应该执行磁盘格式化。格式化主要是使用mkfs(make filesystem)命令

    把磁盘分区格式化为xfs文件系统:mkfs.xfs 分区装置名,这个命令可以设置格式化时的参数,包括block的大小、inode大小、CPU核心数、stripe大小等,一般默认即可。stripe和磁盘阵列(RAID)有关,磁盘阵列就是将多个磁盘组合成一个大磁盘,然后写文件时可以将文件分为多个小型的分区区块(stripe)后,同时写入多个磁盘中,这样不仅可以加快读写速度,还增加了容错能力。

    把磁盘分区格式化为ext4文件系统:mkfs.ext4 分区装置名,格式化时也可以设置参数。

    也可以把磁盘格式化为其他文件系统,输入mkfs按两下tab就可以显示可格式化的文件系统。

    文件系统的修复

    因为数据异步的原因,宕机可能会导致文件系统的混乱,对于XFS文件系统主要用xfs_repair加装置分区名来修复文件系统,对于EXT4系统应该用fsck.ext4命令加装置分区名来修复,被修复的文件系统不能被挂载,可以卸除再进行修复,但对于不可卸除的根目录来说,想要修复就必须进入单人模式然后通过加选项强制修复。这个命令只能root用户有执行权限,正常情况下使用这些指令可能会造成对系统的损坏。

    文件系统参数修改

    装置文件有两个参数分别是major和minor,执行lsblk就能看到相关的数字,系统就是通过这两个参数来识别各种装置的,参考linux核心官网就能找到很多的硬件装置代码major和minor。

    mknod可以修改装置代码:mknod 装置分区名 b 252 10,后面两个数字分别代表major和minor。

    还可以建立FIFO文件:mknod 文件名 p,用ll命令可以看到文件类型变成了p。

    xfs_admin可以修改XFS文件系统的UUID和LABEL:

    xfs_admin -L 标签名 装置分区名xfs_admin -U uuid值 装置分区名,注意这里的uuid值必须是新的,可以用uuidgen命令来产生新的UUID。

    tune2fs可以修改ext4文件系统的UUID和LABEL:

    tune2fs -L 标签名 装置分区名

    系统修复模式

    进入修复模式步骤:首先在开机时按键盘,(如果已加密就先按p输入密码),按e,将光标移动到kernel再按e,改为b quiet 1,然后回车,再按b就能单用户模式启动。

    该模式不需要输入用户名和密码,可以在该状态重新设置root密码:passwd root,还可以修改默认运行级别(如果修改为0就无法开机,但是可以通过这种方法来设置回去)

    如果忘记grub密码可以通过光盘修复模式破解,光盘修复模式开机时加载的是光盘而不是硬盘,此时可以修改grub加密密码从而得到root用户密码。

  • 相关阅读:
    javaweb 安全传输签名机制
    GC详解及Minor GC和Full GC触发条件总结
    程序员的人性思考(上)
    LeetCode 845——数组中的最长山脉
    LeetCode 386——字典序的第 K 小数字
    LeetCode 386——字典序排数
    LeetCode 135——分发糖果
    Ubuntu 16.04 安装显卡驱动后循环登录和无法设置分辨率的一种解决方案
    在 Ubuntu 下安装 Deepin 的 QQ、微信、百度云和迅雷等软件
    腾讯 2019 春季暑期实习生提前批笔试——技术研究与数据分析
  • 原文地址:https://www.cnblogs.com/yinyunmoyi/p/12539171.html
Copyright © 2011-2022 走看看