Gå till innehåll

Cylinder head sector sectorsize


Gå till lösning Löst av Mikael63,

Recommended Posts

Detta var något man för länge sedan och vid något enstaka tillfälle behövde ange, till vissa delar, i BIOS om det var så att en disk inte riktigt kändes igen av BIOS.

I samband med en tråd i ett annat forum blev jag "varse" om detta på nytt.
Det är när man ex. kör programmet testdisk. Där står 

Citat

Note: Correct disk geometry is required for a successful recovery. 'Analyse'
process may give some warnings if it thinks the logical geometry is mismatched.

Vid fel på disken kan ibland fel storlek uppges/uppfattas av programmet och då antar jag att man ska rätta till det genom att korrigera "geometrin" för disken(?).
När jag då kollar med en (felfri) lös disk som på sin etikett har texten

Citat

8455MB (CYL16383, H16, S63)
1TB(LBA  1,953,525,168 Sectors) 

så är det förifyllda värdet för cylinders 121601, heads 255, sectors 63, sector size 512
Varför denna skillnad?
Om det var så att den disken visade helt fel storlek och att jag skulle använda "geometry" för att korrigera det, och använda uppgifterna, så långt möjligt från etikett eller datablad  skulle det ju kanske bli ännu större fel än vad som visades innan.

Info hittad på nätet för just den disken anger

Citat
  • Capacity: 1 TB (1 x 1 000 000 000 000 bytes)
  • Number Of Disks: 3
  • Number Of Heads: 6
  • Buffer Size: 8192 KB

Finns det något sätt att räkna på detta?

Redigerad av Mikael63
siffran 6 hade ramlat bort
Länk till kommentar
Dela på andra webbplatser

4 timmar sedan, Mikael63 sade:

Finns det något sätt att räkna på detta?

Jag har läst ditt inlägg ett flertal gånger. Tyvärr förstår jag inte alls vad det är du vill veta. Beklagar detta.
Kan du förklara dig närmre på vad det är du vill veta angående det där med att räkna?

Länk till kommentar
Dela på andra webbplatser

Här visas en disk som i verkligheten är 1000 GB stor.

image.png.909709a540c65158b79c4ef0953105ed.png

Där anges storleken som 500 GB

Om jag ska ändra något behöver jag känna till vad jag ska ändra.

Antal heads anges till 6 enligt ovan. Jag ändrar då från 255 till 6. Detta ger ingen ändring beträffande storleken.
Buffer size anges till 8192 och om det ska motsvara sector size vet jag inte. Någon ändring av Sector size tycks inte heller påverka storleken.

Sectors och Cylinders anges inte någonstans men det är 3 disks, vad det nu spelar för roll.

Någon mer info har jag inte tillgång till. Om jag nu ska ändra Cylinders (som jag har gjort för att få det felaktiga värdet) skulle jag behöva veta vad jag ska ändra till. Hur kan man få fram det värdet?

 

tillägg:

image.png.a85ca4b90c1718bd7201bc89d774beff.png

Redigerad av Mikael63
Länk till kommentar
Dela på andra webbplatser

Citat

The gross capacity of older sector-oriented HDDs is calculated as the product of the number of cylinders per recording zone, the number of bytes per sector (most commonly 512), and the count of zones of the drive.

Men eftersom det rör sig om 1 TB så är enheten nog inte så gammal utan följande meningar gäller i stället.

Citat

Some modern SATA drives also report cylinder-head-sector (CHS) capacities, but these are not physical parameters because the reported values are constrained by historic operating system interfaces. The C/H/S scheme has been replaced by logical block addressing (LBA), a simple linear addressing scheme that locates blocks by an integer index, which starts at LBA 0 for the first block and increments thereafter.[108] When using the C/H/S method to describe modern large drives, the number of heads is often set to 64, although a typical modern hard disk drive has between one and four platters.

Citaten är från sidan https://en.wikipedia.org/wiki/Hard_drive#Calculation.

  • Like 1
  • Thanks 1
Länk till kommentar
Dela på andra webbplatser

Ah!  Jag hade i det andra forumet skrivit kommentaren:

Citat

Kanske hänger ihop med att "moderna" diskar använder något som kallas LBA?

Då bör man (väl) kunna anse att man helt enkelt inte ska hålla på och mecka med CHS där man ser att resultatet blir käpprätt..?

Hur man ska komma tillrätta när fel storlek anges är då oklart. Det var fallet i det andra forumet, i en annan tråd.

Jag har en numera trasig disk som när den fungerade bra både i Windows och i Linux fick en större storlek i programmet GParted än vad ex. Gnome-disks och Diskhanteraren angav.

  • Like 1
Länk till kommentar
Dela på andra webbplatser

1 timme sedan, Mikael63 sade:

tillägg:

image.png.a85ca4b90c1718bd7201bc89d774beff.png

Jag läste den här sidan innan jag svarade att jag inte förstod vad det är du vill räkna ut:

https://en.wikipedia.org/wiki/Cylinder-head-sector
 

Att hålla på med cylindrar och dylikt har jag inte gjort sedan jag lämnade DOS-stadiet. 

Ditt tillägg känner jag mycket väl till! Min första 286-dator klarade av diskar upp till en viss storlek. Monterade jag i diskar som hade en lagringskapacitet större än vad moderkortet kunde detektera kunde jag sätta en bygel på disken som gjorde att diskens egna firmware inte detekterade hela lagringsutrymmet.
Det gjorde i sin tur att min dator kunde detektera disken och jag använda den.

Seagate har en sida som förklarar mer om detta här:

https://www.seagate.com/gb/en/support/kb/the-drive-is-larger-than-32gb-but-the-operating-system-only-recognizes-32gb-182079en/
 

Kan det vara så att disken du har, har någon sorts bygel som begränsar utrymmet?

Länk till kommentar
Dela på andra webbplatser

Ett förtydligande:

Jag har inte något problem med vare sig en disk eller med testdisk, inte mer än att jag försöker förstå hur man kan/ska göra OM man har problem som i tråden i ett annat forum:

Citat

den är större än den är, 4,2 TB istället för 3.

För min disk som jag använde för skärmdumpen hade jag medvetet ändrat antalet cylinders till hälften bara för att det skulle se ut som om det var fel. Det ska vara (ca) 323002 cylinders angivet men hur kan man få fram den siffran?

Länk till kommentar
Dela på andra webbplatser

Jag är ute efter att lära mig att förstå hur programmet testdisk ska användas där/när ett fel på en disk medför att diskens storlek visas felaktigt, precis som i tråden du länkar till. *) Testdisk-programmet påtalar vikten av att diskens storlek uppfattas korrekt för att man ska kunna (försöka) göra en "recovery" av det som finns på disken.

*) Där visades en disk á 4000 MB som 2199.
I Mint-forumet är det en disk som är 3000 MB men som visas som 4142

Redigerad av Mikael63
*)
Länk till kommentar
Dela på andra webbplatser

10 timmar sedan, Mikael63 sade:

Jag är ute efter att lära mig att förstå hur programmet testdisk ska användas där/när ett fel på en disk medför att diskens storlek visas felaktigt, precis som i tråden du länkar till. *) Testdisk-programmet påtalar vikten av att diskens storlek uppfattas korrekt för att man ska kunna (försöka) göra en "recovery" av det som finns på disken.

*) Där visades en disk á 4000 MB som 2199.
I Mint-forumet är det en disk som är 3000 MB men som visas som 4142

Om det är själva uträkningen av diskstorleken multiplicerar du alla parametrar. 

CHS 161501
Heads 6
Sectors 63
Sector size 8192

Uträkning av diskstorlek, uttryckt i GB:

161501/1000000 x 6 x 63 x 8192/1000 = 500,100121 GB

Är det detta du vill veta?

 

  • Thanks 1
Länk till kommentar
Dela på andra webbplatser

Ja! Fast omvänt då.

Om man har tillgång till viss data från datablad på en disk. Eller från dess påklistrade etikett. Vilka värden ska man då mata i testdisk för att programmet ska visa rätt storlek, om den visar fel storlek initialt?

Länk till kommentar
Dela på andra webbplatser

13 minuter sedan, Mikael63 sade:

Ja! Fast omvänt då.

Om man har tillgång till viss data från datablad på en disk. Eller från dess påklistrade etikett. Vilka värden ska man då mata i testdisk för att programmet ska visa rätt storlek, om den visar fel storlek initialt?

Har du något konkret exempel?

Länk till kommentar
Dela på andra webbplatser

36 minuter sedan, X-Men sade:

Har du något konkret exempel?

Ja

21 timmar sedan, Mikael63 sade:

När jag då kollar med en (felfri) lös disk som på sin etikett har texten

Citat

8455MB (CYL16383, H16, S63)
1TB(LBA  1,953,525,168 Sectors) 

Info hittad på nätet för just den disken anger

Citat
  • Capacity: 1 TB (1 x 1 000 000 000 000 bytes)
  • Number Of Disks: 3
  • Number Of Heads: 6
  • Buffer Size: 8192 KB

OM det skulle vara ett fel på just den disken och jag avser att göra ett försök med testdisk för att rädda data OCH OM testdisk då visar, låt säga, 2000 MB i stället för de 1000 MB som disken är på. Hur ska jag då, i testdisk,  justera värden så att storleken visas som 1000 MB?

För just denna har jag dels tillgång till data på etiketten, dels fanns information på nätet. Uppgifter som då kan utgöra grund för beräkningen

Länk till kommentar
Dela på andra webbplatser

Jag fixade en fysisk disk jag har hemma som mall.

image.jpeg.02aa21762fd0c07a2010204ff989a1cc.jpeg

Ovan i bilden finns specifikationerna för denna 750GB stora disk.
Jag lägger in uppgifterna i Testdisk och får då följande:

 

image.jpeg.1620f2a30da968c7953574f517e45f7a.jpeg

Testdisk visar att diskens storlek är 756GB med de parametrar som Seagate anger i dokumentationen för disken.

Är det detta som du undrar över hur du gör?

 

Länk till kommentar
Dela på andra webbplatser

Ja, matar man in de uppgifterna i testdisk så anger den 8455. Just de uppgifterna kom från etiketten men om man inte hade just de uppgifterna utan bara tillgång till det som länken ovan visar?

Eller om vi tar en annan disk jag har, en som är ohjälpligt trasig. Den heter ST9500325AS

Här hittar jag en PDF för den:

https://www.seagate.com/staticfiles/support/disc/manuals/notebook/momentus/5400.6 (Wyatt)/100528359e.pdf

Där hittar jag ex. denna information:

image.png.ede7ba8bcd6eaa784dd1a04e27a1e495.png

Hur kan jag använda den informationen?
Den informationen, och informationen den i den tidigare länken, är kanske inte tillräcklig - jag vet inte? Det är det jag försöker lära mig!

I databladet kan man skrolla ner lite till och då finns denna information:

image.png.7496a27a6f07e46ab5a9e58480d124c1.png

Perfekt - där återfinns orden "geometry", Cylinders, "heads", Sectors per track. Det som efterfrågas i Testdisk och som jag då fyller i.
Bara "Sector size" som saknas men på ett annat ställe står

image.png.951dc2c46b66ef3c908aa509ab4b033a.png

Alltså precis samma siffror som återfanns på Toshibadisken á 1 TB:

Disk /dev/sdd - 8455 MB / 8063 MiB - CHS 16383 16 63, sector size=512

 

Tycker det stämmer dåligt med de 500 GB som disken ska vara och samma information finns/gäller för sju olika storlekar..

image.png.8f36cf1c3e772c283e9def74581a38cb.png

.. så hur gör man?

***

Just den här som är trasig minns jag att programmet GParted ansåg att den var större än de 500 den är på. Det var innan den lade av, när den fungerade bra i såväl Linux som Windows. Har nog en tråd någonstans om det ska se om jag hittar den, om det möjligen var så att GParted tyckte att den var på just 8455 MB.

Tillägg: nej, mitt minne har nog migrerat två olika händelser. GParted tyckte att den nu trasiga disken i princip var oallokerad (då, medan den var helt okej) det har jag skrivit om. Hittar inte när/var jag skrev att en disk visades som typ 10 x större än vad den var.

Redigerad av Mikael63
Länk till kommentar
Dela på andra webbplatser

Jag är inte säker men jag ser att du har klistrat in Default logical geometry och i avsnittet efter (2.4) så står det hur många huvuden (heads) och skivor (discs) varje modell faktiskt har. Blir det rätt om du byter ut de 16 standardhuvudena mot 4 x 2, 3 x 2, 2 x 1 resp. 1 x 1?

  • Thanks 1
Länk till kommentar
Dela på andra webbplatser

För min ST9500325AS blir det då  4 x 2 (om det är så man ska tänka?) = 8 och då blir resultatet

Disk /dev/sdd - 4227 MB / 4031 MiB - CHS 16383 8 63, sector size=512

 

Så här tycker Testdisk att "geometry" är från början

Disk /dev/sdd - 500 GB / 465 GiB - CHS 60801 255 63, sector size=512

Storleken är här rätt varför jag inte skulle ha anledning att ändra på detta.

Varifrån dessa siffror kommer vet jag inte och man kan ju även säga att det är dit jag vill, en slags "reverse engineering". Hur kan man från tillgänglig information få fram 60801 Cylinders, 255 Heads?
Sectors och Sector size stämmer, åtminstone här, med vad som anges i databladet.

Okej, det kan ju vara frågan om "LBA Mode" som du @Cecilia var inne på tidigt i tråden. Att man då räknar på ett visst, annat, sätt?

Kanske är det så att man behöver kolla på "Guaranteed sectors" som i det här senaste fallet är 976773168.

Hm. kanske!

Om man väljer 255 Heads, av någon anledning. Kanske är det det högsta tillåtna värdet. Tar 976773168 och delar med 255 så får man 3830483,011764706
Inte en siffra rätt... men om man delar det med 63 (Sectors) får man 60801,317647059
60801 är vad Testdisk har som värde för Cylinders.

 

Länk till kommentar
Dela på andra webbplatser

1 timme sedan, Mikael63 sade:

Hm. kanske!

Om jag tar @X-Mens uppgifter med 1465149168 garanterade sektorer, delar med 255, delar med 63 får jag 91201,317647059.
Om jag lägger in 91201 i Testdisk:

image.png.883659372f6c0d31b34373b8b6635fbc.png

 

Storleken anges till exakt 750 GB om man ex tar
garanterade sektorer1465149168 / Heads 8 / 63 och lägger in resultatet som cylinders (och anger 8 som heads)
alternativt
garanterade sektorer1465149168 / Heads 16 / 63 och lägger in resultatet som cylinders (och anger 16 som heads)
ja man kan även använda 240 heads

Citat

The most common CHS head values are: 255, 240 and sometimes 16.

 

Redigerad av Mikael63
alternativ
Länk till kommentar
Dela på andra webbplatser

Delta i dialogen

Du kan skriva svaret nu och registrera dig senare, Om du har ett konto, logga in nu för att svara på inlägget.

Gäst
Svara i detta ämne...

×   Du har klistrat in innehåll med formatering.   Ta bort formatering

  Only 75 emoji are allowed.

×   Din länk har automatiskt bäddats in.   Visa som länk istället

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Skapa nytt...