web-dev-qa-db-ja.com

/ dev / disk / by-uuidまたはblkidに表示されないドライブのUUID

UUIDを受信して​​いないUSBドライブがあります。/dev/disk/by-uuidの内容を見ると、そこには存在しません。パーティションが存在する開発ポイントは/ dev/sdbにあります。/dev/disk/by-pathでsdbを確認できます。また、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として表示されるのですか?

11
monksy

それが起こるはずです。

ここでは、「ディスク」または「ドライブ」という言葉の2つの口語的な使用法があります。最初の使用法は、USBスティックなどの物理的デバイスを指します。 2番目は、ファイルシステムパーティションを指し、1つの物理デバイスに複数存在する場合があります。

/dev/sdaのようなデバイスノードは、第一の意味(物理デバイス)を指します。 /dev/sda1のようなデバイスノードは、2番目の(ファイルシステムパーティション)を参照します。理にかなっていますか? sda1は、物理ディスクsda上のファイルシステムパーティションです。デバイス全体を1つのパーティションでフォーマットすることは可能ですが、これは珍しいことなので、通常、/dev/sdaがUUIDを持つことは決してありません。

ファイルシステムパーティションにはUUID、物理デバイスしないでくださいがあります。私はそれらがファイルシステムが作成されるときにランダムに作成されると信じています(これが、たとえばパーティションを再フォーマットすると変更される理由、およびブロックレベルでパーティションをコピーしてイメージで新しいパーティションを作成する場合、2つのパーティションがある理由です)同じUUIDで)。

したがって、パーティションのフォーマット時にUUIDが作成されることに注意してください。ディスクをパーティション分割するとき(たとえば、fdiskを使用)、何もフォーマットせず、パーティションテーブルでパーティションの種類(およびサイズなど)を設定するだけなので、フォーマットされていない新しいパーティションにはUUIDがありません。

最後に、UUIDを設定するのはパーティションのフォーマットに使用されるツールであるため、非常に古いツールではこれができない可能性があります。ただし、tune2fsを使用していつでも(extの)新しいものを設定できます。例:

tune2fs -U random /dev/whatever
13
goldilocks

/ dev/disk/by-uuidは、プログラム「partprobe」によってブート時に入力されます。 partprobeが認識できないディスクまたはパーティションがある場合、partprobeはエラーで失敗し、残りのパーティションのスキャンを停止します

root@machine1:~# partprobe 
Error: /dev/mapper/sda5_crypt: unrecognised disk label
root@machine1:~# 

それは明らかに partprobeパーツのエラー です。おそらくubuntu 14.04に固有(信頼できる)。回避策は、スキャンされなかったパーティションでpartprobeを明示的に実行することです。

root@machine1:~# partprobe /dev/sdd1

Partprobeが何度も開始されるのは、すべてのディスク管理操作の結果であるため、回避策は短期間しか有効ではないことに注意してください。

2
Arie Skliarouk

ls -l /dev/disk/by-uuidまたはblkid /dev/sdb1でSudoをお試しください

パーティション化+フォーマット済みのsdb1も使用していますが、何らかの理由でSudoを使用しないとリストに表示されません。

1
Gulchrider

私はそれを見つけましたfile -sは、blkidが次のことを行わない場合に、パーティションのUUIDを提供できます。

Sudo file -s /dev/sda1
/dev/sda1: Linux rev 1.0 ext2 filesystem data (mounted or unclean), UUID=ef55765f-dae5-426f-82c4-0d98265c5f21 (needs journal recovery)
1
mwfearnley