全部博文(127)
分类: LINUX
2009-11-09 11:22:08
这里的UUID指硬盘分区的唯一标识uuid
在linux中某些个地方需要用sdxx/hdxx来代表存储设备名,但它不是针对某个分区固定的(当你的存储设备搬家——你把系统装在可移动硬盘上,外接到另一台电脑,或者像我年前碰到的变态情况),在不同的情况下某个分区可能被系统识别为sdax,hdax或sdbx等等,所以它不应该被保存在静态的配置文件中,这里配置文件指/etc/fstab和grub的menu.lst,我们来看一个fstab的例子:
/dev/sda1 /boot ext2 defaults,noatime 1 2
上面这个是传统的写法,刚说了它有弊端,下面我们用UUID代替/dev/sda1 :
b9475401-1180-4766-8799-8f605284f514 /boot ext2 defaults,noatime 1 2
因为UUID作为分区标识符是固定不变的,即使你的存储设备搬家了,系统还是能认出分区来
查看分区uuid的方法,终端输入 blkid 或 ls -l /dev/disk/by-uuid,通常后者比较有效
再来看一个GRUB使用uuid的menu.lst的例子:
title Gentoo Linux 2.6.26-r4
root (hd0,0)
kernel /boot/kernel-2.6.26-gentoo-r4 root=/dev/ram0 root=/dev/sda3
修改后
title Gentoo Linux 2.6.26-r4
uuid b9475401-1180-4766-8799-8f605284f514
kernel /boot/kernel-2.6.26-gentoo-r4 root=/dev/ram0 root=UUID=54db021e-4058-4d68-8998-a8d08ff9d273
还有一个值得注意的地方,UUIDs中的字母需要小写,我碰过钉子。
参考:
http://www.joeblog.info/index.php?/archives/369-Finding-the-UUIDs-of-your-harddisks.html 和 Ubuntu 8.10系统自动配置的menu.lst
另外,建议看一下Ubuntu Community Documents中