जवाबों:
आप parted -l
विभाजन तालिका के प्रकार को निर्धारित करने के लिए उपयोग कर सकते हैं । उदाहरण के लिए:
$ sudo parted -l
Model: ATA TOSHIBA THNSNS25 (scsi)
Disk /dev/sda: 256GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 4194kB 32.2GB 32.2GB primary ext4 boot
2 32.2GB 256GB 224GB primary ext4
Model: ATA Hitachi HDT72101 (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 32.2GB 32.2GB primary ext4 boot
2 32.2GB 996GB 964GB primary ext4
3 996GB 1000GB 4295MB primary linux-swap(v1)
Partition Table
क्षेत्र है कि मैं एक का उपयोग कर रहा से पता चलता msdos
दोनों डिस्क पर एमबीआर विभाजन तालिका (एक अभी भी सामान्य लिनक्स और विंडोज के लिए इस्तेमाल किया)। से man
पेज parted
विभाजन तालिका के निम्नलिखित प्रकार (या अधिक मोटे तौर पर `डिस्क लेबल ') बनाने (और इस तरह उम्मीद है कि पहचान) कर सकते हैं:
bsd
dvh
gpt - this is a GPT partition table
loop - this is raw disk access without a partition table
mac
msdos - this is a standard MBR partition table
pc98
sun
यह एक एकल विभाजन को सूचीबद्ध करने के लिए कमांड जोड़ने के लायक है क्योंकि यह कुछ ज्ञान के बिना स्पष्ट नहीं है parted
और यह एक दर्द हो सकता है जो आपको आवश्यक डेटा ढूंढता है यदि कई ड्राइव हैं। के लिए /dev/sda
आप क्या करेंगे:
parted /dev/sda print
parted /dev/sda p
भी करेंगे।
लिनक्स पर, आप इसे उस gdisk
टूल के माध्यम से जांच सकते हैं जो किसी भी डिस्ट्रो के लिए उपलब्ध होना चाहिए।
gdisk -l /dev/sda
यहाँ, भौतिक ड्राइव का/dev/sda
उपकरण नोड है , विभाजन नहीं (और /dev/sda1
, /dev/sda2
विभाजन हैं)।
यदि आप कुछ ऐसा देखते हैं जिसमें शामिल हैं:
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory.
***************************************************************
आपके पास MBR स्टाइल डिस्क है। चिंता न करें, इससे कोई नुकसान नहीं हुआ।
यदि आपको यह चेतावनी दिखाई नहीं देती है, तो आपके पास एक GPT डिस्क, या एक संकर GPT / MBR डिस्क है। बाद में इसका उपयोग ज्यादातर Apple मशीनों पर एमएस विंडोज के दोहरे-बूट संस्करणों के लिए किया जाता है जो GPT का समर्थन नहीं करते हैं। gdisk
इससे संकेत मिलेगा:
Found valid GPT with hybrid MBR; using GPT
उनका उपयोग अन्य स्थितियों में भी किया जा सकता है जहां दोनों शैलियों के लिए समर्थन की आवश्यकता होती है।
cfdisk
जीपीटी विभाजन पर उपयोग करने की कोशिश करने से चेतावनी भी होगी।
gdisk
पैकेज में नहीं है , तो यह gptfdisk
पैकेज में पाया जा सकता है ... कम से कम जेंटू पर।
fdisk
कर cfdisk
सकते हैं या इसलिए त्रुटि नहीं दिखा सकते हैं।
gdisk
एक संकर GPT + MBR विभाजन तालिका और देता है Found valid GPT with hybrid MBR; using GPT.
। यह एकमात्र तरीका प्रतीत होता है जो हाइब्रिड टेबल का पता लगाएगा।
जैसा कि ओएस निर्दिष्ट नहीं किया गया था, यहां चीजों को करने का फ्रीबीएसडी तरीका है।
सभी gpart
कमांड के माध्यम से किया जाता है (GEOM partioner के लिए कम - जीएनयू के साथ कुछ नहीं करना है)।
एक सरल gpart show
आपको सभी डिस्क के सभी उपलब्ध विभाजन दिखाएगा, लेकिन आप डिवाइस को एक पर अधिक सटीक रूप से देखने के लिए निर्दिष्ट कर सकते हैं:
MBR (उर्फ "msdos") और BSD विभाजन योजनाओं के साथ विरासत विभाजन लेआउट (2-स्तरीय विभाजन आमतौर पर BSD सिस्टम के लिए आवश्यक था, जब तक कि पूर्ण डिस्क का उपयोग न किया जाए):
$
gpart show
=> 63 67108801 ada0 MBR (32G)
63 67108545 1 freebsd [active] (32G)
67108608 256 - free - (128k)
=> 0 67108545 ada0s1 BSD (32G)
0 2097152 2 freebsd-swap (1.0G)
2097152 65011393 1 freebsd-ufs (31G)
GPT का उपयोग करके आधुनिक विभाजन लेआउट :
$
gpart show /dev/ada2
=> 34 976773101 ada2 GPT (465G)
34 6 - free - (3.0k)
40 128 1 freebsd-boot (64k)
168 67108864 2 freebsd-swap (32G)
67109032 901775360 3 freebsd-zfs (430G)
अधिक जानने के लिए, सभी gpart
मैनुअल में है ।
साथ udisks
लिनक्स पर:
$ sudo /lib/udev/udisks-part-id /dev/sda
using device_file=/dev/sda syspath=/sys/devices/pci0000:00/0000:00:0b.0/ata1/host0/target0:0:0/0:0:0:0/block/sda, offset=0 ao=0 and number=0 for /dev/sda
Entering MS-DOS parser (offset=0, size=500107862016)
MSDOS_MAGIC found
found partition type 0xee => protective MBR for GPT
Exiting MS-DOS parser
Entering EFI GPT parser
GPT magic found
partition_entry_lba=2
num_entries=128
size_of_entry=128
Leaving EFI GPT parser
EFI GPT partition table detected
UDISKS_PARTITION_TABLE=1
UDISKS_PARTITION_TABLE_SCHEME=gpt
UDISKS_PARTITION_TABLE_COUNT=4
ऊपर, मुझे हाइब्रिड GPT + MS-DOS विभाजन के साथ एक ड्राइव मिली है। उस स्थिति में, लिनक्स कर्नेल MS-DOS विभाजन को अनदेखा करता है, यही वजह है कि udisks
UDISKS_PARTITION_TABLE_SCHEME को सेट करने के लिए।
उस udisks-part-id टूल का उपयोग udv डेटाबेस को पॉप्युलेट करने के लिए किया जाता है। इसलिए यदि आप udisks
स्थापित हो गए हैं, तो आपको उस जानकारी को एक गैर-निजीकृत उपयोगकर्ता के रूप में भी क्वेरी करने में सक्षम होना चाहिए:
$ udevadm info -q property -n sda | grep UDISKS_PARTITION_TABLE_SCHEME
UDISKS_PARTITION_TABLE_SCHEME=gpt
0xee
। एक हाइब्रिड में यह एक सामान्य एमबीआर है जिसमें एक 0xee
विभाजन है (और प्रमुख समस्याओं के लिए संभावित अगर एमबीआर डेटा जीपीआर डेटा के साथ सिंक से बाहर चला जाता है)।
उपयोग
$ sudo fdisk -l
Disk /dev/sda: 119.2 GiB, 128035676160 bytes, 250069680 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
Disklabel type: dos
Disk identifier: 0x987c1a05
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 999423 997376 487M 83 Linux
/dev/sda2 1001470 250068991 249067522 118.8G 5 Extended
/dev/sda5 1001472 250068991 249067520 118.8G 8e Linux LVM
दिसक्लबेल प्रकार देखें : डॉस । यदि यह डॉस दिखाता है तो इसका मतलब है कि यह एमबीआर स्कीमा है और जीपीटी स्कीमा है
मेरी अल्पाइन लिनक्स विभाजन लिपियों में :
check_scheme() {
fdisk -l $1 |grep "Disklabel type:" |awk '{ print $3 }'
}
fdisk -l /dev/sda | grep -i disklabel
कुछ भी नहीं देता है, ( GNU Fdisk 1.3.0a )।
आप उपयोग कर सकते हैं blkid
।
आउटपुट के साथ उदाहरण:
# blkid /dev/sdc
/dev/sdc: PTUUID="92f03b9b-7402-4ad2-8316-08a991c237b3" PTTYPE="gpt"
# blkid -o export /dev/sdc
DEVNAME=/dev/sdc
PTUUID=92f03b9b-7402-4ad2-8316-08a991c237b3
PTTYPE=gpt
या एक स्क्रिप्ट में, -o value
विकल्प के साथ :
disk=$1
part_type=$(blkid -o value -s PTTYPE $disk)
case $part_type in
gpt) echo "GPT";;
dos) echo "MBR";;
*) echo "partition is $part_type";;
esac