/*****************************
* Author : Samson
* Date : 09/26/2015
* Test platform:
* gcc 4.8.4
* GNU bash, 4.3.30
* Debian GNU/Linux 8
* ***************************/
三种方法分别是使用盘符的文件名,使用盘的文件系统对应的UUID,或使用盘的文件系统对应的LABEL,在命令行中挂载磁盘到挂载点的命令如下:
第一种方法:使用分区盘符挂载:
mount /etc/sda5 /media/usb
在/etc/fstab中使用格式:
/etc/sda5 /media/usb ext4 defaults 0 2
第二种:使用UUID进行挂载:
mount -U 76c825c3-1f61-463f-a229-f2294e605eb3 /media/usb
查看硬盘分区对应的UUID值:
$ blkid
/dev/sda5: UUID="76c825c3-1f61-463f-a229-f2294e605eb3" TYPE="ext4"
$ ls /dev/disk/by-uuid/ -l
lrwxrwxrwx 1 root root 10 8月 28 15:43 76c825c3-1f61-463f-a229-f2294e605eb3 -> ../../sda5
修改分区的UUID:
随机生成一个UUID:
$ uuidgen
c5b4f641-1898-40db-a867-0c7278fa0f1a
修改UUID:
sudo tune2fs /dev/sda5 -U c5b4f641-1898-40db-a867-0c7278fa0f1a
在/etc/fstab中使用格式:
UUID=
76c825c3-1f61-463f-a229-f2294e605eb3 /media/usb ext4 defaults 0 2
第三种:使用LABEL进行挂载:
mount -L linux-sys-tem /media/usb
查看硬盘分区对应的LABEL值:
$ sudo e2label /dev/sda5
linux-sys-tem
$ ls /dev/disk/by-label/ -l
lrwxrwxrwx 1 root root 10 8月 28 15:43 linux-sys-tem -> ../../sda5
修改分区的LABEL值:
sudo e2label /dev/sda5 linux-sys-tem
在/etc/fstab中使用格式:
LABLE=linux-sys-tem
/media/usb ext4 defaults 0 2
三种方式的区别:
第一种方法在一般的情况是最常用的,但是在有多块物理硬盘的情况下容易出现分区飘移的问题,有可能是由于其他的外部设备的热挺拔、硬盘的位置的调换、主板在启动时对硬盘的识别检测到的顺序每次不一致造成这样的问题。
第二种方法和第三种方法即可很好的解决这个问题,因为第二种和第三种方法中的值都是文件系统的属性,此值是唯一的,不会因为以上提到的原因而使挂载点飘移。第三种方式更好,因为可以让名称本身具有意义,可读必及可维护性更佳。
REF:
https://wiki.archlinux.org/index.php/Persistent_block_device_naming
1977