Portál AbcLinuxu, 8. května 2025 17:57

Dotaz: Proč fdisk nevytváří souvislou řadu, ale vynechává část disku?

10.7.2014 12:16 FrantaS | skóre: 12 | Hlučín
Proč fdisk nevytváří souvislou řadu, ale vynechává část disku?
Přečteno: 571×
Odpovědět | Admin
Dělím 640G disk a v rozporu s tím, jak jsem byl zvyklý není číslování souvislé. Proč to ten prostor vynechává. Jde o chybu nebo mou neznalost? Nebo to dělá jen mě?
/dev/sda4        67520512  1250261614   591370551+   5  Extended
/dev/sda5        67522560   101076991    16777216   83  Linux
/dev/sda6       101079040   111564799     5242880   83  Linux
Ať se nám daří.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Ruža Becelin avatar 10.7.2014 12:36 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
Rozbalit Rozbalit vše Re: Proč fdisk nevytváří souvislou řadu, ale vynechává část disku?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Fdisk zarovnava oddily podle velikosti sectoru.
10.7.2014 15:58 FrantaS | skóre: 12 | Hlučín
Rozbalit Rozbalit vše Re: Proč fdisk nevytváří souvislou řadu, ale vynechává část disku?
Díky za rychlou odpověď. Proč, ale, tedy nezarovnal i extended? Je pravdou, že jsem ani za ty roky problematiku disku netoužil nastudovat dopodrobna, ale již jednoduchá logika mi zjednodušeně říká, že snad kdyby každou partišnu zarovnal na konci, pak další partišna může začínat číslem následujícího sektoru a nebude nikde viditelný rozpor?
Ať se nám daří.
10.7.2014 19:44 FrantaS | skóre: 12 | Hlučín
Rozbalit Rozbalit vše Re: Proč fdisk nevytváří souvislou řadu, ale vynechává část disku?
Lze tedy rozdělit tak, abych z sfdisk nedostával hlášku: "Warning: extended partition does not start at a cylinder boundary. DOS and Linux will interpret the contents differently."? Jak, prosím?
Ať se nám daří.
11.7.2014 08:27 pet
Rozbalit Rozbalit vše Re: Proč fdisk nevytváří souvislou řadu, ale vynechává část disku?
Tak sem dej celý výpis, ať je vidět co tam máš (jak velké jsou sektory, cylyndry,...)
11.7.2014 10:35 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Proč fdisk nevytváří souvislou řadu, ale vynechává část disku?
Dnes nejde, protože dnes se už na žádné cylindry nehraje a že nějaké programy tak pořád počítají za to já nemůžu a prostě staré vykopávky nepoužívej.

Moderní HDD si nějaké cylindry a pod vycucá s prstu a staré programy se to snaží zarovnat - netřeba na to brát ohled.

Dnešní HDD mají dokonce na jednotlivých stopách jiný počet sektorů, a aby staré programy fungovaly tak si různě vymýšlí C,H,S aby obešly omezení BIOSu, starých OS a pod...

Viz:

http://www.harryho.info/hdd_teorie.htm http://cs.wikipedia.org/wiki/Cylindr-Hlava-Sektor
11.7.2014 13:04 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Proč fdisk nevytváří souvislou řadu, ale vynechává část disku?
Tady může být důvod. Používáte prastaré nástroje. Může to být tak, že jste to dělil ne v rozhodování o sektorech, ale o cylindrech a pak ten nástroj nesmyslně zaokrouhloval začátky na nějaké vymyšlené hranice. Navíc tyhle nástroje nerozdělí větší disky a neumí pracovat s GPT. A ještě horší je, že při práci s 4kB sektorovými disky vám dají nesmyslné dělení, díky tomu, že vše se počítá v počtech 512B sektorů, ale disk má fakticky sektor 4kB tedy 8x512B musíte mít všechny začátky oddílů na číslech sektorů, které jsou dělitelné 8. Při počtu sektorů v cylindru 63 (ne 64) se toho dosahuje těžce. Naučte se parted (gparted).

Jen pro info, na dvou z mých disků:
fdisk -l

Disk /dev/sda: 120.0 GB, 120034123776 bytes, 234441648 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 label type: dos
Disk identifier: 0x87e7dbca

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048    78850047    39424000    7  HPFS/NTFS/exFAT
/dev/sda2   *    78850048    80181247      665600   83  Linux
/dev/sda3        80181248   234440703    77129728   8e  Linux LVM

Disk /dev/sdb: 3000.6 GB, 3000592982016 bytes, 5860533168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x83e2b5b8

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1  4294967295  2147483647+  ee  GPT
Partition 1 does not start on physical sector boundary.

naprosto nesmyslný sfdisk
sfdisk -l

Disk /dev/sda: 14593 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1          0+   4908-   4909-  39424000    7  HPFS/NTFS/exFAT
/dev/sda2   *   4908+   4991-     83-    665600   83  Linux
/dev/sda3       4991+  14593-   9603-  77129728   8e  Linux LVM
/dev/sda4          0       -       0          0    0  Empty

Disk /dev/sdb: 364801 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdb1          0+ 267349- 267350- 2147483647+  ee  GPT
sfdisk:                 start: (c,h,s) expected (0,0,2) found (0,0,1)

/dev/sdb2          0       -       0          0    0  Empty
/dev/sdb3          0       -       0          0    0  Empty
/dev/sdb4          0       -       0          0    0  Empty

a korektní parted
parted /dev/sda  'unit s print'
Model: ATA OCZ-AGILITY3 (scsi)
Disk /dev/sda: 234441648s
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start      End         Size        Type     File system  Flags
 1      2048s      78850047s   78848000s   primary  ntfs         type=07
 2      78850048s  80181247s   1331200s    primary  ext4         boot, type=83
 3      80181248s  234440703s  154259456s  primary               lvm, type=8e

parted /dev/sdb  'unit s print'
Model: ATA ST3000DM001-1CH1 (scsi)
Disk /dev/sdb: 5860533168s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start       End          Size         File system     Name     Flags
 1      2048s       18878421s    18876374s    linux-swap(v1)  primary
 2      18878464s   438300671s   419422208s   ntfs            primary
 3      438300672s  5860532223s  5422231552s  xfs             primary
12.7.2014 00:25 FrantaS | skóre: 12 | Hlučín
Rozbalit Rozbalit vše Re: Proč fdisk nevytváří souvislou řadu, ale vynechává část disku?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Rozděluji disk 640G, není potřeba gpt. Fdisk mi vždy dobře sloužil. :) A pokud vím, je stále aktualizován.
 fdisk /dev/sda
Disk /dev/sda: 640.1 GB, 640133946880 bytes, 1250261615 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: 0x13df13de
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648    31868927    15728640   83  Linux
/dev/sda3        31868928    65423359    16777216   83  Linux
/dev/sda4        65423360  1250261614   592419127+   5  Extended
/dev/sda5        65425408   101076991    17825792   82  Linux swap / Solaris
/dev/sda6       101079040   105584639     2252800   83  Linux
/dev/sda7       105586688   116072447     5242880   83  Linux
/dev/sda8       116074496   145434623    14680064   83  Linux
/dev/sda9       145436672   146255871      409600   83  Linux
/dev/sda10      146257920   147281919      512000   83  Linux
/dev/sda11      147283968   252141567    52428800   83  Linux
/dev/sda12      252143616  1250261614   499058999+  83  Linux
fdisk -u=cylinders /dev/sda
WARNING: cylinders as display units are deprecated. Use command 'u' to
         change units to sectors.
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      204800   83  Linux
/dev/sda2              26        1984    15728640   83  Linux
/dev/sda3            1984        4073    16777216   83  Linux
/dev/sda4            4073       77826   592419127+   5  Extended
/dev/sda5            4073        6292    17825792   82  Linux swap / Solaris
/dev/sda6            6292        6573     2252800   83  Linux
/dev/sda7            6573        7226     5242880   83  Linux
/dev/sda8            7226        9053    14680064   83  Linux
/dev/sda9            9054        9105      409600   83  Linux
/dev/sda10           9105        9168      512000   83  Linux
/dev/sda11           9169       15696    52428800   83  Linux
/dev/sda12          15696       77826   499058999+  83  Linux
 sfdisk -d /dev/sda
sfdisk: Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
# partition table of /dev/sda
unit: sectors
/dev/sda1 : start=     2048, size=   409600, Id=83, bootable
/dev/sda2 : start=   411648, size= 31457280, Id=83
/dev/sda3 : start= 31868928, size= 33554432, Id=83
/dev/sda4 : start= 65423360, size=1184838255, Id= 5
/dev/sda5 : start= 65425408, size= 35651584, Id=82
/dev/sda6 : start=101079040, size=  4505600, Id=83
/dev/sda7 : start=105586688, size= 10485760, Id=83
/dev/sda8 : start=116074496, size= 29360128, Id=83
/dev/sda9 : start=145436672, size=   819200, Id=83
/dev/sda10: start=146257920, size=  1024000, Id=83
/dev/sda11: start=147283968, size=104857600, Id=83
/dev/sda12: start=252143616, size=998117999, Id=83
parted /dev/sda
GNU Parted 3.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                            
Model: ATA WDC WD6402AAEX-0 (scsi)
Disk /dev/sda: 640GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type      File system  Flags
 1      1049kB  211MB   210MB   primary                boot
 2      211MB   16.3GB  16.1GB  primary
 3      16.3GB  33.5GB  17.2GB  primary
 4      33.5GB  640GB   607GB   extended
 5      33.5GB  51.8GB  18.3GB  logical
 6      51.8GB  54.1GB  2307MB  logical
 7      54.1GB  59.4GB  5369MB  logical
 8      59.4GB  74.5GB  15.0GB  logical
 9      74.5GB  74.9GB  419MB   logical
10      74.9GB  75.4GB  524MB   logical
11      75.4GB  129GB   53.7GB  logical
12      129GB   640GB   511GB   logical
(parted) align-check minimal 1                                            
1 aligned
(parted) align-check optimal 1                                            
1 aligned
Se stejným výsledkem přes všechny partyšny, a to i přes extended.
cat /sys/block/sda/alignment_offset 
0
cat /sys/block/sda/queue/physical_block_size 
512
cat /sys/block/sda/queue/logical_block_size 
512
cat /sys/block/sda/queue/minimum_io_size 
512
cat /sys/block/sda/queue/optimal_io_size 
0
hdparm -I /dev/sda

/dev/sda:

ATA device, with non-removable media
        Model Number:       WDC WD6402AAEX-00Z3A0                   
        Firmware Revision:  05.01D05
        Transport:          Serial, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6
Standards:
        Supported: 8 7 6 5 
        Likely used: 8
Configuration:
        Logical         max     current
        cylinders       16383   16383
        heads           16      16
        sectors/track   63      63
        --
        CHS current addressable sectors:   16514064
        LBA    user addressable sectors:  268435455
        LBA48  user addressable sectors: 1250261615
        Logical/Physical Sector size:           512 bytes
Působí to na mne tak, že ve skutečnosti jsme s diskem kámoši, jen jsem se nechal zbytečně znervóznit.

lertimir: Ano, ten výpis msdos p. table z parted se mi líbí.
Ať se nám daří.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.