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 命令的语法如下:
说明:
-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 命令的语法如下:
说明:
-V 显示简要的使用方法。
-t <fstype> 指定要建立何种文件系统,如:ext3, ext4。
fs 指定建立文件系统时的参数。
-v 显示版本信息与详细的使用方法。
附录3:mount命令详解 | Appendix part 3: mount command syntax
mkfs 命令的语法如下:
说明:
-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。