UUID ve PARTUUID arasındaki fark nedir?


16

Raspberry Pi 3'ümün güç kaybına karşı daha sağlam olmasını ummak için SD kart yerine bir USB anahtarı kök dosya sistemi olarak kullanmasını sağlamak için ahududu pi forumlarındaki prosedürü izledim .

Süreç çalıştı, ancak zaman kaybettim çünkü UUID ve PARTUUID'i bölüm için karıştırdım (blkid kullanın ve nasıl farklı olabileceğini görün). Her ikisinin de amacı nedir? Her yerde PARTUUID yerine UUID kullanarak karışıklığımı düzeltmek daha kolaydı, ancak bu başarısız oldu, PARTUUID kullanmak zorunda kaldım (bir karışım kullanmak mümkün olurdu, ama bir tane aramaya çalışmadım).

Alıntılanan sayfanın sürücü için UUID olduğunu ima bölüm için PARTUUID olduğunu unutmayın, ama sonra UUID bir sürücünün tüm bölümleri için aynı olmasını beklenir, durum böyle değil.


1
Merhaba AProgrammer, ve Raspberry Pi yığın değişimine hoş geldiniz. Sanırım bunun Raspberry Pi ile ilgili bir soru olmadığını düşünmelisin! Belki de ana Linux forumunda olsaydı daha fazla kişi bu soruyu (hem cevaplamak hem de sunulan cevaplardan yararlanmak için) görürdü.
Tai Viinikka

@TaiViinikka, bu ve unix.se arasında tereddüt ettiğimi itiraf ediyorum, ancak ahududu pi ile ilgili bir sorunla karşılaştığımı ve UUID de dahil olmak üzere 2386'da debian ve debian türetilmiş dağıtımlarla çalıştıktan sonra bu konuyla hiç karşılaşmadığımı göz önünde bulundurarak onunla tanışmak - reflekslerim sorunun nedeninin bir parçasıydı - ahududu pi ile bir ilişki olabileceğini düşündüm.
AProgrammer

Bu oldukça anlaşılır ve bir cevap bulduğunuz için mutluyum. [Çok daha kısa] deneyimlerim sizinkinden farklıydı; sahip olduğum her bölüm UUID ve PARTUUID ile eşleşmiyor: root @ herald: ~ # cat / proc / cpuinfo vendor_id: GenuineIntel model adı: Intel (R) Atom (TM) CPU D2550 @ 1.86GHz root @ herald: ~ # blkid / dev / sda1: LABEL = "Boot" UUID = "e92827af-6c5d-4438-b22a-8f9b3b4dc4f0" TYPE = "ext4" PARTUUID = "44e5688f-01" Ve tam tersi sonuca ulaştım.
Tai Viinikka

Yanıtlar:


14

UUID ve PARTUUID arasındaki fark hakkında

Arasındaki farkla ilgili birkaç ipucu alabilir UUIDve PARTUUIDbelirterek -pseçeneği.

blkid -p /dev/sda1

veya baktığınız cihaz / bölüm. Aynı UUIDcihazda birden çok bölüm varsa , PARTUUIDeklenen bölümle çoğunlukla aynı olduğunu fark etmiş olabilirsiniz .

A'nın UUIDbenzersiz olduğu garanti edilir. Bildiğim kadarıyla, çarpışmalar evrenin yaşamı içinde olmayacak. Ancak, PARTUUIDbunun çok daha kısa olduğunu göreceksiniz . Bunlar "yerel" olarak benzersizdir ve büyük olasılıkla bilinenler arasında meydana gelen çarpışmalar meydana gelir PARTUUIDs.

UUID'lerde

Bir UUID sadece benzersiz bir tanımlayıcıdır. Birçok farklı amaç için kullanılırlar. Bunları uuidgenişlevi kullanarak oluşturabilirsiniz .

UUID'ler hakkında daha fazla bilgi için:

$man uuidgen 

Veya İnternet:

uuidgen için manpage

Bazı UUID kullanım örnekleri

$cat /etc/fstab

Daha yeni GNU / Linux sistemleri için, tüm bölümlerin ve bunların UUID'lerinin bir listesine sahip olacaksınız. Her yeni bölüm için yeni bir UUID oluşturulur. Dolayısıyla, belirli bir sürücüyü yeniden bölümlere ayırırsanız, o sürücü için tüm blkid UUID'ler değişir.

UUID'lerin bölümlerin ve sürücülerin tanımlayıcısı olarak kullanılmasının bir nedeni, sürücüler farklı bir sırayla eklendiğinde veya monte edildiğinde bile tanımlayıcıları korumaktır. Önceki bir zamanda, aşağıdaki fstabgibi tanımlayıcılar olurdu /dev/sda1... Bu, sda1bir şekilde montaj sırası değiştirilirse, fiziksel olarak farklı bir sürücü veya bölüm olmanın dezavantajı vardı .

PARTUUID'lerde

PARTUUIDs Ana Önyükleme Kaydı (MBR) ile ilgili disk bölümlemenin yerini alan GUID Bölüm Tabloları'nın (GPT) bir bileşenidir.

Daha fazla bilgi için bkz. Linux.com - Linux'ta Yeni GUID Bölümleme Tablosunu Kullanma

Linux.com diyor ki:

GPT GUID'leri (Global olarak benzersiz tanımlayıcılar) ve tanıdık Linux UUID'lerimiz (Evrensel Olarak Benzersiz Tanımlayıcılar) aynı yararlı değildir, ancak aynı yararlı amaca hizmet ederler: blok cihazlara benzersiz adlar vermek. Linux UUID'leri dosya sistemlerinin bir işlevidir ve dosya sistemi oluşturulduğunda oluşturulur. Linux UUID'lerini görmek için sadece blkid komutunu çalıştırın. Bölüm GUID kodunu ve "Microsoft temel verileri" nasıl yazdığını not edin. Evet, ole Microsoft her zaman parti çöküyor, çünkü bu bir EXT4 bölümü, bu yüzden Windows'un onu okumasının bir yolu yok, ancak biçimlendirilmemiş bir bölüm olarak görecek. Bunu gdisk'in güncel sürümlerinde görmeyeceksiniz, çünkü 2011'e kadar Linux dosya sistemi GUID'leri yoktu. Şimdi var, yani benim gibi eski bir Linux kullanmıyorsanız (Mint 13)

Partition unique GUID, fstab içinde şu şekilde kullanırsınız:

PARTUUID = 8C208C30-4E8F-4096-ACF9-858959BABBAA / veri ext4 kullanıcısı, varsayılan 0 0


Gizem derinleşir. Birkaç blok cihaza bakıldığında, bir PTUUID cihazı vardır ve bölüm başına bir UUID ve bir PARTUUID vardır; diske ve muhtemelen onu oluşturan ve bölümleyen araca bağlı olarak, PARTUUID disk PTUUID diskinden türetilmiş olsun veya olmasın. Benim sorum PARTUUID ile birlikte alabilirsiniz bölüm UUID hakkındaydı blkid.
AProgramcı

@AProgrammer: Cevabıma bazı bilgiler eklendi.
RubberStamp

1
Tamam, özet olarak, blkid -pPTUUID olarak adlandırdığınız bir disk UUID var blkid, PARTUUID çağıran bir bölüm UUID var ve bazı dosya sistemi blkid UUID çağıran bir UUID var. Linux sistemim sadece UUID'ye başvururken kök dosya sistemini ahududu üzerindeki bir USB anahtarına taşırken neden UUID yerine PARTUUID'i kullanmak zorunda olduğumu hala bilmiyorum, ama gönüllü değilim Biraz daha test yapmak ve PARTUUID için gerçekten bir ihtiyaç olan yeri ve istersem UUID'i nerede kullanabileceğimi kontrol etmek için, ancak sanırım sadece buna cmdline.txtihtiyacı var.
AProgrammer

Aynı UUID ile iki farklı diskte iki bölümüm var. " Evrenin ömrü " için çok fazla ...
étale-cohomology

3

Anladığım kadarıyla.

Genel olarak UUID terimi, Windows dünyasında bir GUID olarak bilinen "Evrensel olarak benzersiz bir tanımlayıcı" anlamına gelir. Birkaç farklı şema vardır, ancak çoğunlukla modern UUID'ler / GUID'ler aslında büyük bir rasgele sayı veya karma ve birkaç bayrak bitidir.

Belirli dosya sistemlerinde linux "UUID" üzerine monte edilmesi, dosya sisteminde depolanan meta verilerin bir parçası olan benzersiz bir tanımlayıcıya karşılık gelir. "PARTUUID", bölüm tablosunda depolanan veya bölüm tablosundan türetilen bir bölüm için benzersiz bir tanımlayıcı anlamına gelir.

Bu benzersiz tanımlayıcılar gerçek UUID'ler olabilir veya olmayabilir. Söyleyebildiğim kadarıyla.

  • GPT bölüm tabloları için "PARTUUID", GPT bölüm tablosundaki GUID'dir.
  • MBR bölümleme tabloları için "PARTUUID", disk tanımlayıcısını bölüm numarasıyla birleştirerek oluşturulur
  • EXT4, Linux takas, BTRFS ve muhtemelen diğer linux-native dosya sistemi türleri için "UUID", dosya sistemi meta verilerinde depolanan bir UUID'dir.
  • FAT ve NTFS için "UUID", seri seri numarası, FAT için 32 bit ve NTFS için 64 bit gibi görünür.

Kök dosya sistemini "UUID" ve "PARTUUID" ile bağlama desteğinin değiştiğini unutmayın. IIRC, initrd olmadan çalışan çekirdek "PARTUUID" ile bağlanabilir ancak "UUID" ile bağlanmaz. İnitramfs-tools'ın daha eski sürümleri "UUID" ile bağlanabilir ancak "PARTUUID" ile bağlanmaz, son zamanlarda initramfs-tools her ikisini de destekler.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.