磁盘的分区、格式化、检验与挂载
U盘插入电脑两种查看内容方式
1.将U盘插入后会在桌面上显示出U盘,通过文件管理器可以通过图形界面查看U盘的内容。
2.通过终端命令查看U盘目录。
(查看所有磁盘信息,即可以查看到我们的u盘的状态 (主要看分区还有文件系统) fdisk -l、挂载U盘然后用ls就可以查看、卸载u盘 )
如果我们想要在系统里面新增一颗磁盘时,应该有哪些动作需要做的呢:
- 对磁盘进行分区,以建立可用的 partition ;
- 对该 partition 进行格式化 (format),以建立系统可用的 filesystem;
- 若想要仔细一点,则可对刚刚建立好的 filesystem 进行检验;
- 在 Linux 系统上,需要建立挂载点 (亦即是目录),并将他挂载上来;
当然啰,在上述的过程当中,还有很多需要考虑的,例如磁盘分区槽 (partition) 需要定多大? 是否需要加入 journal 的功能?inode 与 block 的数量应该如何规划等等的问题。但是这些问题的决定,都需要与你的主机用途来加以考虑的~
1 观察磁盘分区状态
磁盘分区主要有 MBR 以及 GPT 两种格式,这两种格式所使用的分区工具不太一样!你当然可以使用本章预计最后才介绍的 parted 这个通通有支持的工具来处理,不过,我们还是比较习惯使用 fdisk 或者是 gdisk 来处理分区啊!因此,我们自然就得要去找一下目前系统有的磁盘有哪些?这些磁盘是 MBR 还是 GPT 等等的!这样才能处理啦!
lsblk 列出系统上的所有磁盘列表
lsblk 可以看成『 list block device 』的缩写,就是列出所有储存装置的意思!这个工具软件真的很好
用喔!来瞧一瞧!
目前的系统主要有个 sr0 以及一个 vda 的装置,而 vda 的装置底下又有三个分区, 其中 vda3 甚至还有因为 LVM 产生的文件系统!相当的完整吧!从范例一我们来谈谈默认输出的信息有哪些。
NAME:就是装置的文件名啰!会省略 /dev 等前导目录!
MAJ:MIN:其实核心认识的装置都是透过这两个代码来熟悉的!分别是主要:次要装置代码!
RM:是否为可卸除装置 (removable device),如光盘、USB 磁盘等等
SIZE:当然就是容量啰!
RO:是否为只读装置的意思
TYPE:是磁盘 (disk)、分区槽 (partition) 还是只读存储器 (rom) 等输出
MOUTPOINT:就是前一章谈到的挂载点!
blkid 列出装置的 UUID 等参数
虽然 lsblk 已经可以使用 -f 来列出文件系统与装置的 UUID 数据,不过,鸟哥还是比较习惯直接使用 blkid 来找出装置的 UUID 喔! 什么是 UUID 呢?UUID 是全局单一标识符 (universallyunique identifier),Linux 会将系统内所有的装置都给予一个独一无二的标识符, 这个标识符就可以拿来作为挂载或者是使用这个装置/文件系统之用了。
parted 列出磁盘的分区表类型与分区信息
虽然我们已经知道了系统上面的所有装置,并且透过 blkid 也知道了所有的文件系统!不过,还是不清楚磁盘的分区类型。 这时我们可以透过简单的 parted 来输出喔!我们这里仅简单的利用他的输出而已~本章最后才会详细介绍这个指令的用法的!
文件系统挂载与卸除
我们在本章一开始时的挂载点的意义当中提过挂载点是目录, 而这个目录是进入磁盘分区槽(其实是文件系统啦!)的入口就是了。不过要进行挂载前,你最好先确定几件事:
单一文件系统不应该被重复挂载在不同的挂载点(目录)中;
单一目录不应该重复挂载多个文件系统;
要作为挂载点的目录,理论上应该都是空目录才是。
尤其是上述的后两点!如果你要用来挂载的目录里面并不是空的,那么挂载了文件系统之后,原目录下的东西就会暂时的消失。举个例子来说,假设你的 /home 原本与根目录 (/) 在同一个文件系统中,底下原本就有 /home/test 与 /home/vbird 两个目录。然后你想要加入新的磁盘,并且直接挂载 /home底下,那么当你挂载上新的分区槽时,则 /home 目录显示的是新分区槽内的资料,至于原先的 test 与vbird 这两个目录就会暂时的被隐藏掉了!注意喔!并不是被覆盖掉, 而是暂时的**隐藏了起来,等到新分区槽被卸除之后,则 /home 原本的内容就会再次的跑出来啦!**而要将文件系统挂载到我们的 Linux 系统上,就要使用 mount 这个指令啦! 、
那我怎么知道我的 Linux 有没有相关文件系统类型的驱动程序呢?我们 Linux 支持的文件系统之驱动程序都写在如下的目录中:
/lib/modules/(uname -r)/kernel/fs/ext4/』这个目录下啦!另外,过去我们都习惯使用装置文件名然后直接用该档名挂载, 不过近期以来鸟哥比较建议使用UUID 来识别文件系统,会比装置名称与标头名称还要更可靠!因为是独一无二的啊!