История изменений
Исправление bormant, (текущая версия) :
Это не отдельная команда ни системы, ни GRUB, это параметр ядра, передаваемый ему в командной строке:
kernel ... root=UUID=xxx ...
Параметр обрабатывается в initrd путем поиска раздела с заданным UUID на момент загрузки перед сменой на него реального корня.
Аналогично ведет себя root=LABEL=xxx.
Ядро само, без помощи initrd, умеет обрабатывать помимо стандартных root=/dev/sdaN и root=nnnn еще root=PARTUUID=xxx. PARTUUID смотреть также в выводе blkid, он отличается от UUID. Подробнее см. в https://www.kernel.org/doc/Documentation/kernel-parameters.txt. Правда там написано смотреть комментарий к name_to_dev_t в init/do_mount.c, где в свою очередь:
/*
183 * Convert a name into device number. We accept the following variants:
184 *
185 * 1) <hex_major><hex_minor> device number in hexadecimal represents itself
186 * no leading 0x, for example b302.
187 * 2) /dev/nfs represents Root_NFS (0xff)
188 * 3) /dev/<disk_name> represents the device number of disk
189 * 4) /dev/<disk_name><decimal> represents the device number
190 * of partition - device number of disk plus the partition number
191 * 5) /dev/<disk_name>p<decimal> - same as the above, that form is
192 * used when disk name of partitioned disk ends on a digit.
193 * 6) PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF representing the
194 * unique id of a partition if the partition table provides it.
195 * The UUID may be either an EFI/GPT UUID, or refer to an MSDOS
196 * partition using the format SSSSSSSS-PP, where SSSSSSSS is a zero-
197 * filled hex representation of the 32-bit "NT disk signature", and PP
198 * is a zero-filled hex representation of the 1-based partition number.
199 * 7) PARTUUID=<UUID>/PARTNROFF=<int> to select a partition in relation to
200 * a partition with a known unique id.
201 * 8) <major>:<minor> major and minor number of the device separated by
202 * a colon.
203 *
204 * If name doesn't have fall into the categories above, we return (0,0).
205 * block_class is used to check if something is a disk name. If the disk
206 * name contains slashes, the device name has them replaced with
bangs.
208 */
Исходная версия bormant, :
Это не отдельная команда ни системы, ни GRUB, это параметр ядра, передаваемый ему в командной строке:
kernel ... root=UUID=xxx ...
Параметр обрабатывается в initrd путем поиска раздела с заданным UUID на момент загрузки перед сменой на него реального корня.
Аналогично ведет себя root=LABEL=xxx.
Ядро само, без помощи initrd умеет обрабатывать помимо стандартных root=/dev/sdaN и root=nnnn еще root=PARTUUID=xxx. PARTUUID смотреть также в выводе blkid, он отличается от UUID.