Chinaunix首页 | 论坛 | 博客
  • 博客访问: 785458
  • 博文数量: 127
  • 博客积分: 2669
  • 博客等级: 少校
  • 技术积分: 1680
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-23 11:39
文章分类

全部博文(127)

文章存档

2014年(5)

2013年(19)

2012年(25)

2011年(9)

2010年(25)

2009年(44)

分类: 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

什么时候需要这样用?当你从另一个的硬盘上GRUB(纯正的,非GRUB4DOS)引导了,切换configfile来启动你的硬盘上的系统而不需要做出修改
对于支持UUID的版本,我只能告诉你尽量用新版。


还有一个值得注意的地方,UUIDs中的字母需要小写,我碰过钉子。

参考:
http://www.joeblog.info/index.php?/archives/369-Finding-the-UUIDs-of-your-harddisks.html 和 Ubuntu 8.10系统自动配置的menu.lst

另外,建议看一下Ubuntu Community Documents中

阅读(865) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~