UbuntuHelp:UsingUUID
来自Ubuntu中文
Since Edgy, Ubuntu requires the use of UUID (Universally Unique Identifier) or LABEL (for filesystems including swap), or udev-created symlinks (for removable media like CDROMs and USB drives). Directly using /dev/hd*
or /dev/sd*
is no longer supported (since these device assignments can change from boot to boot):
- all filesystems should be specified by
UUID=
orLABEL=
- all physical devices should be specified by a symlink (e.g.
/dev/cdrom
,/dev/disk/by-id/...
, etc.)
The files for which this is most critical are:
-
/boot/grub/menu.lst
-
/etc/fstab
-
/etc/initramfs-tools/conf.d/resume
Finding
UUIDs can be determined using the vol_id
command. For example, to find the UUID for the filesystem on /dev/sda1
:
$ sudo /sbin/vol_id -u /dev/sda1 79415992-7093-4a0e-a2e5-4574ed702d05
Symlinks created by udev can be found by searching for the target device in /dev
. For example, to find /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
Converting
To perform these UUID lookups and corrections automatically (which should have already happened during the Dapper to Edgy upgrade) please use:
- For
/boot/grub/menu.lst
:
sudo update-grub
- For
/etc/fstab
:
sudo rm -f /etc/fstab.pre-uuid sudo /var/lib/dpkg/info/volumeid.postinst configure
- For
/etc/initramfs-tools/conf.d/resume
, there is no automatic procedure: - Verify that
RESUME=
matches yourswap
line in/etc/fstab
- After any adjustment, run
sudo update-initramfs -u