个人工具

UbuntuHelp:UsingUUID/zh

来自Ubuntu中文

跳转至: 导航, 搜索

从 Edgy(6.10) 开始,Ubuntu 就开始要求使用UUID(全局唯一标志符)或 LABEL(针对文件系统swap),或 由 udev 创建的 synlinks(针对像 CDROMs 和 USB 设备的移动媒体)。后后将不再支持直接使用 /dev/hd* 或者 /dev/sd*(因为这些设备符号在不同的引导启动中会发生变化):

  • 所有的文件系统都应该用 UUID=LABEL= 标识
  • 所有物理设备都应该用 symlink (例如:/dev/cdrom,/dev/disk/by-id/...,等等)

最关键的几个文件是:

  • /boot/grub/menu.lst
  • /etc/fstab
  • /etc/initramfs-tools/conf.d/resume

查询

可以使用 vol_id 命令来查询 UUIDs。例如,查询 /dev/sda1 文件系统的 UUID:

$ sudo /sbin/vol_id -u /dev/sda1
79415992-7093-4a0e-a2e5-4574ed702d05

由 udev 建立的 Symlinks 可以在/dev中搜索目标设备找到。例如,要查找/dev/sda1:

$ ls -la /dev/disk/by-id | grep /sda1$
lrwxrwxrwx 1 root root   10 8207-06-10 02:46 ata-ST2250823AS_3ND277BL-part1 -> ../../sda1
lrwxrwxrwx 1 root root   10 8207-06-10 02:46 scsi-1ATA_ST2250823AS_3ND277BL-part1 -> ../../sda1

转换

请使用以下命令来完成系统对 UUID 的自动检查和修正(其实这在从 Dapper 向 Edgy 升级时,已经完成):

  • 对于 /boot/grub/menu.lst:
sudo update-grub
  • 对于 /etc/fstab</nowoki></code>: <pre><nowiki> sudo rm -f /etc/fstab.pre-uuid sudo /var/lib/dpkg/info/volumeid.postinst configure </pre>
  • 对于 <code>/etc/initramfs-tools/conf.d/resume,还没有自动完成过程:
  • 请对照 /etc/fstab 中的swap 行来检查 RESUME= 的值
  • 所有都调整好以后,运行 sudo update-initramfs -u