У меня есть USB-накопитель, который не получает UUID. Когда я смотрю на содержимое / dev / disk / by-uuid, его там не существует. Пункт разработки, в котором находится раздел, находится в / dev / sdb. Я могу видеть SDB в / dev / disk / by-path. Также при использовании blkid я получаю нулевой вывод. Я предполагаю, что я получил код ошибки, который вернулся назад.
Есть ли способ получить UUID для этого раздела?
Результат fdisk -l /dev/sdb:
Disk /dev/sdb: 320.1 GB, 320072932352 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142446 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00082145
Device Boot Start End Blocks Id System
/dev/sdb1 2048 625141759 312569856 83 Linux
Таблица разделов и раздел были созданы с помощью gparted, поэтому он был разделен и выполнил команду mkfs.ext3.
Вывод fsck -n / dev / sdb1
fsck from util-linux 2.20.1
e2fsck 1.42 (29-Nov-2011)
fsck.ext2: Superblock invalid, trying backup blocks...
zwei was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
zwei: 11/19537920 files (0.0% non-contiguous), 1275097/78142464 blocks
Он был отформатирован как диск ext3. Почему это отображается как ext2?
/dev/sdb
не будет иметь UUID, но/dev/sdb1
должен, если он был отформатирован.fsck -n /dev/sdb1
. Вы также можете попытаться присвоить ему UUID, аtune2fs -U random /dev/sdb1
затем посмотреть. Неважно, что такое UUID.fsck -y /dev/sdb1
; если вы не можете его смонтировать, просто запустите fsck и, надеюсь, ничего не потеряно. Прочитайтеman fsck
разницу между-n
и-y
.Ответы:
Вот что должно было случиться.
Здесь есть два разговорных использования термина «диск» или «диск»: первое относится к физическому устройству, такому как флешка. Второй относится к разделу файловой системы , которых может быть несколько на одном физическом устройстве.
Узлы устройства, такие как
/dev/sda
относятся к первому смыслу (физические устройства); Узлы устройства, такие как/dev/sda1
ссылки на второй (разделы файловой системы). Есть смысл? sda1 - это раздел файловой системы на физическом диске sda. Можно отформатировать все устройство с одним разделом, но это необычно, поэтому в общем/dev/sda
случае UUID никогда не будет.Разделы файловой системы имеют идентификаторы UUID, а физические устройства - нет . Я считаю, что они создаются случайным образом при создании файловой системы (именно поэтому они изменятся, если вы, например, переформатируете раздел, и почему, если вы блокируете уровень копирования, копируете раздел и создаете новый раздел с изображением, у вас будет два раздела с тем же UUID).
Итак, имейте в виду, что UUID создается при форматировании раздела . Когда вы разбиваете диск (например, с помощью fdisk), вы ничего не форматируете, вы просто задаете тип раздела (и размер и т. Д.) В таблице разделов, чтобы новые неформатированные разделы не имели UUID.
Наконец, поскольку это инструмент, используемый для форматирования раздела, который устанавливает UUID, возможно, что очень старые инструменты могут этого не делать. Однако вы всегда можете установить новый (для ext)
tune2fs
, например:источник
/dev/sdb1
или/dev/sdb
? Позднее не следует. Кроме того, вывод fdisk не указывает, что раздел отформатирован, и, следовательно, не доказывает, что он должен иметь доступный UUID. Я добавил несколько коротких абзацев выше, чтобы объяснить это./dev/disk/by-uuid
(Ubuntu 16.04, но, вероятно, влияет на другие). Итак (1) создайте раздел (ы) и файловую систему (ы), (2) перезагрузите компьютер. Вероятно, нет перезагрузки, но я предпочел проверить, что все идет с холодной загрузки, поэтому не исследовал./ Dev / disk / by-uuid заполняется при загрузке программой "partprobe". Если у вас есть диск или раздел, который partprobe не может распознать, то partprobe завершается ошибкой и останавливает сканирование остальных разделов:
Это явно ошибка в части зондирования . Вероятно, специфичный для Ubuntu 14.04 (верный). Обходной путь должен явным образом запустить partprobe для раздела, который не был проверен:
Обратите внимание, что partprobe запускается много раз и является результатом каждой операции управления дисками, поэтому обходной путь недолговечный.
источник
Я обнаружил, что
file -s
может дать UUID для раздела в случае, когдаblkid
не будет:источник
Попробуйте sudo с
ls -l /dev/disk/by-uuid
илиblkid /dev/sdb1
У меня также есть разделы + отформатированные
sdb1
, по некоторым причинам они не отображаются в списке, если я не используюsudo
.источник