Ubuntu-硬盘分区、格式化、自动挂载配置

作者:聂勇 欢迎转载,请保留作者信息并说明文章来源!

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

运行环境 | Enviroment

  • Ubuntu 10.10

一、硬盘分区 | Hard disk add new partition

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

1
sudo fdisk -lu

显示当前的硬盘及所属分区的情况。如下图所示:
系统提示:

DIsk /dev/sdb doesn’t contain a valid partition table。
图1

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

1
sudo fdisk /dev/sdb

如下图所示:
在Command (m for help)提示符后面输入m显示一个帮助菜单。
图2

在Command (m for help)提示符后面输入n,执行 add a new partition 指令给硬盘增加一个新分区。
出现Command action时,输入e,指定分区为扩展分区(extended)。
出现Partition number(1-4)时,输入1表示只分一个区。
后续指定起启柱面(cylinder)号完成分区。
图3

在Command (m for help)提示符后面输入p,显示分区表。
系统提示如下:

Device Boot Start End Blocks Id System
/dev/sdb1 1 26108 209712478+ 5 Extended

图4

在Command (m for help)提示符后面输入w,保存分区表。
系统提示:

The partition table has been altered!

图5

在终端窗口中输入如下命令:

1
sudo fdisk -lu

如下图所示:
系统已经识别了硬盘 /dev/sdb 的分区。
图6

二、硬盘格式化 | Format hard disk
1、显示硬盘及所属分区情况。在终端窗口中输入如下命令:

1
sudo mkfs -t ext4 /dev/sdb

说明:

  • -t ext4 表示将分区格式化成ext4文件系统类型。
图7

注意:在格式 化完成后系统有如下提示:

This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

表示系统为了保证文件系统的完整,每加载28次或每隔180天就要完整地检查文件系统,可以使用命令 tune2fs -c 或 tune2fs -i 来调整默认值 。

三、挂载硬盘分区 | Mount hard disk partition

1、显示硬盘挂载情况。在终端窗口中输入如下命令:

1
sudo df -l

新硬盘分区没有挂载,无法进入和查看。

在终端窗口中输入如下命令:

1
sudo mount -t ext4 /dev/sdb /devdata

说明:

  • 指定硬盘分区文件系统类型为ext4 ,同时将 /dev/sdb 分区挂载到目录 /devdata。

再次在终端窗口中输入如下命令:

1
sudo df -l

新硬盘分区已经挂载,如下图最下面的红色方框内容。
图8

2、配置硬盘在系统启动自动挂载。在文件 /etc/fstab 中加入如下配置:

1
2
# /devdata was on /dev/sdb
UUID=37eaa526-5d96-4237-8468-603df5216ce9 /devdata ext4 defaults 0 3

图9

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

fdisk 命令的语法如下:

1
2
3
4
fdisk [-b sectorsize] device
fdisk -l [-u] [device...]
fdisk -s partition...
fdisk -v

说明:

  • -b 指定每个分区的大小。也可以执行fdisk device(如:fdisk /dev/sdb)后,在系统提示时指定。
  • -l 列出指定的外围设备的分区表状况。如果仅执行 fdisk -l ,系统会列出已知的分区。
  • -u 搭配”-l”参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址。
  • -s 将指定的分区的大小输出到标准输出上,单位为区块。
  • -v 显示fdisk的版本信息。

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

mkfs 命令的语法如下:

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

说明:

  • -V 显示简要的使用方法。
  • -t 指定要建立何种文件系统,如:ext3, ext4。
  • fs 指定建立文件系统时的参数。
  • -v 显示版本信息与详细的使用方法。

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

mkfs 命令的语法如下:

1
2
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表示要将整个中的内容备份。此处建议设置为0。
  • pass:用来指定fsck如何来检查硬盘。0表示不检查;挂载点为分区/(根分区)必须设置为1,其他的挂载点不能设置为1;如果有挂载ass设置成大于1的值,则在检查完根分区后,然后按pass的值从小到大依次检查,相同数值的同时检查。如:/home 和 /boot 的pass 设置成2,/devdata 的pass 设置成3,则系统在检查完根分区,接着同时检查/boot和/home,再检查/devdata。