
Jak smazat určitý sektor z disku pod DOSem?
Ahoj,
nabootuju do DOSu a potřebuju pomocí nějaké utilitky smazat přes příkazovou řádku určitý sektor na disku. Neznáte nějakou takovou utilitku? Mám to do BAT souboru, takže bez GUI (zatím jsem našel akorát GUI-only). Freeware nejlépe.
Díky
Norton Utility Disk Editor
Práca len pod MS-DOS do verzie 6.22, prípadne ak dovolíš v DOSe zápis na disk, tak aj vyššie, ale podporuje disky len do 2 GB. Mám to ešte z čias DOSu, raz som ním opravil HDD. Ale zrejme ti to bude k ničomu, kvôli 2 GB limitu.
Mám Norton Utilities 2001, DiskEditor tam je, krásně DOSový, ale jsem si téměř jist, že přes komandlajnu ho neovládnu, že toto neumí...
a ktory sektor to ma byt a preco?
pociatocne sektory sa daju zmazat utilitami typu zap.com prip. zap.exe (kedysi stiahnutelne tusim z IBM stranok)
Jeden z prvnich 64 sektoru. Proc a presne cislo, to rict nemuzu, mohlo by to navnadit zivly.

Vse je ale legalni a pocestne, to vam muzu odprisahnout.
A nemozes to urobit linuxom? (prikaz dd)
Zhlavy ma teraz nic take pre dos nenapada, ja by som si to naprogramoval (je to len jedno volanie int 13h ale nemam cas/chut to teraz robit).
Nestacil by ti program na zalohu/obnovenie MBR (vcetne tabulky particii) a bootsektoru? Napr. mbrtool
v Linuxu ee, je to jen jeden krok z mnoha, ktere se budou provadet BATkou v urcitych posloupnostech. Automatizuju si tu nejake pracovni veci...
Ja si to nenaprogramuju, anzto to neumim.
Jdu dal prohrabavat google.
nestaci ten mbrtool? Vie zalohovat/obnovit tusim aj celu prvu stopu. Subor z ktoreho sa bude obnovovat si zmodifikuj ako chces.
mbrtool.htm
MBRtool features include:
Backup, verify and restore the MBR
Backup, restore, wipe and clean track 0
Edit or blank the MBR partition table
Refresh, remove MBR boot code
Write MBR signature bytes
Display MBR to screen or dump to file
- Do all this for either the original MBR or backups
Create 'blank' backup files
Change partition attributes (active, hidden)
Manipulate NT/2000/XP disk admin signature
je tam aj link na manual
Zkus se podívat na www.mbrwizard.com
Je bez GUI, freeware. Přímo mazání sektoru jsem tam neviděl, ale umí sektor uložit/načíst/zkopírovat. Takže s tím by se to dalo myslím vyřešit.
Děkuji, toto vypadá dobře. K mé smůle je to freeware "for home usage" a vzhledem k předpokládanému nasazeni ve firemním prostředí na poměrně vysokém počtu PC to není to nejlepší (já vím, to jsem měl říct zkraje).
Preco si nepozres ten mbrtool? Je to freeware a mal by vediet aj zapisat konkretny sektor treba si pozriet poriadne ten help k tomu.
P.S. aha sorry sektor vie zapisat len 0 az 10, ako nejaky backup sektor, to je asi hovadina. Tak nic na mbrtool sa vybodni.
tak jsem našel vhodnou utilitku, jmenuje se PUTSECT. Jenomže teď tu laboruju se syntaxí a nedaří se.
Samotný PUTSECT vypisuje toto:
Čili jsem si vytvořil soubor DATA.TXT, který je plný samých nul a má velikost 512B.
Chci smazat sektor 32.
A teď se trápím.
Zkusil jsem
Vrací mi to hlášku "Cylinders not correct." No bodejť, nula tam být určitě nemá. Jenomže co tam má být? A navíc aby to fungovalo univerzálně, na libovolném disku...
Já si doteď myslel, že když chci přemazat 32. sektor, tak mi stačí vědět, kterého fyzického disku se to týká a o zbylou geometrii se starat nemusím.
Díky za komentáře.
Ten tool robil nejaky madar tak sa necuduj
Skus to bez tych 2 poslednych parametrov, ak to nepojde tak daj vediet, urobim ti ten exe.
Wow, to bych Ti byl zavázán... a kdyby z toho kápnuly nějaké prémie, podělíme se napůl :)
Pokud vynechám jakýkoliv parametr, nic se neprovede, jen se zobrazí znovu to, co jsem vkládal nahoře.
Čili můj požadavek je takový, aby ta utilitka smazala sektor specifikovaný uživatelem (stačí v rozsahu 0 - 100) na pevném disku. Předpokládejme použití pouze jednoho pevného disku, ale můžou to být různé typy, ATA i SATA. Externí pevné disky nehrozí.
Pokud by ses s tím chtěl nějak drbat, tak možnost provést tuto operaci i na PC, kde je víc než jeden disk (a určit, o který disk jde) je vítaná, ale není nutná.
Děkuji mockrát!
ono je trochu otazka ze z coho chces bootovat. Ak totiz nabootujes DOS z USB sticku, tak HDD cislo 0 je zvycajne ten USB stick. Je to logicke cislovanie ktore urci BIOS, spravidla podla poradia bootovania. Fyzicke cislovanie diskov neexistuje (nemozes povedat ze disk0 ma byt ten na ATA). disk0 pre BIOS/DOS je ten, z ktoreho sa bootuje.
Skus si to, mas to tam aj so zdrojakom.
Chsrw.zip
Usage:
chsrw r <drive> <cylinder> <head> <sector> <filename> - reads one sector
chsrw w <drive> <cylinder> <head> <sector> <filename> - writes one sector
<drive> = 0..15
<cylinder> = 0..1023
<head> = 0..255
<sector> = 1..63
drive je cislo harddisku (HDD/stick z ktoreho si nabootoval by mal byt cislo 0).
Pozor na to ze drive, cyl, head su cislovane od 0, ale sector je cislovany od 1 (tak sa to cisluje odjakziva)
P.S. nechcelo sa mi to robit cez LBA, ale pre tvoje pouzitie staci C,H,S sposob (t.j. pre maximalne prvych 8GB na disku)
este nieco: ak by si to chcel pouzit v .bat: vracia to ERRORLEVEL=0 ak bolo vsetko OK, ak error tak ERRORLEVEL=1
P.S.2. trochu som upravil vytvaranie suboru ak je error, tak si to stiahni znova, novsiu verziu
, das si jedno aj za mna 
BTW. za premie si kup
Smekám...
, hned začátkem příštího týdne to zkusím.
Sosnul jsem to, ale na PC, kde teď jsem, to nevyzkouším
Jinak bootovat se bude z CD nebo ze sítě.
V geometrii disku se příliš nevyznám... pro rozsah sektorů 1..63 je cylinder a head vždy 0?
Ano, ak chces citat/zapisovat uplny zaciatok disku tak to zacina na C:0 H:0 S:1 - to si myslim ze bude platit na absolutne vsetkych PC, aj novych, aj z roku 1980 :) (inac by nefungovalo bootovanie).
Malicky problem je, ze sektor nemusi ist az po 63, su disky ktore maju aj menej sektorov na stopu, dnes ale spravidla vsetky HDD maju sektor az po 63, kedze to aj tak disky vnutorne preratavaju na LBA, takze by nemal byt problem.
Ak sa bude bootovat z CD alebo zo siete tak to je tusim vzdy emulacia diskety, takze cislo HDD by sa zmenit nemalo (a prvy HDD (prvy HDD v poradi bootovania)) by mal byt disk cislo 0. Ale u bootovani zo siete si to over, nie som si 100% isty.