sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #26795
SV: at slette en linux distr med LILO
-----Oprindelig meddelelse-----
Fra: Carsten Svaneborg [mailto:carsten.svaneborg@xxxxxxxx]
Sendt: 30. august 2000 08:28
Til: sslug-teknik@xxxxxxxx
Emne: Re: [TEKNIK] at slette en linux distr med LILO
> Det virker som om LILO stadig ligger og roder rundt, men hvordan kommer
jeg
> af med den ?
Hvis det er til dos så fdisk /mbr sletter den.
--
No matter how fast light travels it finds *
the darkness has always got there first, * Carsten Svaneborg
and is waiting for it. * zqex at risoe.dk
-- (Terry Pratchett, Reaper Man) *
----------------------------------------------------------------------------
---
Jeg har oplevet, at en MS DOS 6.22 IKKE har kunnet slette/ændre en
boot-sektor.
Selv ikke FDISK /MBR har kunnet rette op på det. (Jeg har dog ikke prøvet af
low-
level formattere denne HDD, da det betragtede dette som en for drastisk
reaktion på
det problem.) Jeg løste problemet ved at slette hele sektoren med følgende
lille
Assembler rutine: (kræver DOS indlagt):
;
; Læs først sektor 1 på spor 00
; BOOT sektoren er altid beliggende her.
;
MOV AX,CS ; Flyt aktuelle Segment til
MOV DS,AX ; Til segment <DS>
MOV ES,AX ; Og til segment <ES>
L1: MOV BX,1000H ; <BX> = adresse på buffer-areal
MOV CX,0001H ; Sæt spor og sektor (CH = spor 00)
(CL = sektor 1)
MOV DX,0080H ; Sæt side og drev
; (DH = side 00) (DL = drev
(HDD1 (C:) = 80H) (HDD2 (D:) = 81H) (E : 82H) (F : 83H) --->
;
(FDD1 (A:) = 00H) (FDD2 (B:) = 01H)
MOV AX,0201H ; Læs 1 sektor -- AH = 2 = Læs
et antal sektorer (AL) bestemmer antallet
INT 13H ; Via BIOS
;
; NULSTIL BUFFER, SOM SENERE SKAL OVERFØRES TIL BOOT-SEKTOR
;
L2:
SUB AX,AX ; <AX> indeholder nu bare 00
MOV CX,256 ; Sæt længde af buffer i WORDS (512 bytes =
256 WORDS)
MOV DI,1000H ; Sæt adresse på buffer
REP STOSW ; Nulstil buffer
;
; OVERFØR NU BUFFER TIL SEKTOR 01 SPOR 00
;
L1: MOV BX,1000H ; <BX> = adresse på buffer-areal
MOV CX,0001H ; Sæt spor og sektor (CH = spor 00)
(CL = sektor 1)
MOV DX,0080H ; Sæt side og drev
; (DH = side 00) (DL = drev
(HDD1 (C:) = 80H) (HDD2 (D:) = 81H) (E : 82H) (F : 83H) --->
;
(FDD1 (A:) = 00H) (FDD2 (B:) = 01H)
MOV AX,0301H ; Skriv 1 sektor -- AH = 2 =
skriv et antal sektorer (AL) bestemmer antallet
INT 13H ; Via BIOS
INT 20H ; Afslut program
Programmet virker. Det nulstiller hele bootsektoren. Siden hen kan FDISK
(DOS) så klare resten.
Note: Hvis du ikke er interesseret i at få den originale boot-sektor læst,
kan du droppe linierne mellem L1 og L2.
Resten er "DØD"-nødvendigt.
Med venlig hilsen
Chr Hemdrup