Just nu i M3-nätverket
Gå till innehåll

automatisk wipe + fdisk + format


Anp

Rekommendera Poster

Jag tänkte göra en helautomatisk soparent-diskett.

Först kör jag Wipe (som nån tipsade om tidigare idag), och skapar därefter partition med fdisk.

Men en fdisk kräver ju att man gör en omstart innan man kan formatera enheten.

Hur gör jag för att få FORMAT att exekveras efter reboot istället för Wipe på nytt, och igen...?

På nåt sätt måste man ju kunna känna av om enheten är nypartitionerad eller liknande.

Är det nån som sitter på en elegant lösning?

 

/A

Länk till kommentar
Dela på andra webbplatser

Hmm... kommer på två sätt som inte är eleganta. :)

 

Antingen, att via en BAT-fil eller något.. göra något i stil med:

 

if exist c:\*.* goto WipeIt
format
goto slut
:WipeIt
wipe
:slut

 

men.. då måste det finnas filer i c:\, och du måste komma åt dem från disketten...

 

Annars.. kör utan skrivskyddad diskett, och gör något liknande:

 

if not exist a:\anders goto wipeIt
format
del a:\anders
goto slut
:WipeIt
wipe
echo > a:\anders
:slut

 

Annars är det nog något program som gäller...

 

Ciao,

Anders

 

 

[inlägget ändrat 2002-01-27 17:50:23 av Anders Nilsson]

Länk till kommentar
Dela på andra webbplatser

Det första alternativet har jag redan testat, men det blir ju "Felaktig mediatyp" på "exist"-raden, eftersom det inte finns nåt filsystem.

 

Alt 2 har jag faktiskt inte tänkt på, verkar inte helt dumt. Fast då får inte disketten vara skrivskyddad som sagt..

 

Jag funderade på om man kan skriva ett litet progg i asm som kollar om disken är formaterad genom att läsa in bootblocket och hitta nåt intressant.

Tänkte först kolla i debug.exe hur det ser ut där egentligen.

Läser in MBR genom "l 100 2 0 2" och därefter "d 100".

 

En normal disk har ".X.MSWIN4.1".

En Wipead disk har bara nullbytes.

Men en fdiskad disk gick inte ens att läsa in i debug.

"Det uppstod ett fel vid läsning av enhet C."

Borde inte detta fungera? Det måste väl funka om man gör ett eget program?

 

 

** tillägg **

 

Den allra bästa lösningen har jag redan kommit på.

Jag fdiskade och formaterade en hårddisk. Därefter ghostade jag ner den på en bootbar diskett (imagefilen blev inte större än några 100 kb). Sen var det bara att ghosta in den när man skulle ha tömt en hårddisk. Ursnabb och man slapp både fdisk och format. Men i ärlighetens namn vill man ju ha rent samvete, ghostlicenser kostar ju...

 

 

/A

 

 

[inlägget ändrat 2002-01-27 18:16:26 av Anp]

Länk till kommentar
Dela på andra webbplatser

 

Det ska inte vara något problem ifall man gör ett eget program. Däremot.. det du vill göra, är väl att skilja en formaterad från en oformaterad?

 

wipe->fdisk->reboot->format?

 

** tillägg **

 

som programmerare måste jag ju säga att det är klart man skall betala för sina program! :)

 

Ciao,

Anders

 

 

[inlägget ändrat 2002-01-27 18:20:10 av Anders Nilsson]

Länk till kommentar
Dela på andra webbplatser

Däremot.. det du vill göra, är väl att skilja en formaterad från en oformaterad?

Japp. Fast det är nåt som inte stämmer helt.

mov ah,2     ; read function
mov al,1     ; # sectors to read
mov cx,1     ; ch=track, cl=sector
mov dh,0     ; head
mov dl,80h   ; hdd 0
mov bx,offset buffer
int 13h
jnc ok

Borde inte detta läsa in MBR på första hårddisken?

Jag får nämligen inte samma som jag får när jag läser via debug.exe.

 

/A

 

 

Länk till kommentar
Dela på andra webbplatser

Debug's "L" använder förmodligen int 25 för att läsa från enheten, så den kan komma att misslyckas läsa från icke-fdiskade och ntfs-enheter.

 

Med int 13 borde du inte ha något problem att läsa MBR eller bootsektor dock. Frågan är vad du vill läsa. MBR eller bootsektor.

 

Efter FDISK borde partitionstabellen stämma, men, ingen data på partitionen, så... du vill läsa bootsektorn.

 

Jag är trött nu, och det var ett tag sedan jag gjorde sådant här, men, du kanske kan behöva läsa in MBR, och sedan hitta första partitionen och läsa bootsektorn därifrån för att se om den är formaterad.

 

hmm.. borde ligga efter "hidden sectors"...

 

Ciao,

Anders

 

 

[inlägget ändrat 2002-01-27 21:32:07 av Anders Nilsson]

Länk till kommentar
Dela på andra webbplatser

Jag är trött nu, och det var ett tag sedan jag gjorde sådant här

Samma här, och även då minns jag att jag rörde ihop MBR och bootsektorn...

Debug läser ju in bootsektorn, inte MBR.

Men jag håller på att uppdatera mig på partitionstabellen, i vilken jag kommer att hitta den exakta platsen för bootsektorn. Kan ju dessutom vara trevligt att ha skrivit ett handy utility som visar allmän partitionsinfo.

Jag ringer i klockan om det kör ihop sig rejält. :)

 

Ciao, s.a.s.

 

/A

 

 

Länk till kommentar
Dela på andra webbplatser

 

Samma här, och även då minns jag att jag rörde ihop MBR och bootsektorn...

Debug läser ju in bootsektorn, inte MBR.

 

fick jag en krona för alla som blandade ihop dem så vore jag rik...

 

Kan ju dessutom vara trevligt att ha skrivit ett handy utility som visar allmän partitionsinfo.

 

mmm.. jag vet inte hur många olika sådana jag skrivit under åren :)

 

Ciao,

Anders

 

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...