Změna typu partition na 0x05 (extended)
To |
czdebian-l zavinac debian bod cz |
From |
Petr Heřman <ph zavinac lf2 bod cuni bod cz> |
Date |
Mon, 7 Mar 2005 12:22:18 +0100 |
Mail-followup-to |
czdebian-l zavinac debian bod cz |
User-agent |
Mutt/1.3.28i |
Dotazy:
1) Je v base systému ve woody nebo sarge nějaká utilita,
kterou se dá změnit typ partition na 0x05 (extended)?
2) Když ne v base, tak někde v celé distribuci?
3) fdisk umožňuje nastavení extended partition jako bootovací,
cfdisk ne. Je to něco nedoporučeníhodného anebo proč to
v tom sfdisku nejde? V LILO-HOWTO se to odjakživa uvádí
jakožto celkem korektní eventualita.
4) Myslíte si, že logická partition je méně odolná proti
různým nehodám než fyzická?
5) Nemá někdo odzkoušenou nějakou 'very light' směsku
debianích balíků pro ppp dial-up přístup, browser,
mailer a pár nějakých dalších kancelářských programů
pro nepříliš počítačově zdatného uživatele?
------------
Včerejší kauza (pro zájemce):
Chtěl jsem doma na svém kompu dát dohromady nějakou jednoduchou
distribuci, založenou na Debianích balících, pro kamaráda
v důchodovém věku, co má doma Pentium 120 MHz, 32MB RAM,
2GB HDD IDE, UMAX SCSI scanner, bublinka Canon a
Inet dial-up ppp přes Arachne a má s tím pořád nějaké problémy.
Mám doma na jednom IDE HDD:
- sarge vmlinuz-2.6.0 a data na /dev/hda1 45GB extended rozdělenou
na logické /dev/hda5-hda15
- na /dev/hda2 2 GB jsem si pro inspiraci nainstaloval Morphix
vmlinuz-2.4.22-1-k7
- na /dev/hda3 nějaká další data
- na /dev/hda4 2GB starý woody vmlinuz-2.2.20-idepci - jen base
system jako záchranný.
Nabootuju Morphix z /dev/hda2, koukám na kppp, jak to tam funguje -
jako user jsem neuspěl, musel jsem jako root - pak chci nabootovat
zpátky sarge a všechny /dev/hda5-hda12 jsou v háji!
(Možná není dobrý nápad dávat si cenná data do logické partition?)
Nabootuju woody a cfdisk mi ukáže, že partition hda1 má typ 0x15 (unknown).
Tak to nechápu, jak mi to ten Morphix nebo kdo mohl tak zmršit?
Rozsah katastrofy jsem nedokázal odhadnout, řekl jsem si, zkusím
vrátit ten flag na 0x05 (extended) a uvidim. Ale cfdisk takovou
operaci odmítne udělat, že prý se musí nejdřív celá partition
zrušit a vytvořit nová! To bych si dal! fdisk daké nechtěl.
sfdisk asi neumí typ změnit vůbec, jen vytvořit nové.
Tak jsem:
# dd if=/dev/hda count=1 ibs=512 of=mbr.blby.hda
a chtěl to tam opravit natvrdo, ale zase jsem v tom base woody
nenašel žádný binární editor (a celou distribuci woody jsem neměl
po ruce, nejsem doma na Inetu).
mc viewer umí koukat v hexa módu, ale editovat nikoli.
Tak jsem pomocí něj alespoň objevil tu podezřelou 0x15
a její offset 0x1c2, protože
# od -x mbr.blby.hda
sice dumpuje hexa, ale offsety vypisuje oktalově a nechtělo
se mi to přepočítávat.
Napadlo mě přebootovat do DOSu a nasadit osvědčený diskedit
z Nortonových utilit, ale přišlo mi to trapný se s tím Debianem vzdát.
Nakonec jsem s kapičkami studeného potu na čele:
# opravmbr.pl
for ($i=0; $i<512; $i++) {
read (STDIN, my $c, 1);
if($i==0x1c2) {$c = chr(0x05);}
print $c;
}
# perl -w opravmbr.pl < mbr.blby.hda > mbr.opraveny.hda
# dd if=mbr.opraveny.hda count=1 ibs=512 of=/dev/hda
# sync
# shutdown -r now
a 'Gloria in excelsis Deo' ono se mi to nabootovalo!
Ale pro příště - řešíte někdo takové případy nějak elegantněji?
Díky,
Petr Heřman
Partial thread listing: