之前已经写过df和fdisk的区别了,df可以显示当前已经挂载的磁盘分区,df -T可以额外显示文件系统类型
fdisk -l可以显示出所有挂载未挂载的分区,但不显示文件类型
在我的虚拟机上有一块分配了40G的硬盘但未使用,使用fdisk -l 对于40G的磁盘就是只显示了 Disk /dev/sdb 40G,并未有对应的Device,
接下来就是对其分区并挂载
1.fdisk /dev/sdb
command(m for help):n
接下来一路默认,第一次分区选了p(primary part),主分区,结束后输入P可以查看当前磁盘分区,另外离开fdisk命令时记得输入w,不然不会保存刚刚的分区
2.fdisk /dev/sdb
第二次选了e(extended),其他同上
3.做完以上操作时,准备用mkfs磁盘格式化时,mkfs -t ext4(文件系统格式) /dev/sdb2,报错
- mkfs.ext4: inode_size (128) * inodes_count (0) too big for a
- filesystem with 0 blocks, specify higher inode_ratio (-i)
- or lower inode count (-N).
查询后是因为:
Linux格式化扩展分区时会报错,因为Linux扩展分区格式化无意义,它是为logicalpartition服务的,它们大小一
样。在一块硬盘里你最多只能创造fourpartiton,包括主分区与expand分区,而一个expand分区可以创造去多个
logicalpartition,是在logicalpartition使用space的。此时,为了解决问题,可以在扩展分区上创建主分区(p)
或逻辑分区(l)
4.所以第四步,继续fdisk /dev/sdb ,增加了一个逻辑分区,其实对应的之前的拓展分区
5.mkfs -t ext4 /dev/sdb5 成功
6.挂载文件系统 mount -t ext4 /dev/sdb5 Videos/,成功
此时用df看就能看到这个/dev.sdb5了
7.解决重启后挂载失败的问题
这是一定能遇到的问题,这是因为如果想每次开机都挂载到目标路径需要改变/etc/fstab这个文件
首先sudo vim /etc/fstab,要用root权限否则无法写入
默认情况下,fstab中已经有了当前的分区配置,内容可能类似:
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/hda1 / ext3 errors=remount-ro 0 1
/swapfile swap swap defaults 0 0
/dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0
由上面的内容可以看出,系统的 /dev/hda1 分区被挂载在根目录,文件系统是ext3。此外,还有proc、swap等特殊的“分区”,与 /dev/hdc 被作为光驱挂载在了 /media/cdrom0
因此,如果希望将新分区 /dev/hda5 挂载在 /home/new 目录下,则只需在fstab文件中加入一行:
/dev/hda5 /home/new ext3 default 0 1
即可。
df -T 只可以查看已经挂载的分区和文件系统类型。
blkid 可以看到所有分区文件类型
第一列可以是实际分区名,也可以是实际分区的卷标(Lable)。
如果磁盘是SATA接口,且有多个磁盘,则每个磁盘被标记为 /dev/hda 、 /dev/hdb、 /dev/hdc 等以此类推;而每个磁盘的分区被标记为 /dev/hda1、 /dev/hda2等。
如果磁盘是SCSI类型,则多个磁盘会被分别标记为 /dev/sda、/dev/sdb等等。分区同理。
如果使用标签来表示,则格式如:
1
LABLE=/
第二列是挂载点。
挂载点必须为当前已经存在的目录,为了兼容起见,最好在创建需要挂载的目标目录后,将其权限设置为777,以开放所有权限。
第三列为此分区的文件系统类型。
Linux可以使用ext2、ext3等类型,此字段须与分区格式化时使用的类型相同。也可以使用 auto 这一特殊的语法,使系统自动侦测目标分区的分区类型。auto通常用于可移动设备的挂载。
第四列是挂载的选项,用于设置挂载的参数。
常见参数如下:
auto: 系统自动挂载,fstab默认就是这个选项
defaults:没有特别需求一般都用这个
defaults: rw, suid, dev, exec, auto, nouser, and async.
noauto 开机不自动挂载
nouser 只有超级用户可以挂载
ro 按只读权限挂载
rw 按可读可写权限挂载
user 任何用户都可以挂载
请注意光驱和软驱只有在装有介质时才可以进行挂载,因此它是noauto
第五列是dump备份设置。
当其值设置为1时,将允许dump备份程序备份;设置为0时,忽略备份操作;
第六列是fsck磁盘检查设置。
其值是一个顺序。当其值为0时,永远不检查;而 / 根目录分区永远都为1。其它分区从2开始,数字越小越先检查,如果两个分区的数字相同,则同时检查。
当修改完此文件并保存后,重启服务器或打命令mount -a生效。