Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem 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

Předmět Autor Datum
Norton Utility Disk Editor Práca len pod MS-DOS do verzie 6.22, prípadne ak dovolíš v DOSe zápis na…
msx. 21.11.2007 12:12
msx.
Mám Norton Utilities 2001, DiskEditor tam je, krásně DOSový, ale jsem si téměř jist, že přes komandl…
Moas 21.11.2007 13:18
Moas
Zcela v pohodě a v komfortním prostředí Acronis Disk Director Suite 10 provede žádané.
nemohoucí 21.11.2007 12:25
nemohoucí
komfortní prostředí nechci, chci komandlajnu. Umi to? A 50 USD... krapet moc na takto jednoduchou op…
Moas 21.11.2007 13:16
Moas
a ktory sektor to ma byt a preco? pociatocne sektory sa daju zmazat utilitami typu zap.com prip. zap…
MM.. 21.11.2007 14:12
MM..
Jeden z prvnich 64 sektoru. Proc a presne cislo, to rict nemuzu, mohlo by to navnadit zivly.:-) Vse…
Moas 21.11.2007 17:24
Moas
A nemozes to urobit linuxom? (prikaz dd) Zhlavy ma teraz nic take pre dos nenapada, ja by som si to…
MM.. 21.11.2007 18:20
MM..
v Linuxu ee, je to jen jeden krok z mnoha, ktere se budou provadet BATkou v urcitych posloupnostech.…
Moas 21.11.2007 18:26
Moas
nestaci ten mbrtool? Vie zalohovat/obnovit tusim aj celu prvu stopu. Subor z ktoreho sa bude obnovov…
MM.. 21.11.2007 18:42
MM..
Zkus se podívat na www.mbrwizard.com Je bez GUI, freeware. Přímo mazání sektoru jsem tam neviděl, al…
host 21.11.2007 18:44
host
Děkuji, toto vypadá dobře. K mé smůle je to freeware "for home usage" a vzhledem k předpokládanému n…
Moas 22.11.2007 06:48
Moas
Preco si nepozres ten mbrtool? Je to freeware a mal by vediet aj zapisat konkretny sektor treba si p…
MM.. 22.11.2007 13:40
MM..
tak jsem našel vhodnou utilitku, jmenuje se PUTSECT. Jenomže teď tu laboruju se syntaxí a nedaří se.…
Moas 23.11.2007 14:06
Moas
Ten tool robil nejaky madar tak sa necuduj :-D Skus to bez tych 2 poslednych parametrov, ak to nepoj…
MM.. 23.11.2007 14:19
MM..
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 vyn…
Moas 23.11.2007 15:02
Moas
ono je trochu otazka ze z coho chces bootovat. Ak totiz nabootujes DOS z USB sticku, tak HDD cislo 0…
MM.. 23.11.2007 15:37
MM..
Skus si to, mas to tam aj so zdrojakom. Chsrw.zip Usage: chsrw r <drive> <cylinder> <head> <sector>…
MM.. 23.11.2007 17:22
MM..
Smekám... Sosnul jsem to, ale na PC, kde teď jsem, to nevyzkouším:-), hned začátkem příštího týdne t…
Moas unregistered 23.11.2007 18:51
Moas unregistered
Ano, ak chces citat/zapisovat uplny zaciatok disku tak to zacina na C:0 H:0 S:1 - to si myslim ze bu… poslední
MM.. 23.11.2007 19:11
MM..

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.

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

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

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).

tak jsem našel vhodnou utilitku, jmenuje se PUTSECT. Jenomže teď tu laboruju se syntaxí a nedaří se.
Samotný PUTSECT vypisuje toto:

Usage:
Putsect <disknumber> <cylinder> <head> <sector> <filename> <cylinders> <hash> [checkfile <checkfilename>]

Writes the content of the file <filename> to the sector.

The file must be 512 bytes long. <cylinders> is the number of
cylinders on the disk. <hash> is a hash value from the current
content of the sector.

If the ascii value of byte no. n is called a(n), the hash value used
is 1 * a(1)+ 2 * a(2) + ... + 512 * a(512). The result is written
as an 8 digit hexadecimal number. The hash value of a 512 bytes file
can be printed with the command: Putsect gethash <filename>

If checkfile is used, hash can be entered as 00000000
and the current sector content must match <checkfilename>.

Returns 0 if the sector is written.

Č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

PUTSECT 1 0 0 32 DATA.TXT 0 00603000

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.

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!:beer:

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 :-)
BTW. za premie si kup :beer:, das si jedno aj za mna :))

Smekám...
Sosnul jsem to, ale na PC, kde teď jsem, to nevyzkouším:-), hned začátkem příštího týdne to zkusí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.

Zpět do poradny Odpovědět na původní otázku Nahoru