使用UUID的方法挂载分区
打开电脑发现,系统中各个盘符都挂载到/media下面了,导致很多程序不能正常运行了。使用“sudo umount -a”命令全部卸载,然好再使用“sudo mount -a”,重新按照/etc/fstab中的设置挂载,结果出现错误。经过查看,发现硬盘的分区从sda变成了sdb了。原来的sda5现在变成了sdb5,而fstab中的设置中是将/dev/sda5挂载到/var/ftp怪不得挂载不上了。如下:
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
# /dev/sda7
/dev/sda7 /var/ftp ext3 relatime 0 2
怎么办?
这么办。我们使用UUID来标示设备,这样就不会出现这种错误了(点击查看wiki百科)。
输入命令,得到各设备的UUID。
[cc lang=”bash”]ls -l /dev/disk/by-uuid/[/cc]
根据得到的UUID,将fstab中的设置更改一下,上面的例子,改为:
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
# /dev/sda7
UUID=d51b2056-6825-456c-957d-ebb16edd349d /var/ftp ext3 relatime 0 2
重新启动计算机,或者输入命令“sudo mount -a”,所有的设备就会正确挂载。
另外,为什么会出现这种错误呢,原来是因为我插了一个U盘在电脑上。这个忘记拔掉的U盘,占据了sda的标示,而它只有一个分区,所以在挂载的时候,所有的分区都不能得到正确挂载了(还好ROOT分区系统默认使用了UUID的方法挂载,要不然岂不是启动不了系统了吗)。