Portál AbcLinuxu, 25. dubna 2024 01:27


Dotaz: velikost sektoru

14.8.2022 17:08 JiraZy
velikost sektoru
Přečteno: 562×
Odpovědět | Admin
Přílohy:
Na externím disku se mi objevily chyby. Pomocí ddrescue jsem jej zkopíroval celý (tj. včetně MBR) na jiný disk stejné velikosti. Po zkopírování ale cílový disk není normálním způsobem přopijitelný. Fdisk na něm udává velikost sektoru 512, kdežto na zdrojovém (chybovém) udává 4096. Přitom podle smartctl i hdparm jsou oba disky shodné nejen ve velikosti, ale i "formátování" 512e, tj. 512 logická, 4096 fyzická velikost sektoru. Můžete mi prosím poradit, proč je zkopírovaná partition table na těhto discích interpretována odlišně a jak to napravit?

Díky, Jirka Zl.

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.8.2022 19:24 ewew | skóre: 40 | blog: ewewov_blog
Rozbalit Rozbalit vše Re: velikost sektoru
Odpovědět | | Sbalit | Link | Blokovat | Admin

Skopirovanie na rovnako veľký disk nemusí byť vždy pravda. Vždy je nutné overiť reálne pametre disku. V tomto prípade logická a fyzická veľkosť sektorov. Z tohto dôvodu si myslím, že kopirovanie diskov hlavne ak ide o 1:1 je lepšie urobiť do súboru a potom z toho obrazu disku vytiahnuť data. Podľa môjho názoru robiť 1:1 kópiu disk na disk iného výrobcu je problémove.

Root v linuxe : "Root povedal, linux vykona."
15.8.2022 00:24 JiraZy
Rozbalit Rozbalit vše Re: velikost sektoru
Divné je, že hdparm i smartctl ukazují shodné parametry disku včetně logické a fyzické velikosti sektoru.
15.8.2022 01:00 JiraZy
Rozbalit Rozbalit vše Re: velikost sektoru
Ah, přiložené soubory jsou asi na čtení moc velké. Tak jen zkrácený výpis problémových údajů:

zdrojový disk Samsung(Seagate):

jizhp440:~ # smartctl -i /dev/sdc|fgrep -i 'sector size'
Sector Sizes: 512 bytes logical, 4096 bytes physical
jizhp440:~ # hdparm -I /dev/sdc|fgrep -i 'sector size'
Logical Sector size: 512 bytes
Physical Sector size: 4096 bytes
jizhp440:~ # fdisk -l /dev/sdc
Disk /dev/sdc: 2.73 TiB, 3000592977920 bytes, 732566645 sectors
Disk model: D3 Station
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x4a73c41f

Device Boot Start End Sectors Size Id Type
/dev/sdc1 * 64 732564063 732564000 2.7T 7 HPFS/NTFS/exFAT

----------------------------------------
cílový disk Western Digital Green:

jizhp440:~ # smartctl -i /dev/sdc|fgrep -i 'sector size'
Sector Sizes: 512 bytes logical, 4096 bytes physical
jizhp440:~ # hdparm -I /dev/sdc|fgrep -i 'sector size'
Logical Sector size: 512 bytes
Physical Sector size: 4096 bytes
jizhp440:~ # fdisk -l /dev/sdc
Disk /dev/sdc: 2.73 TiB, 3000592982016 bytes, 5860533168 sectors
Disk model:
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 4096 bytes / 33553920 bytes
Disklabel type: dos
Disk identifier: 0x4a73c41f

Device Boot Start End Sectors Size Id Type
/dev/sdc1 * 64 732564063 732564000 349.3G 7 HPFS/NTFS/exFAT
14.8.2022 19:30 R
Rozbalit Rozbalit vše Re: velikost sektoru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nemas nahodou disk pripojeny cez nejaky USB prevodnik?
15.8.2022 00:28 JiraZy
Rozbalit Rozbalit vše Re: velikost sektoru
Ano, oba disky jsou připojené do USB. Zdrojový je jako USB už prodáván, vevnitř asi nějaký převodník má. Cílový je SATA disk WD30EZRX vložený do "dokovací stanice I-TEC HDD Docking Station Advance USB 3.0 clone (JP911a1)".
14.8.2022 23:37 ET
Rozbalit Rozbalit vše Re: velikost sektoru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Korektni by bylo vytvorit stejne velky (nebo vetsi) oddil na novem disku a pustit ddrescue primo nad oddilama (tj. ddrescue if=/dev/sdX1 of=/dev/sde1 ...)

pokud to nechces znova kopirovat a ses si jistej, ze se zkopiroval cely disk, mozna zabere jen zvetseni existujiciho oddilu na novem disku na stejnou (bo vetsi) velikost - pak by to ale chtelo spustit chkdsk/kontrolu nad novym oddilem

IMHO kopirovanim pres soubor, jak radi nekdo nade mnou, ti v tomhle pripade nijak nepomuze
14.8.2022 23:57 ET
Rozbalit Rozbalit vše Re: velikost sektoru
ahh, jeste se ti posunul i zacatek oddilu, takze pokud nehces disk cely kopirovat znova, tak musis posunout i zacatek oddilu na novem disku na 512.sektor

fdisk na novem disku by pak mohl vypadat takto (konec klidne posun na posledni sektor disku):
Device     Boot Start       End   Sectors  Size Id Type
/dev/sde1  *    512    5860512504 ...      2.7T  7 HPFS/NTFS/exFAT
15.8.2022 01:12 JiraZy
Rozbalit Rozbalit vše Re: velikost sektoru
Z čeho usuzuješ, že se posunul začátek oddílu? Já na obou discích vidím Start 64.

A jak by se mohl posunout při kopírování disku na disk?

ddrescue -f /dev/sdd /dev/sdc /home.data/jzl/tmp/jizbox/Samsung.rescue/ddrescue.log
15.8.2022 03:35 ET
Rozbalit Rozbalit vše Re: velikost sektoru
srovnej ty vypisy a bude to jasnejsi (hint: koukni na velikosti tech oddilu):
Device     Boot Start       End   Sectors  Size Id Type
/dev/sde1  *       64 732564063 732564000  2.7T  7 HPFS/NTFS/exFAT
Device     Boot Start       End   Sectors   Size Id Type
/dev/sde1  *       64 732564063 732564000 349.3G  7 HPFS/NTFS/exFAT
pocet sektoru je v obou pripadech 732564000, ale na starem disku je sektor 4096b, na novem jen 512b - tim ze je ten udaj zapecenej v tabulce oddilu (jednotkou je sektor) a tu si prenesl 1:1, rozsyplo se ti to.

Takze bud posunout zacatek oddilu, aby zacinal na (64*4096)/512, nebo lepe vytvor na novem disku stejne velky/vetsi oddil a pouzij ddrescue jen na oddil ;)
15.8.2022 08:09 JiraZy
Rozbalit Rozbalit vše Re: velikost sektoru
O rozdíle ve velikosti oddílu vím od začátku a pokládám to za vypočítaný údaj, důsledek rozdílu v sector size. A na to se ptám od začátku - proč se sector size liší, když hdparm i smartctl tvrdí, že jsou stejné.

Ale částečně mi to došlo - výpis z hdparm obsahuje u starého disku "Logical Sector-0 offset: 0 bytes", na novém disku to nepíše. Což by mohl být ten shift, o kterém píšeš a který jinde nevidím. (Dokonce i hdparm -g dává pro oba disky totéž: geometry = 2861588/64/32, sectors = 5860533160, start = 0). Pak je tam ještě rozdíl ve velikosti disku v bytech podle fdisk. Ten jsem si mylně vysvětloval jako odečtené vadné sektory, ale je to o 4096b, takže asi ten shift. Moc díky za nápovědu.

Otázka teď je, co s tím. Chci se vyhnout novému kopírování, protože s každým pokusem přibývá vadných sektorů. A kopírovat jen určitou část z nového disku se špatným formátem se bojím - budu mít problém, jak vypočítat a zadat správně hranice pro kopírování. Nebo by se to už zkopírované dalo dokonce nějak připojit pomocí losetup?
15.8.2022 10:34 ET
Rozbalit Rozbalit vše Re: velikost sektoru
proč se sector size liší, když hdparm i smartctl tvrdí, že jsou stejné?

nejsou!!!
  • SAMSUNG: Sector size (logical/physical): 4096 bytes / 4096 bytes
  • WD: Sector size (logical/physical): 512 bytes / 512 bytes
Udelal si bitovou kopii disku - na starem disku zacina oddil na 262144Byte (64*4096B), ale na novem ti zacina oddil na 32768Byte (64*512B) - vzdy je to 64.sektor, ale velikost sektoru je jina!!! Proto ten "posun" na spravny sektor.

Bud posun zacatek oddilu spravne a konec natahni na max, nebo lepe - vytvor GPT a novy oddil a pouzij ddrescue na kopirovani oddilu

15.8.2022 11:52 JiraZy
Rozbalit Rozbalit vše Re: velikost sektoru
Ten rozdíl v sector size píše fdisk, nikoli hdparm či smartctl. A nevím proč. Dík za ty výpočty, použiji.
15.8.2022 01:04 JiraZy
Rozbalit Rozbalit vše Re: velikost sektoru
Při velikosti sektoru 512 nejde oddíl zvětšit na požadovanou velikost. Musel bych změnit partition table format z DOS na GPT. Nebo zvětšit velikost sektorů...
Řešení 1× (JiraZy (tazatel))
15.8.2022 04:01 ET
Rozbalit Rozbalit vše Re: velikost sektoru
mno v tom pripade vytvor na novem disku GPT se stejne velkym/vetsim oddilem a pouzij ddrescue primo na oddil, nikoliv na cely disk ;)
17.8.2022 22:37 JiraZy
Rozbalit Rozbalit vše Re: velikost sektoru
Posun začátku oddílu ve mně vzbudil podezření, že nejde o bitovou kopii, ale sektorovou, tj. vstupní 4096 sektor do výstupního 512. Tak jsem se rozhodl pro vytvoření GPT a kopii oddíl na odddíl po 4096 bytech. Ale teprve až jsem se dostal k dalšímu volnému disku, nechtěl jsem riskovat. Nakonec se ani neztratily žádné další sektory, naopak se podařilo přečíst další (s pomocí mrázáku ledničky).

ddrescue -f -r 5 -d -b 4096 /dev/sdd1 /dev/sdc1 /home.data/jzl/tmp/jizbox/Samsung.rescue/Ironwolf.log

Mnohokrát opakováno.

Takto vytvořená kopie je už normálně čitelná. Zbývá zjistit, které soubory jsou postižené. Je to NTFS a tak se chystám na to použít chkdsk ve windows na původní disk s kontrolou povrchu. Označí toho asi víc, než se nepodařilo přečíst ddrescue, ale už to bude značně omezený počet souborů k další kontrole.
17.8.2022 23:06 X
Rozbalit Rozbalit vše Re: velikost sektoru
Je s podivem, ze ddrescue ma stale 512 jako default i dnes a kdyz to clovek prehledne ma problem:
-b bytes --sector-size=bytes Sector (hardware block) size of input device in bytes (usually 512 for hard discs and 3.5" floppies, 1024 for 5.25" floppies, and 2048 for cdroms). Defaults to 512.
18.8.2022 06:16 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: velikost sektoru
Pokiaľ budú výrobcovia diskov tvrdiť že ich HW má 512b bloky, tak bude mať tá východzia hodnota zmysel.

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.