← Back to team overview

sslug-teknik team mailing list archive

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