Portál AbcLinuxu, 11. května 2024 04:48


Dotaz: Kde v /proc nebo /sys vyčíst geometrii disku?

12.2.2006 17:26 Ctirad Feřtr | skóre: 43 | Praha
Kde v /proc nebo /sys vyčíst geometrii disku?
Přečteno: 70×
Odpovědět | Admin
Zdar,

dá se někde jendoduše (aby se to dalo skriptovat pokud možno bez orgií se sedem) vyčíst geometrie pro SATA i ATA disky?

o /proc/ide/hdX/geometry vím, ale nevím o ekvivalentu pro SATA a navíc ty hodnoty jsou tam u některých disků jiné, než uvádí fdisk, tudíž nepoužitelné.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

13.2.2006 09:53 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Kde v /proc nebo /sys vyčíst geometrii disku?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nie; pri súčastných diskoch geometriu nezistíš, máš maximálne šancu zistiť geometriu, ktorú disk predstiera, že ju má.
13.2.2006 11:37 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Kde v /proc nebo /sys vyčíst geometrii disku?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Geometrii nezjistíš, lépe řečeno pokaždé ti může vyjít nějaká jiná, protože dnešní disky žádnou geometrii nepoužívají.

Přečti si Jaderné noviny 265 a pochopíš.
13.2.2006 16:34 Ctirad Feřtr | skóre: 43 | Praha
Rozbalit Rozbalit vše Re: Kde v /proc nebo /sys vyčíst geometrii disku?
Tak jinak. Potřebuju nějak naskriptovat vytvoření dvou partition na disku předem neznámé velikosti, přičemž ta druhá má mít danou velikost. K samotnému vytváření používám SFDIK, který ovšem vyžaduje zadávat tuto hodnotu v cylinderch, tudíž potřebuju nějakou konstantu, abych mohl převádět "size" získané z proc na cylindry.

Taky je ale možné, že jsem něco přehlédl a jde to udělat daleko jednodušeji.
13.2.2006 17:21 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: Kde v /proc nebo /sys vyčíst geometrii disku?
man sfdisk:

       -g or --show-geometry
              List the kernel's idea of the geometry of the indicated disk(s).
-- Nezdar není hanbou, hanbou je strach z pokusu.
13.2.2006 17:30 Ctirad Feřtr | skóre: 43 | Praha
Rozbalit Rozbalit vše Re: Kde v /proc nebo /sys vyčíst geometrii disku?
Tohle vím, ale radši bych to četl někde v proc nebo sys. Se sfdiskem sice pokusuju ted, ale nakonec tam třeba ani nebude.
13.2.2006 18:28 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Kde v /proc nebo /sys vyčíst geometrii disku?
No tak si tu konstantu nějakou vymysli :-) a to tak aby ta známá velikost oddílu co chceš dělat seděla na cilindrech.

Jediné co tě zajímá je velikost disku no a jaké si vymyslíš hodnoty C,H,S je tvoje věc - ovšem musíš si vymyslet takové hodnoty které ten program bude umět akceptovat aby to uměl převést na LBA.

Prostě přečti si ten odkaz je to tam popsáno jak se zachází s geometrií.
14.2.2006 12:21 Ctirad Feřtr | skóre: 43 | Praha
Rozbalit Rozbalit vše Re: Kde v /proc nebo /sys vyčíst geometrii disku?
No tak si tu konstantu nějakou vymysli :-) a to tak aby ta známá velikost oddílu co chceš dělat seděla na cilindrech.
To mi bude chodit přesně do chvíle, než to použiju na disku, u kterého partitionovadlo použije jinou geometrii než 255/63. Při mých pokusech to byl hned třetí, který jsem zkusil.
Jediné co tě zajímá je velikost disku no a jaké si vymyslíš hodnoty C,H,S je tvoje věc - ovšem musíš si vymyslet takové hodnoty které ten program bude umět akceptovat aby to uměl převést na LBA.
Opakuji, že použité partitionovadlo (v tuhle chvíli sfdisk) po mě chce velikosti partitions v cylindrech, takže musím používat jeho geometrii, abych se dopočítal velikostí, které chci udělat. Jak tak koukám, tak jediná možnost je číst tyto hodnoty přímo ze samotného sfdisku, takže to tak holt udělám i když jsem se tomu chtěl původně vyhnout.
14.2.2006 13:33 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Kde v /proc nebo /sys vyčíst geometrii disku?
On je problém že pokud jsi přečetl ten článek fdisk obzvláště windowsáckej zapisuje geometrii v C,H,S na disk a pokud používáš program který si to přečte z disku a použije místo lba tak potom záleží na tom programu co udělá, případně pokud ten disk je prázdnej a zapíšeš tam nesmysly tak to nerozdejchají zase windows a pod........

Takže ono nejrozumější bude přečíst si geometrii tím programem kterým na ten disk přistupuješ.

A jenom tak pro inspiraci mám stejné dva disky akorát jeden má větší cache od stejného výrobce a každý vypisuje něco jiného viz:
[petr@soban /proc/ide/ide0/hda]$ cat /proc/ide/ide0/hda/geometry
physical     4047/16/255
logical      16383/255/63
[petr@soban /proc/ide/ide0/hda]$ cat /proc/ide/ide0/hdb/geometry
physical     4047/16/255
logical      65535/16/63
:-)
14.2.2006 14:21 Ctirad Feřtr | skóre: 43 | Praha
Rozbalit Rozbalit vše Re: Kde v /proc nebo /sys vyčíst geometrii disku?
Tohle byl přesně ten důvod, proč jsem ten provotní dotaz pokládal.
14.2.2006 14:33 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Kde v /proc nebo /sys vyčíst geometrii disku?
Ale hdparm zase vypisuje udaje stejné :-)

Takže si to přeberte :-)))
/dev/hda:

 Model=ST3120026A, FwRev=3.06, SerialNo=3JT2N1KB
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
 BuffType=unknown, BuffSize=8192kB, MaxMultSect=16, MultSect=16
 CurCHS=4047/16/255, CurSects=16511760, LBA=yes, LBAsects=234441648

 Model=ST3120023A, FwRev=3.33, SerialNo=3KA1DVAF
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
 BuffType=unknown, BuffSize=2048kB, MaxMultSect=16, MultSect=16
 CurCHS=4047/16/255, CurSects=16511760, LBA=yes, LBAsects=234441648
14.2.2006 19:23 asd
Rozbalit Rozbalit vše Re: Kde v /proc nebo /sys vyčíst geometrii disku?
na tom jednom disku co neodpovida hdparmu si mel nekdy systemovy disk a boot windows ne? to se pak stava.

tip 1 - overit jestli neni v parition tabulce ten udaj o geometrii co neodpovida hdparmu, ze by tam byla zapsana jina hodnota nez doporucovana diskem

tip 2 - overit bios jestli tam neni zaply nejaky jiny rezim na disku - ze by se podle toho ridily ty windowsy?
15.2.2006 10:25 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Kde v /proc nebo /sys vyčíst geometrii disku?
Pokud to byla reakce na ten můj výpis tak na obouch discích byly kdysy windows, samozřejmě je to jejich fdiskem který tam zapsal jiné rozvržení než disk hláší, ale mě to netrápí mě je to jedno jak si to rozdělí na C,H,S a linux používá LBA.

Taky mě jednou windows přeházely oddíly tak je možné že tam to zůstalo po opravě lnuxovským fdiskem který pracuje s LBA.
14.2.2006 19:13 asd
Rozbalit Rozbalit vše Re: Kde v /proc nebo /sys vyčíst geometrii disku?
vytvor partition o velikosti 1 cylindru zapis. zjisti kolik ma bajtu a tim cislem podel tu velikost kterou chces. jediny hacek - musi se povist refresh partition tabulky, takze disk nesmi byt pouzivany.
13.2.2006 12:20 HynaDJ | skóre: 14 | Mutěnice
Rozbalit Rozbalit vše Re: Kde v /proc nebo /sys vyčíst geometrii disku?
Odpovědět | | Sbalit | Link | Blokovat | Admin
a neda sa to zjistit #hdparm -i

?
13.2.2006 15:56 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Kde v /proc nebo /sys vyčíst geometrii disku?
Nedá. Ono to síce "nejakú" geometriu vypíše, ale so skutočnou geometriou disku to nemusí (a na 99% ani nemá) nič spoločné.

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.