web-dev-qa-db-ja.com

UbuntuはパーティションUUIDをディスクのどこに保存しますか?

正確にディスクのどの部分にUUIDが保存されていますか? MBR?パーティション内のどこか?それは計算値ですか、それともランダムに生成されて記録されますか?

10
jldugger

UUIDはスーパーブロックに格納されます(1つが破損した場合に備えて多くのコピーがあります)。値自体は、e2fsprogsスイートの一部であるlibuuidを使用して生成されます。 UUIDを生成するためのライブラリはたくさんあります。 RFC4122は、より一般的に使用される手法を説明し、参照コードが含まれているため、開始するのに適しています。

これが役立つかもしれないいくつかのリンクです-それらはext2に固有ですが、他のバリアントもuuidを格納する同様の場所を持っている必要があります:

http://www.nongnu.org/ext2-doc/ext2.html#S-UUID

http://linux.die.net/man/3/libuuid

13
James F

パーティションのUUIDを取得する方法はたくさんありますが、最も簡単な方法は/ dev/disk/by-uuid /フォルダーを調べることです。例として、

[pobega@greedo]$ **ls -l /dev/disk/by-uuid/**
lrwxrwxrwx 1 root root 10 2009-08-26 17:13 02ce3c1b-8893-402a-9e12-c01ac752ac3b -> ../../sda2
lrwxrwxrwx 1 root root 10 2009-08-26 17:13 2dcd156b-7ec6-4bf5-b1a2-dd4f5fb5082a -> ../../sdb3
[...]

各ファイルは、それがUUIDであるパー​​ティションへのシンボリックリンクです(その文を理解するのが難しい場合はお詫びしますが、言葉で表現するのは難しい概念です)。

0
Michael Pobega