Sérült GRUB

 ( newbie14 | 2014. november 1., szombat - 1:06 )

Sziasztok!

Alaphelyzet a következő:
OS: Wheezy
Installnál md0 (/boot, sda1-sdb1-RAID1), és md1 (/, sda2-sdb2-RAID1), létrehozva.

sda3, sdb3 SWAP, de nincs RAID-ben. A disk fennmaradó területe üresen hagyva.

A telepítés után eszembe jutott, hogy kell sda4, és sdb4 is. Kiadtam a gdisk /dev/sda parancsot,
Partition number:4, megadtam a méretet, majd HEX code: fd00, és write.
Ugyanezt megcsináltam sdb-re is. Reboot után viszont megáll a Grub-nál.
Sikeresen hazavágtam.

A Rescue disk kivételével tudtok valamilyen orvoslást javasolni?
Annyi plusz infó még, hogy a Grub-ot megkerülve be tudok mindig boot-olni, de ez manuális megoldás, én pedig azt szeretném, hogy automatikusan menjen, tehát működjön úgy a grub, ahogy régen. Valamilyen grub javító trükkre gondolok, amit nem befolyásol a RAID. De ha nincs ilyen, akkor a bonyolult megoldások közül a legegyszerűbb érdekelne.

Továbbá, ha a fenti procedúrában valami hibát találtok, akkor minden építő kritikát szívesen fogadok.

Előre is köszönöm mindenkinek!

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

szia!

Testdisket már próbáltad?

http://www.cgsecurity.org/wiki/TestDisk

Azt eddig elfelejtettem említeni, hogy virtualbox-ban csináltam a RAID próbát 3.2.0-4-486-os kernellel.

A gdisk telepítése előtti állapot megvolt 1 külön mentésben, így azt vissza tudtam állítani.

A TestDisk-et eddig még nem használtam, de ha már ajánlottad, kipróbáltam a hibamentes állapoton is. Akkor azt mondta, hogy Intel partíciós táblát detektált az sda-n, és sdb-n. Analyse/Quick search után pedig Struktúra: OK

Ahogy az első bejegyzésemben is írtam, a Gdisk kiadásával vágtam haza a GRUB-ot.

Gdisk-nél a w után ezt írja:

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!!

Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sda.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.

Ezzel az állapottal is lefuttattam a TestDisk-et.
Ekkor már EFI GPT-t mond az sda-ra és az sdb-re.

Analyse után a partition oszlopban ezt látni az első 3 partíció után:
Invalid raid superblock
4 P Linux Raid
4 P Linux Raid

Nem elírás, 2x szerepel a 4 P Linux Raid!

Ezen bővebb infók ismeretében tudtok javasolni valamit, amivel ki tudom javítani a GRUB-ot, és esetleg tanácsot adni, hogy a jövőben hogyan járjak el hasonló esetben? (Értem ezalatt azt, hogy már az elején se hibázzak.)

A problémád abból következik, hogy MBR-nél valami ilyesmi a szerkezet:

MBR, senki földje, ide települ a GRUB, aztán jön az első filerendszer, stb. GPT esetén van egy MBR-szerűség, utána nagyjából 16 kB GPT. Na, ezzel írtad felül a Grub-ot. A gond az, hogy ha visszaállítod a Grub-ot, akkor meg a GPT-t vágod agyon. Eleve gdisk-kel kellett volna partícionálni, majd Grub-ot telepíteni. Gondolom, akkor több helyet hagy, s elfér a Grub is. Mellesleg manapság az fdisk is mintha 2048-as szektornál kezdené az első filerendszert, nem a 63-asnál, mint régen. Persze, ha Debian, akkor ott még őskor van szerintem.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Nekem wheezynél is 2048 rémlik, de egyébként őskor :)

Lehet. Őszintén szólva a valóságtól függetlenül nem bírok szabadulni attól a gondolattól, hogy Debian == régi technológiák és csomagok. Fedorán, ha jól emlékszem, 3.5 éve systemd van, ez 6, most már a 7. release-t foglalja magában, míg Debian esetében azon megy a vita, hogy akkor systemd, vagy shell script. Vagy mondjuk Fedorán 3.17.2-es kernelt használok, Debian biztosan régebbit, bár nincs kedvem utánanézni, mi az aktuális.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

"Eleve gdisk-kel kellett volna partícionálni"
Azt hol találom a telepítőnél? Én mindig úgy szoktam, hogy amikor átvergődök a nyelvi beállításokon, és eljutok odáig, hogy "Partition disks", akkor mindig a Manualt választom. Utána meg hadd szóljon! Én nem láttam közben választási lehetőséget. Vagy ilyenkor átlépsz console-ba?

Az őskorról meg annyit, hogy ennek ellenére 1 stabil rendszerről van szó, aminél való igaz, kicsit konzervatívabban gondolkodnak. De az alapok gyakorolgatásához ez is megteszi.

Eddig, ha speciális igényeim voltak, amit a telepítő nem kínált fel, azt úgy oldottam meg, hogy boot-oltam egy live rendszert, kialakítottam a partíciókat, aztán erre telepítettem.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

A live-os is 1 jó megoldás. Igazad van, tényleg hasznosnak tűnik így csinálni.

Viszont időközben sikerült kitapasztalnom azt, hogyan tudom a jövőben a fenti esetet úgy megoldani, hogy mindig jó legyen, soha ne fusson hibára. A jó megoldás ez lett:
Visszaállítottam az eredeti állapotot. Utána fdisk-kel létrehoztam sda4-et és sdb4-et. Ezt követően cfdisk-ben a type-ot linux raid autodetect-re állítottam. Utána már lehetett építeni a tömböt. Igaz
resync=PENDING-gel kezdett, de az mdadm --readwrite-ot kiadva rá már tudta folytatni és be is fejezte idővel. :)

Köszönöm mindenkinek a javaslatokat! Sok hasznos ötletet adtatok, amiket a későbbiekben is fel tudok használni.

Ha mar live, en gparted-et hasznalnek. Bar GUI-s, sokkal okosabb, mint egynehany konzolos cucc, raadasul egyszerubben is kezelheto.

A sysrescuecd azt hiszem, pont hozza is.
--
Ki oda vágyik, hol száll a galamb, elszalasztja a kincset itt alant:

()=() 
('Y') Blog | @hron84
C . C Üzemeltető macik
()_()

sub