• Linux磁盘操作:分区、格式化、挂载【转】


    作者:无名之辈
    链接:https://zhuanlan.zhihu.com/p/166374034
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    目录

    1. 磁盘分区

    1.1 查看磁盘分区

    首先可以使用lsblk(list block device)列出所有设备信息,如下图。在图中可以看到共有一个磁盘,即sda,磁盘上有三个分区:sda1、sda2、sda3。在sda3中有三个文件系统都是xfs格式,挂载点分别为/、/swap、/home。

    MAJ:MIN表示设备的一种编号,内核就是通过这个编号来识别设备;

    RM表示是否为可卸载(removable)设备;

    RO表示是否为只读(read only)设备;

    TYPE有几种选择:disk、part、lvm、rom。如果没有卸载安装系统的iso镜像文件就会出现一个只读设备,即安装盘。

    使用blkid(block id)可以查看设备的全局唯一标识符(UUID,universally unique identifier),如下图:

    使用parted指令可以列出磁盘的分区信息,如下图。在图中可以看到有三个分区,实际上这三个分区为gpt(引导扇区)、/boot、/和/home和/swap的数据分区。最后一个分区为lvm实际上里面有三个文件系统均为xfs,挂载点为/和/home和/swap。

     

    1.2 使用gdisk给磁盘分区

    gdisk和fdisk都可以给磁盘分区,gdisk适用于gpt作为引导扇区的情况,fdisk适用与MBR作为引导扇区的情况。两者的使用方法基本一样,下面介绍gdisk的使用方法。

    gdisk基本上不用记命令,直接在终端输入gdisk然后根据提示就可以完成操作,如下图。注意要操作的设备就是sda,后面没有任何数字。

    输入?之后可以看到gdisk支持的各种命令。使用p显示磁盘分区的信息,输出的信息和lsblk有点像(简略一些)其中Code表示在分区内可能存在的文件类型,如Linux为8300,swap为8200。

    下面建立三个新的分区。已经在上面看到,整个磁盘最大的扇区号为83886046,目前只使用到了65026047。因此可以建立:

    • 1G xfs 文件系统(Linux)
    • 1G fat 文件系统(Windows)
    • 0.5G swap

    具体操作过程如下图。

    Partition number表示该分区的编号,因为是第四个分区,所以默认值为4;

    First sector就是新分区的第一个扇区,默认就是顺序第一个空扇区;

    Last sector是新分区的最后一个扇区,默认是整个磁盘最后一个扇区,也就是分配完全部磁盘空间。这里只需要1G,因此写+1G,这种偏移量的表达方式也是可以的;

    最后要求选择文件系统类型,选择默认的linux就行。其实这里的文件系统类型不一定是真正的文件系统类型,之后格式化的时候还可以更改文件系统类型。

    分配完扇区之后,再次使用p显示当前的分区情况,如下图。

    至此就成功完成了分区的操作。要注意的是创建分区只是修改了gpt的内容,对磁盘上相应扇区的内容没有任何改变,之后还要给这一段磁盘空间写入文件系统,即格式化。最后将格式化的磁盘挂载到一个目录下面才能正常使用这一段存储空间。

    之后再创建上文提到的其他分区,然后退出gdisk(使用w退出程序)。使用partprobe指令即可更新系统的分区表(分区表/proc/partitions只是一个文本文件,会记录gpt的信息,在/proc/partitions中没有显示分区信息只是该文件还没有更新)

    具体操作过程如下图:

     

    2. 格式化

    格式化本质上是创建文件系统,当然在创建新的文件系统的时候也会顺便把之前的文件删除掉,因此一般人就认为格式化意味着删除所有文件。

    以下演示如何将刚才分配好的4号分区格式化为xfs文件系统。

    格式化使用mkfs(make file system)指令。当要格式化为xfs文件系统的时候就是用mkfs.xfs,这里直接使用默认参数进行格式化,如下图。实际上和xfs_info显示的信息基本上一样。

    查阅其他mkfs可以进行格式化的文件系统如下:

    $ mkfs[tab][tab]
    mkfs         mkfs.cramfs  mkfs.ext3    mkfs.fat     mkfs.msdos   mkfs.vfat
    mkfs.bfs     mkfs.ext2    mkfs.ext4    mkfs.minix   mkfs.ntfs    mkfs.xfs
    

    3. 挂载文件系统

    挂载文件系统就是将一个空的目录映射到某一个磁盘的分区上面。

    在图形界面下,可以使用无脑的挂载方式,直接双击那个磁盘就行当于挂载了它,应该是被挂载到了media下面。就是双击下图中想挂载的磁。(原来使用双系统的时候经常从Linux系统直接这样读取Windows的文件,后来才明白这个操作叫挂载,甚至还有启动时挂载这种高级的操作)

    当然,为了能挂载到指定的目录下,就必须使用mount这些比较麻烦的挂载方式。mount基本使用非常直观,下图显示了如何将已经格式化的xfs文件系统挂载到/data/xfs上。首先要使用blkid查询/dev/sda4的UUID(其实直接使用/dev/sda4也可以成功挂载)。最后用df指令查看/data/xfs是否成功挂载。

    之后还有对特殊设备的挂载、检查文家系统一致性等比较高难度的操作,但是总的来说分区、格式化、挂载是基础,会了这些再学其他内容会很快。

  • 相关阅读:
    2019/5/15 写题总结
    CodeForces 804C Ice cream coloring
    CodeForces 367 C Sereja and the Arrangement of Numbers 欧拉回路
    CodeForces 464 B Restore Cube
    CodeForces 402 E Strictly Positive Matrix
    CodeForces 628 D Magic Numbers 数位DP
    CodeForces 340E Iahub and Permutations 错排dp
    CodeForces 780 E Underground Lab
    BZOJ 1010 [HNOI2008]玩具装箱toy 斜率优化dp
    CodeForces 715B Complete The Graph 特殊的dijkstra
  • 原文地址:https://www.cnblogs.com/rongba/p/14522632.html
Copyright © 2020-2023  润新知