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用户密码。

  • 相关阅读:
    docker 安装mysql
    Java web项目搭建系列之二 Jetty下运行项目
    Java web项目搭建系列之一 Eclipse中新建Maven项目
    Maven 添加其他Maven组件配置问题
    C# 中定义扩展方法
    Oracle 函数
    【Webservice】2 counts of IllegalAnnotationExceptions Two classes have the same XML type name
    Linux精简版系统安装网络配置问题解决
    Rsync 故障排查整理
    Failed to set session cookie. Maybe you are using HTTP instead of HTTPS to access phpMyAdmin.
  • 原文地址:https://www.cnblogs.com/yinyunmoyi/p/12539171.html
Copyright © 2011-2022 走看看