Portál AbcLinuxu, 13. května 2025 23:50

Dotaz: obnova MBR a partition table - system bezi

25.7.2008 01:27 xsmejka1 | skóre: 7
obnova MBR a partition table - system bezi
Přečteno: 2771×
Odpovědět | Admin
Ahoj, jsem v mirne prekerni situaci, prosim pomozte. Trestuhodnou nepozornosti jsem si smazal MBR na disku, proste jsem si spletl pismenka. Dobre je, ze system (ubuntu 8.04) stale bezi, a s fs lze korektne pracovat, predpokladam az do rebootu ci mountu.

Podobny problem se asi resil zde, no, muj system jeste zije.

Moje otazka zni: jde nekde v bezicim systemu (/proc) nebo pomoci nejakeho programu zjistit obsah partition table pred smazanim (pri bootu), popr. separatne pro jednotlive fs? Nerad bych se pustil do nejakych elaboraci s gpart ci fdisk dokud existuje nejake jistejsi reseni.

Co nejlepe pouzit pro obnovu, fdisk, gpart -W, cfdisk?

cat /proc/partitions
major minor  #blocks  name

   8     0  156290904 sda
   8     1   61440088 sda1
   8     2          1 sda2
   8     5   83749648 sda5
   8     6     971901 sda6
   8     7   10120918 sda7

sda1 a sda5 je ntfs, sda6 swap, sda7 reiserfs.

Dale: predpokladam, ze po zapisu partition table pujde provest grub-install. Pred havarii jsem z grubu bootoval i winxp ze sda1. Da se ocekavat ze to pujde dal, nebo se mam pripravit na dalsi hruzy s nejakym fixmbr a spol?

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

Odpovědi

25.7.2008 08:03 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
Rozbalit Rozbalit vše Re: obnova MBR a partition table - system bezi
Odpovědět | | Sbalit | Link | Blokovat | Admin
man fdisk

       -l     List the partition tables for the specified devices and then exit.
              If no devices are given, those mentioned in /proc/partitions (if that exists) are used.
[root@fedora9 ~]# fdisk -l

Disk /dev/sda: 8 589 MB, 8 589 934 592 bajtů
hlav: 255, sektorů na stopu: 63, cylindrů: 1 044
Jednotky = cylindry po 16065 * 512 = 8 225 280 bajtech
Identifikátor disku: 0x0003b001

Zařízení Zavádět   Začátek       Konec    Bloky    Id  Systém
/dev/sda1             979        1044      530145   82  Linux swap/Solaris
/dev/sda2   *           1          13      104391   83  Linux
/dev/sda3              14         978     7751362+  83  Linux

Diskové oddíly jsou chybně seřazeny
[root@fedora9 ~]#
Mam pocit, ze tam je vse, co je pro obnovu partition tabulky potreba. Pokud ne, prosim zkusenejsi, aby me opravili :-) Co se tyka tech XP si myslim, ze by to melo jit.

Dejv
Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
Heron avatar 25.7.2008 09:12 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: obnova MBR a partition table - system bezi
Ano, pokud oddíly nacvaká do fdisku (fdisk -l je pouze vypíše) přesně tak jak byly, mělo by být vše v pořádku. Pokud přemazal nejen rozdělení disku, ale i zavadeč, je nutné znovu nastavit grub.
25.7.2008 10:04 xsmejka1 | skóre: 7
Rozbalit Rozbalit vše Re: obnova MBR a partition table - system bezi
To je prave to. Premazal jsem MBR - naplnil nulama prvnich 512 B, partition table je pokud to dobre chapu poslednich 64B z tohoto prvniho bloku. Vysledek je takovy, ze treba fdisk -l nema co precist a napise pouze neco ve smyslu:
Disk /dev/sda doesn't contain a valid partition table
Protoze jsem vsak zatim nerebootoval a kernel ma informace o partitions a jejich umisteni nekde ulozene, vse funguje jak ma. Jedine co neco vraci, je gpart /dev/sda:
Begin scan...
Possible partition(Windows NT/W2K FS), size(60000mb), offset(0mb)
Possible partition(Windows NT/W2K FS), size(81786mb), offset(60000mb)
Possible partition(Linux swap), size(981mb), offset(141786mb)
Possible partition(ReiserFS filesystem), size(9883mb), offset(142771mb)

*** Fatal error: dev(/dev/sda): seek failure.
Pomoci gpart -W by to melo jit presvihnout zpet, ale bojim se te chybove hlasky. (Jinak rozlozeni oddilu odpovida.)
25.7.2008 17:56 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
Rozbalit Rozbalit vše Re: obnova MBR a partition table - system bezi

Přečti si znovu ten man fdisk, konkrétně parametr -l (když mu neudáš disk, tak to čte z /proc/partitions) a mojí první odpověď (je tam fdisk -l, ne fdisk -l /dev/sda a výstupem je rozdělení disků (kvůli tomuhle dlouhému u se pachtím s diakritikou ;-)) i s typama fs). Ostatně Heron to ještě potvrdil.

Ten gpart to jenom odhaduje (Possible...), kdežto fdisk to čte z toho, co při startu přečetl z disků.


Dejv
Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
25.7.2008 18:28 Peter Fodrek
Rozbalit Rozbalit vše Re: obnova MBR a partition table - system bezi
Ak ti dobre rozumiem tak ak ma jeden disk staci mu spustit fdisk bez parametra a a cez w ich zapisat do MBR bez zmeny zvysku disku
25.7.2008 19:50 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
Rozbalit Rozbalit vše Re: obnova MBR a partition table - system bezi

I kdyby tech disku mel treba 10. Tu prvni odpoved jsem psal z prace, tam mam XP (a Fedoru9 s jednim diskem ve VMware). Doma mam 3 disky a

[dskola@dejf2 ~]$ /sbin/fdisk -l

Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylindry of 16065 * 512 = 8225280 bytes

Zařízení Boot      Start         End      Blocks   Id  System
/dev/hda1               1           2       16033+  78  Neznámý
/dev/hda2               3        2850    22876528+   7  HPFS/NTFS
/dev/hda3            2851        9729    55255567+   f  W95 Ext'd (LBA)
/dev/hda5            2851        3341     3943926    b  W95 FAT32
/dev/hda6            3342        3672     2658726    b  W95 FAT32
/dev/hda7            3673        5761    16779861    7  HPFS/NTFS
/dev/hda8            5762        8651    23213893+  83  Linux
/dev/hda9            8652        9696     8393931   83  Linux
/dev/hda10           9697        9729      265041   82  Linux swap / Solaris

Disk /dev/hdb: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylindry of 16065 * 512 = 8225280 bytes

Zařízení Boot      Start         End      Blocks   Id  System
/dev/hdb1               1          13      104391   83  Linux
/dev/hdb2              14        1024     8120857+  83  Linux
/dev/hdb3            1285        4734    27712125    f  W95 Ext'd (LBA)
/dev/hdb4            4735        4865     1052257+  82  Linux swap / Solaris
/dev/hdb5            1285        1546     2104483+  83  Linux
/dev/hdb6            1547        4734    25607578+  83  Linux

Disk /dev/hdd: 200.0 GB, 200049647616 bytes
255 heads, 63 sectors/track, 24321 cylinders
Units = cylindry of 16065 * 512 = 8225280 bytes

Zařízení Boot      Start         End      Blocks   Id  System
/dev/hdd1               1        8355    67111506   83  Linux
/dev/hdd2            8356        8367       96390   83  Linux
/dev/hdd3            8368       13920    44604472+   f  W95 Ext'd (LBA)
/dev/hdd4           13921       24321    83546032+  83  Linux
/dev/hdd5            8368        8629     2104483+  83  Linux
/dev/hdd6            8630       12367    30025453+  83  Linux
/dev/hdd7           13791       13920     1044193+  82  Linux swap / Solaris
[dskola@dejf2 ~]$
Ja bych si z tohodle vystupu opsal potrebne udaje (zacatky a konce partisen a typy fs), spustil fdisk /dev/pozadovany_disk a postupne vytvoril nove partisny. Pak samozrejme "w" (zapsat MBR). Mozna by to slo i nejak "zautomatizovat" a fdisku predhodit nejaky vstupni soubor s datama, jake partisny ma kde vytvorit, ale v takovychle pripadech mam radeji rucni praci. fdisk pracuje pouze s MBR, nikam jinam na disk nesaha (protoze nema duvod).

Samozrejme pokud tazatel do MBR zapsal 512 nul a pokud to byl bootovaci disk, tak musi znovu nainstalovat bootloader (grub, lilo, xosl...). Pokud to nebyl bootovaci disk, tak staci jenom ta partition tabulka (fdisk).


Dejv
Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
27.7.2008 18:24 xsmejka1 | skóre: 7
Rozbalit Rozbalit vše Re: obnova MBR a partition table - system bezi
Diky za odpovedi. Man fdisk jsem samozrejme cetl nekolikrat, a z toho co jsem z popisu parametru -l (If no devices are given, those mentioned in /proc/partitions (if that exists) are used.) pochopil, je to, ze pokud mu nedas jako dalsi prametr device disku, precte si nazvy devices ktere ma vylistovat v /proc/partitions. Pak zacne nacitat (u me vynulovany) MBR (PT) devices, co tam najde (u me /dev/sda) jednotlive partition tables vylistuje. Bohuzel jsem to pochopil spravne a ono se to chova jak ma:
root@nbx:~# fdisk -l

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

Disk /dev/sda doesn't contain a valid partition table
Pokud neveris, muzes si to zkusit :-). Zaloha puvodniho MBR vrele doporucena.

Takze v teto situaci jsou tyto informace zrejme ulozeny pouze nekde v kernelu, resp. jeho pameti. Muj puvodni dotaz znel na to, jak tyto informace ziskat, protoze /proc/partitions neukazuji vse, co by bylo potreba.
28.7.2008 09:00 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
Rozbalit Rozbalit vše Re: obnova MBR a partition table - system bezi
Aha, tak to jsou pro me novinky :-) Promin. Na smazanem MBR jsem to nezkousel a ani man jsem nestudoval nijak vic, takze pripoustim, ze tahle skutecnost mi unikla. V tom propade me napadaji mozna reseni:
  • zkusit, co rekne testdisk
  • Verit programum jako je gpart
  • Pokud vis, v jakem poradi byly partisny fyzicky na disku (sda1 muze byt klidne jako treti, viz moje prvni reakce) a ze mezi partisnama nebyl neobsazeny prostor, muzes zkusit vytvorit partisny fdiskem, ale zadavanim nikoliv pocatecniho a koncoveho cylindru, ale velikosti (teda tohle jsem nezkousel a momentalne nemam moznost to zkusit, takze doufam, ze to fdisk opravdu umi a ze ti neradim neco, co nelze provest ;-) )
  • hledat dal
Samozrejme predpokladam, ze existuji i jine moznosti, to jen ja o nich nevim :-)

Dejv
Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
28.7.2008 09:30 xxlugh | skóre: 9 | Hlásná Třebaň
Rozbalit Rozbalit vše Re: obnova MBR a partition table - system bezi
To co pise Dejv ve treti odrazce jsem (bohuzel) musel nedavno prakticky vyzkouset - smazal jsem si tabulku rozdeleni disku. MBR mam nastesti zazalohovanu, tak jsem ji bez potizi obovil, ale co mi doslo az po chvili, ten disk mel i logicke oddily a ty se (pochopitelne) neobnovily. Byly dva a pamatoval jsem si, ze posledni - swap - jsem vytvarel presne 512 MB. Tak jsem to zkusil, nastavil v fdisk 512 MB na konec volneho mista a zbytek, cca 40 GB jsem vytvoril naslepo a svete div se, klaplo to dokonale a vse slape jako predtim.

S tim souvisi i muj laicky dotaz: jak zalohovat tabulku rozdeleni disku tak abych byl schopen obnovit i logicke oddily?
28.7.2008 11:44 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
Rozbalit Rozbalit vše Re: obnova MBR a partition table - system bezi
Ulozit si vypis fdisku? :-) Ten vypisuje i logicke disky. Pri obnove je (bohuzel?) nutna rucni prace. Ale jak uz jsem se zminil v nektere predchozi reakci v teto diskusi, u takovychto citlivych operaci mam radeji rucni praci (kde vim, co delam), nez nejakou automatiku. Jinak o nejakem nastroji, ktery by zazalohoval a pak umel obnovit i logicke disky nevim (a z vyse zmineneho duvodu mi nechybi a nehledam ho ;-) )

Dejv
Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
28.7.2008 11:56 VSi | skóre: 28
Rozbalit Rozbalit vše Re: obnova MBR a partition table - system bezi
Používal jsem sfdisk, umí i rozšířené oddíly.

sfdisk -d /dev/disk > backup.parts -- dump, třeba do souboru

sfdisk /dev/disk < backup.parts -- obnova
28.7.2008 21:23 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
Rozbalit Rozbalit vše Re: obnova MBR a partition table - system bezi
Diky za tip, treba to nekdy nekomu pomuze. Jak jsem rekl, tyhle citlive veci si radeji delam rucne :-)

Dejv
Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
29.7.2008 14:40 xxlugh | skóre: 9 | Hlásná Třebaň
Rozbalit Rozbalit vše Re: obnova MBR a partition table - system bezi
Dobra rada :-) Taky preferuji rucni praci, ale napadlo mne jestli nelze podobne jednoduse jako MBR zalohovat i rozdeleni logickych oddilu. Zalohovat vypis fdisku je zcela odlisne reseni, ale dokonale mi vyhovuje.
28.7.2008 09:54 xxl | skóre: 26
Rozbalit Rozbalit vše Re: obnova MBR a partition table - system bezi
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mrkni se na tohle. Třeba ti to pomůže. http://www.faqs.org/docs/Linux-mini/Partition.html#RECOVERING
29.7.2008 11:02 xsmejka1 | skóre: 7
Rozbalit Rozbalit vše Re: obnova MBR a partition table - system bezi
Odpovědět | | Sbalit | Link | Blokovat | Admin
Takze uz jsem se zase dostal k tomu to konecne opravit, nepodarilo se mi sice restaurovat extended partisnu, takze logicke partisny jsou ted primarni, nicmene to funguje. gpart -W provest neslo, takze jsem opravoval rucne fdiskem podle udaju z vypisu gpart, ktery se mi zdal nejpravdepodobnejsi.

Ted uz jen rozchodit bootovani windows a je to v cajku. Diky vsem za reakce.

Zaver: chybama se clovek uci.

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.