linux-l: [The.Intruder at gmx.net: DRINGEND: LINUX aus Bootmana
Marco Tidow
martidow at cs.tu-berlin.de
Mi Jan 14 21:28:06 CET 1998
(14 Jan 98:Matthias Kranz <linux-l at mlists.in-berlin.de>:)
>-----Forwarded message from "Axl (C)" <The.Intruder at gmx.net>-----
<[...]
>Geht alles prächtig. Nun habe ich aber bei der Installation von Linux
>auch diesen LILO konfiguriert. Ich habe die Linux-Root Partition (bei
>mir /dev/hdb7) als auch die DOS Boot-Partition der ersten Platte (womit
>ich also zum oben genannten OS-Loader komme) eintragen lassen (keine
>Fehlermeldungen!) und LILO im Superroot der Linux-Partition installiert.
>Wenn man mit der oben genannten Betriebssystem-Konfiguration LILO auf
>den Master-Boot-Sektor von C:\ legt, kann man nach dem nächsten Start
>zwar erstmal LILO benutzen und auch daraus Win 95 laden, aber dann hat
>es sich auch erledigt. C:\ enthielt nach dem Beenden von Win 95 und
>erneutem Warmstart NICHTS mehr. Dos erkannte kein System mehr
>("Betriebssystem fehlt) und alle Recover Versuche schlugen fehl.
Offensichtlich passten w95 die partition-table geometrie (MasterBootRecord)
nicht mit "seiner" BIOS parameter-table im (DOS) boot-sector der C-Partition
zusammen... da reagiert es offensichtlich mit hektischen Korrekturen des
C:-bootsectors... beim 1.Start fand es noch die alte DOS-Platten Geometrie
im bootsector (disk-parameter-table) vor, nach reboot wurde es dunkel.
Abhilfe: Hellsehen oder die "bootsect.dos" (von NT waehrend seiner
Installation in C:\ gespeichert) Datei per binaerer Suche und/oder tool wie
norton-diskedit in der C:-partition auftreiben, darin stehen die alten Werte.
17h weniger... allerdings musst Du dann auch noch die Partitiontable (MBR)
zurueckbiegen :-( (macht von Hand keinen Spass).
Deshalb mal zwei kurze DOS "debug" (jaaaa :-) scripts,
das erste:
speichert die Partitiontable (MBR, 512 byte) ins file "parttbl0.bin".
c:\>debug <savpart0.dbg ODER auch mit "symdeb.exe"
c:\>symdeb <savpart0.dbg
das zweite:
UEBERSCHREIBT DIE VORHANDENE der als BIOS-device 0x80 fungierenden
Platte mit der Datei!!! (Achtung bei IDE-Wechselrahmen, eine zusaetzlich
vorhandene SCSI rutscht runter auf 0x80 (bootdrive), wenn die IDE-Platte
nicht drinsteckt!)
c:\>debug <loadptb0.dbg
c:\>symdeb <loadptb0.dbg
am besten von Diskette DOS (3.30 - 6.xx) booten und von dort (A:) hantieren!
Und, fuer Leute die gern experimentieren, es gelten die ueblichen DOS
Einschraenkungen (cyl.<1023, sector<64, hd<16), da ueber den alten
BIOS-interrupt Int13 gelesen/geschrieben wird.
savpart0.dbg:
-------------------------------
a 100
int 13
int 3
* read 02 01 sector
rax 0201
* targetbuffersegment
res ds
* targetbufferoffset
rbx 0400
* cyl-lsb cyl-msb startsector
* 7cccccc098sssss0y
rcx 0000000000000001y
* Kopf Laufwerk (HD +80h)
rdx 0080
g=100
db 5c0 l40
nparttbl0.bin
rcx 0200
w 400
<con
--------------------------bis inkl. der letzen Leerzeile!!!
loadptb0.dbg
--------------------------bis inkl. der letzen Leerzeile!!!
a 100
int 13
int 3
nparttbl0.bin
l 400
db 400 l200
* write 03 01 sector
rax 0301
* targetbuffersegment
res ds
* targetbufferoffset
rbx 0400
* cyl-lsb cyl-msb startsector
* ........ .. ......y
rcx 0000000000000001y
* Kopf Laufwerk (HD +80h)
rdx 0080
g=100
<con
--------------------------bis inkl. der letzen Leerzeile!!!
ABER VORSICHT damit, ja???
>(ich bin kein Experte!!!) nehme an, daß LILO das Laufwerk C:\ ins LINUX
>Format umgewandelt hat und sich somit alle Daten der anderen 3 Systeme
>weg waren.
Ne, ne, ist "bloss" einer von Millionen Sektoren futsch.
Kann aber schon etwas stoeren. Kenn ich :-)
Marco
Mehr Informationen über die Mailingliste linux-l