让Linux开机就挂载分区,我知道有两种方法,一种是fstab,另一种是rc.local,我比较倾向前一种。
这两种方法各要注意:
fstab是在开机时就挂载,所以你要注意是否你的分区位于某个需要特别驱动程序的设备后,如RAID卡,因为Linux挂载时,有可能这个设备的驱动程序还没有起,这样使挂不上的。
rc.local是在开结束后最后一个执行(因为在/etc/rc.*里他一直是S99的),如果遇到如上驱动程序的问题,你大可不必担心,因为驱动程序肯定早就起来了,所以你要注意的是你的应用是否有可能被排在了mount动作前。
言归正传,说会LABEL吧。
提到LABEL是因为,对于附加的硬盘我经常直接用设备名称来mount,当然是没什么问题了,但是当我希望他开机就挂好时就显得不是那么严紧了。为什么呢,因为我经常忘了拔U盘或者其他block设备,导致他们占用了原先我想挂载的那个设备的名称,比如你有一个内置硬盘是/dev/sda,可能这种情况下它变成了/dev/sdb,而那个U盘变成了/dev/sda,这样等到系统启动完毕,你就会发现挂载的不对了,或者根本系统就起不来(因为它还有可能占用了grub中的hd0,这是另外一个现象了)。
所以呢,用LABEL,并把它加入到fstab里就能更好地解决这个问题,因为Linux会按照LABEL去挂载,而不是设备名称,如果有同名的LABEL,我理解他挂载最先找到的那个分区。
设定swap分区的LABEL: mkswap -L LABEL名称 /dev/分区名称
挂载fstab中的swap: swapon -a
设定普通分区的LABEL: tune2fs -L LABEL名称 /dev/分区名称
查看普通分区的LABEL: tune2fs -l /dev/分区名称
[root@spider102 ~]# tune2fs -l /dev/sda2 tune2fs 1.39 (29-May-2006) Filesystem volume name: / Last mounted on: <not available> Filesystem UUID: 75240578-85f7-4e51-b18a-1156d606b859 Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file Default mount options: user_xattr acl Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 10246368 Block count: 10239429 Reserved block count: 511971 Free blocks: 9338134 Free inodes: 10157660 First block: 0 Block size: 4096 Fragment size: 4096 Reserved GDT blocks: 1021 Blocks per group: 32768 Fragments per group: 32768 Inodes per group: 32736 Inode blocks per group: 1023 Filesystem created: Thu Jan 31 00:10:16 2013 Last mount time: Thu Jan 31 23:49:10 2013 Last write time: Thu Jan 31 23:49:10 2013 Mount count: 7 Maximum mount count: -1 Last checked: Thu Jan 31 00:10:16 2013 Check interval: 0 (<none>) Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 128 Journal inode: 8 First orphan inode: 5187100 Default directory hash: tea Directory Hash Seed: 03d2938f-1466-4f3c-b190-e48b5d50c40c Journal backup: inode blocks