Ubuntu系统的硬盘空间不够用了,需要增加新的硬盘扩容。将硬盘分区、格式化、自动挂载配置的整个过程记下来,备忘。

1、显示硬盘及所属分区情况。在终端窗口中输入如下命令:

 # sudo fdisk -lu

2、对硬盘进行分区。在终端窗口中输入如下命令:

 # sudo fdisk /dev/sdb

 # Command (m for help): m   查看帮助

 # Command (m for help): n    创建新分区,并提示分配大小 +50G

 # Command (m for help): e    指定分区为扩展分区(extended)

 # Command (m for help): w   保存

 # sudo fdisk -lu         查看系统已经识别了硬盘 /dev/sdb 的分区

3、硬盘格式化

 # sudo mkfs -t ext4 /dev/sdb   -t ext4 表示将分区格式化成ext4文件系统类型

4、挂载硬盘分区

 # sudo df -lh                  查看分区情况

 # sudo mkdir devdata          建立挂载文件目录

 # sudo mount -t ext4 /dev/sdb /devdata  挂载分区

 # sudo df -lh                 检查

5、设置开机自动挂载

# ls -l /dev/disk/by-uuid/       查看硬盘对应的uuid

 # sudo vim /etc/fstab        

 # 添加以下内容

 # /host was on /dev/sdb during installation

  UUID=0f648388-edae-4d54-b5ac-7afe9ce16b72 /host      ext4  defaults    0     3

附录1:fdisk命令详解 | Appendix part 1: fdisk command syntax

fdisk 命令的语法如下:

fdisk [-b sectorsize] device  
fdisk -l [-u] [device...]
fdisk -s partition...
fdisk -v


说明:

  • -b <sectorsize> 指定每个分区的大小。也可以执行fdisk device(如:fdisk /dev/sdb)后,在系统提示时指定。

  • -l 列出指定的外围设备的分区表状况。如果仅执行 fdisk -l ,系统会列出已知的分区。

  • -u 搭配"-l"参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址。

  • -s <parttion>  将指定的分区的大小输出到标准输出上,单位为区块。

  • -v 显示fdisk的版本信息。



附录2:mkfs命令详解 | Appendix part 2: mkfs command syntax

mkfs 命令的语法如下:

mkfs [-V] [-t fstype] [fs-options] filesys


说明:

  • -V 显示简要的使用方法。

  • -t <fstype> 指定要建立何种文件系统,如:ext3, ext4。

  • fs 指定建立文件系统时的参数。

  • -v 显示版本信息与详细的使用方法。



附录3:mount命令详解 | Appendix part 3: mount command syntax

mkfs 命令的语法如下:

mount [-afFnrsvw] [-t vfstype]
[-L label]
[-o options] device dir
mount [-lhv]


说明:

  • -a 加载文件/etc/fstab中设置的所有设备。

  • -f  不实际加载设备。可与-v等参数同时使用以查看mount的执行过程。

  • -F 需与-a参数同时使用。所有在/etc/fstab中设置的设备会被同时加载,可加快执行速度。

  • -t vfstype 指定加载的文件系统类型,如:ext3, ext4。

  • -L label  给挂载点指定一个标签名称。

  • -l  显示分区的label。

  • -h 显示帮助信息。

  • -v 显示mount的版本信息。

  • device  要挂载的分区或文件。如果device是一个文件,挂载时须加上 -o loop参数。

  • dir    分区的挂载点。



附录4:fstab配置详解 | Appendix part 4: fstab detail configuration

/etc/fstab 中一共有6列:

  • file system:指定要挂载的文件系统的设备名称(如:/dev/sdb)。也可以采用UUID,UUID可以通过使用blkid命令来查看(如:blkid /dev/sdb)指定设备的UUID号。

  • mount point:挂载点。就是自己手动创建一个目录,然后把分区挂载到这个目录下。

  • type:用来指定文件系统的类型。如:ext3, ext4, ntfs等。

  • option dump:0表示不备份;1表示要将整个<file system>中的内容备份。此处建议设置为0。

  • pass:用来指定fsck如何来检查硬盘。0表示不检查;挂载点为分区/(根分区)必须设置为1,其他的挂载点不能设置为1;如果有挂载ass设置成大于1的值,则在检查完根分区后,然后按pass的值从小到大依次检查,相同数值的同时检查。如:/home 和 /boot 的pass 设置成2,/devdata 的pass 设置成3,则系统在检查完根分区,接着同时检查/boot和/home,再检查/devdata。