Formatowanie dysku twardego

0

Szukam jakiś funkcji, które pozwolą odwołać mi sie do danych sektorów dysku i je wyzerować. Inaczej mówiąc chce napisać program do formatowania dysku. Zależy mi na własnym programie, ponieważ chce po pierwsze, zeby uruchamiał się z dyskietki startowej, a po drugie kasował faktycznie dane (nie odwracalnie). Szukałem jakiś funkcji, niestety nic nie znalazłem.

ps. zna ktoś jakiś 16-bitowy kompilator c++ ?

0

Funkcją tego nie załatwisz. No bo jeśli chcesz startować z dyskietki to musisz uruchomić z niej jakiś system operacyjny. Może to być twój własny mini os os, który obsłuży dysk i ekran + klawiature (aby móc się dogadać z użytkownikiem). Nie mam pojęcia o pisaniu os'ów, ale na pewno nie jest to takie "hop-siup i gotowe".
Jeśli z dyskietki uruchamiać się będzie ms-dos to możesz po prostu wrzucić do autoexec'a "format c:". Możesz również napisać własnego com'a który cośtam z dyskiem będzie robić - musisz podpiąć sie pod odpowiednie przerwanie dysku, przeczytać i zinterpretować tabele partycji aby w końcu odwołać się do konkretnych sektorów.
Nie wiem jakie możliwości dają unixy, ale pewnie podobnie.

0

co do dyskietki to zrób tak, że formatyjesz jako startową. Będą tam pliki IO.sys, MsDos.sys (trzeciego nie pamiętam). Dodajesz pliki do katalogu DOS:

FORMAT.COM
SYS.COM
DEFRAG.EXE
EMM386.EXE
FDISK.EXE
MSCDEX.EXE //lub innego loadera napędów optycznych
SCANDISK.EXE
UNDELETE.EXE
HIMEM.SYS
IDECDROM.SYS

Szukasz w necie pierwszej wersji nortona commandera (ma około 400 kb).

Na koniec tworzysz pliki Autoexec.bat

@ECHO OFF
PROMPT $P$G
SET PATH=A:\DOS;\NC
SET TEMP=A:\DOS
LH A:\DOS\MSCDEX.EXE /D:IDECD001 /M:20
NC

I config.sys

DEVICE=A:\DOS\HIMEM.SYS
DEVICE=A:\DOS\EMM386.EXE
DOS=HIGH
FILES=30
DEVICEHIGH = A:\DOS\IDECDROM.SYS /D:IDECD001

I masz pełnosprawnego os'a na dyskietce.



0

Dzieki, pomysl dobry i na pewno skorzystam ;-) , ale nie tyle potrzebuje zwykłego formatowania co nieodwracalnego usuwania danych. Problem jest znaleŹĆ taki darmowy program, a jeszcze w 16-bitowy to już w ogóle...

0

Nieodwracalne formatowanie łatwo zrobić:
a) nieodwracalne softwareowo - wystarczy zmazać info o pliku, a nie tylko oznaczyć, że dany obszar jest wolny; najłatwiej cały dysk nadpisać zerami.
b) nieodwracalne hardwareowo (sprzęt profesjonalny do odzyskiwania danych) - użyć do nadpisania powierzchni dysku określonych ciągów, na przykład wg. algorytmów Gutmana albo któregoś z algorytmów DoD.

0

żeby zrobic cos takiego to samemu to trzeba wrócić do źródła czyli asemblera. Tam możesz skorzystać z funkcji bios-a do obslugi dysków, a z tego co pamietam były tam funckje, ktorych szukasz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1