Před časem se mi v domácím počítači začal hroutit systémový disk. Začalo to BSOD, restartem a následně vynuceným chkdiskem, který mi oznámi, že mám na disku C:\ "96 KB in bad sectors". Tohle hlášení je průšvih. Nic není dokonalé a tak mají všechny moderní disky zásobu "náhradních" sektorů pro případ, že odejde některý z produkčních. Problém nastane, když jsou všechny náhradní sektory vyčerpané a objeví se další vadný sektor. V takovém případě je nejvyšší čas zakoupit disk nový.
Bleskově jsem tak učinil, připojil disk do počítače, ve kterém byly Windows XP Professional a naklonoval původní umírající disk na ten nový, následně rozšířil partition. Použil jsem Ghost či Acronis TrueImage, to už si nepamatuji. Vše bylo zdánlivě OK. Nicméně jen do doby, kdy jsem na disku chtěl pustit defragmentaci. Systém mi suše odpověděl, že na novém disku jsou vadné bloky a proto operaci nemůže provést. Nový disk, měsíc starý a vadné bloky? Už jsem se chystal na reklamaci, naštěstí jsem však zapřemýšlel a zabádal na Internetu.
Zjistil jsem, že jsem si na nový disk přenesl i informace o vadných blocích starého disku. Ještě lepší však bylo zjištění, že v NTFS, který je ve Windows XP, není až taková sranda se jich zbavit. Přesněji, nenašel jsem windowsí nástroj, který by mi pomohl. Reinstalace kompletního systému by pochopitelně byla řešením, ale představa několika bezesných nocí mne od tohoto kroku rychle odradila. Řešení jsem po dalším pátrání objevil dvě:
-
Windows Vista uživatelé
chkdsk x: /b
kde x: je pochopitelně disk, na kterém chce člověk překontrolovat seznam vadných sektorů a v případě, že jsou OK, tak je z uvedeného seznamu vyřadit. Už jsem chtěl začít stahovat VistaPE, abych ten přepínač vyzkoušel, ale nakonec jsem zkusil druhou metodu.
-
NTFSPROGS použitelné ve všech NTFS-capable Windows systémech
Stáhnul jsem si nejnovější Knoppix CD (ani to nemusí být to DVD). Rebootnul jsem počítač, nastartoval z vypáleného CD Knoppix Linux a zadal níže uvedené příkazy (dev/mapper/ddf1_SimpleVol1 je mountpoint pro ten můj bootovací SATA disk, jenž ukazuje nenulový počet bad blocks):
su
ntfstruncate /dev/mapper/ddf1_SimpleVol1 8 0x80 '$Bad' 0
ntfsfix /dev/mapper/ddf1_SimpleVol1
shutdown -r now
Při následném startu Windows se pustí automaticky chkdsk, na jehož konci by mělo být vidět hlášení "0 KB in bad blocks". Pokud chce mít člověk jistotu, že neobnovil k použití vskutku špatné bloky nového disku, je dobré nastavit v chkdisku kontrolu včetně volného prostoru a ještě párkrát si Windows zrestartovat. V mém případě je tam pořád nula, takže za vadné sektory mohl opravdu ten původní nalomený disk, který jsem naklonoval.
Když jsem pak chvilku laboroval s Knoppix CD, našel jsem tam i nástroje ntfsclone, ntfsresize, ntfsdefrag. Je tedy pravděpodobné, že Knoppix CD lze použít i jako free software na změnu velikosti partition.