Надежно сотрите пустое место на диске в системе Win 3.1 / DOS 6.22 с помощью встроенных инструментов

905
porg

У меня есть ретро-ноутбук 1994 года, IBM Thinkpad 340, который я хочу отдать, но сначала хочу безопасно стереть свои удаленные файлы.

Система содержит как приложение с графическим интерфейсом, так и undeleteприложение CLI, в котором перечислены ранее удаленные файлы и их соответствующие шансы на восстановление в зависимости от того, сколько кластеров не повреждено.

Я ищу решение, подобное cipherили sdeleteна более новых системах Windows, для перезаписи пустых частей диска с несколькими проходами нулевой / случайной записи с помощью инструментов, встроенных в стандартную Windows 3.1 с DOS 6.22.

Я хочу избежать необходимости устанавливать что-либо дополнительное или загружать операционную ОС с дискеты, поскольку у меня нет простого интерфейса передачи данных с этим ретро-устройством под рукой: нет сети на ретро-ноутбуке, нет дискет на любом из моих текущих устройств и Я хочу не покупать флоппи-дисковод USB.

Если у меня не будет программного решения или USB-дисковода гибких дисков, мне придется прибегнуть к аппаратному решению: разобрать ретро-ноутбук. Вытащите жесткий диск. Подключите жесткий диск через мост USB-ATA / IDE (адаптер / конвертер) к главному компьютеру с помощью инструментов на мой выбор. Но я бы хотел избежать такой агрессивной работы с этим по-прежнему функциональным ретро-ноутбуком.

Google не предоставляет никакой полезной информации о программных утилитах для этих устаревших систем до WWW. Я был бы признателен всем, кто имеет опыт работы с этими старыми системами / устройствами!


Так я решил свою проблему на практике

1) Перезапись случайных данных: Я использовал файловый менеджер, чтобы дублировать c:\windows\systemсодержание в фиктивный каталоге c:\aaнесколько раз плюс некоторых данных остаточных пока File Managerне показал 0KB freeдля c:\. Затем повторяйте циклы удаления-дублирования, чтобы в общей сложности получить около 7 полных перезаписей. Наконец удалил фиктивный каталог. - Комплименты @KodyBrown

2) Перезаписать нулями: купил USB-дискету (6 €, вторая рука) для моего современного ноутбука и создал загрузочную дискету с KillDisk для DOS v4.1 (финальная версия от 2008 года, дальнейшая разработка отсутствует). Загрузился в KillDisk и вытер неиспользуемое дисковое пространство нулями. Таким образом, любые возможные будущие попытки восстановления данных имеют больше шансов найти действительные, а не поддельные данные. Для подтверждения я посмотрел необработанные данные на диске и пустые порции действительно были заполнены нулевыми данными ( 0x00).

Тем не менее мне все еще интересно в оригинальном теоретическом выпуске

Для гиков гордости и других заинтересованных пользователей без дисковода. Я все еще был бы признателен за работающий сценарий оболочки DOS 6.22, который может правильно заполнить остаток диска несколькими случайными проходами данных и окончательным нулевым проходом данных. Предлагаю проверить и дать отзыв. В этом случае у пользователя нет интерфейса данных к ретро-устройству (нет сети, нет дискеты), и, следовательно, он должен вводить его вручную. Напоминание о днях микрокомпьютеров в 1980-х годах с исходным кодом в компьютерных журналах. Очаровательная! ;-)

3
Пожалуйста, измените свой вопрос: у вас даже нет подключения к дискете? Может быть полезно добавить точную модель ноутбука, с которой вы имеете дело. JakeGould 7 лет назад 0
Дисковод гибких дисков IBM Thinkpad 340 работает нормально, но, как уже говорилось, у меня «нет дисководов ни на одном из моих текущих устройств». Но я возьму в руки компьютер с дисководом гибких дисков или USB-дисководом, а затем установлю загрузочную ОС для обслуживания загрузочных дисководов, такую ​​как [KillDisk for DOS] (http://www.killdisk.com/), которая, как рекламируется функция «Сотрите все неиспользуемое пространство на дисках, не касаясь существующих данных». porg 7 лет назад 1
Флоппи-дисководы USB (внешние флоппи-дисководы, которые подключаются к системе через порт USB) обычно доступны в настоящее время. Они стоят от 10 до 20 долларов. Если вам известна ближайшая к вам мастерская по ремонту ПК, возможно, она есть в наличии. JakeGould 7 лет назад 0
Есть ли на компьютере интерпретаторы / компиляторы скриптовых языков? Любой язык должен иметь возможность генерировать нули в несколько гигабайт в файлах, но `.bat` не из тех, с кем я могу говорить. John Dvorak 7 лет назад 0
В Bash может подойти простое `yes> o`. John Dvorak 7 лет назад 0
@JanDvorak Небольшая касательная, основанная на Bash: зачем использовать [`yes`] (http://ss64.com/bash/yes.html), когда работает что-то вроде` cat / dev / zero> junkfile.txt`? JakeGould 7 лет назад 0
... или это. Но так как вы все равно используете процесс, зачем использовать `cat` вместо` yes`? John Dvorak 7 лет назад 0
@JanDvorak Вы знаете, что такое `cat / dev / zero`? Это не просто "кошка". В любом случае, делай что хочешь. Но я никогда не слышал, чтобы кто-нибудь вытирал пространство с помощью команды `yes`. JakeGould 7 лет назад 0
Пакетный файл может сделать это довольно легко. Я напишу одну сегодня вечером, если у меня будет свободное время. Kody Brown 7 лет назад 0
@KodyBrown Вау, очень ценю! Было бы так круто иметь родное решение. Надеюсь, вы найдете решение, которое действительно работает в системе DOS 6.22. porg 7 лет назад 0
@KodyBrown Чтобы закрыть эту проблему: вы пробовали пакетный скрипт DOS 6.x и не смогли найти работающее решение? Или просто не нашел времени пока? На самом деле был бы признателен за теоретическое любопытство, хотя вопрос для меня практически решен. porg 7 лет назад 0

2 ответа на вопрос

2
Kody Brown

Простой способ сделать это - копировать каталог Windows снова и снова, просто создавая дополнительные копии, пока не закончится свободное место. Удалите только что созданные копии. Затем сделайте это снова столько раз, сколько считаете нужным (проходит).

Это эффективно перезаписывает все свободное место на диске.

ОБНОВЛЕНО:

Вот пакетный файл для автоматизации процесса. Я проверил это на старой версии FreeDOS, работающей в гостевой системе VMware. Я думаю, что это должно работать на DOS 5 и новее.

Поместите этот файл в корень диска C: (т.е.:) C:\CLEAN.BATи запустите его оттуда.

Каждый раз, когда он запускается, он «перезаписывает» один раз. Затем вы должны удалить все файлы в C:\TMPкаталоге, чтобы освободить место ( C:\TMP>DEL *.*). (Я не хотел, чтобы командный файл самостоятельно удалял какие-либо файлы, на всякий случай.)

Вы можете запустить его столько раз, сколько считаете необходимым. Каждый раз, когда вы запускаете его, он перезаписывается один раз, так что вы можете запустить его пару или три раза, чтобы быть в безопасности.

CLEAN.BAT

@ECHO OFF  IF "%1"=="" GOTO :INIT  :PARSE SET ARG1=%1 SET ARG2=%2 SET ARG3=%3 SET ARG4=%4  IF NOT "%4"=="" GOTO :LAST IF NOT "%3"=="" GOTO :LOOP4 IF NOT "%2"=="" GOTO :LOOP3 IF NOT "%1"=="" GOTO :LOOP2  :INIT C: CD\ IF NOT EXIST "C:\TMP\" MKDIR C:\TMP >NUL CHDIR C:\TMP  COPY C:\WINDOWS\SETUP.EXE SETUP.EXE >NUL COPY SETUP.EXE+SETUP.EXE FILE.0 >NUL  :LOOP1 FOR %%E IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4 5 6 7 8 9 0) DO CALL C:\CLEAN.BAT %%E GOTO :END  :LOOP2 FOR %%F IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4 5 6 7 8 9 0) DO CALL C:\CLEAN.BAT %ARG1% %%F GOTO :END  :LOOP3 FOR %%G IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4 5 6 7 8 9 0) DO CALL C:\CLEAN.BAT %ARG1% %ARG2% %%G GOTO :END  :LOOP4 FOR %%H IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4 5 6 7 8 9 0) DO CALL C:\CLEAN.BAT %ARG1% %ARG2% %ARG3% %%H GOTO :END  :LAST COPY FILE.0 F%ARG1%%ARG2%%ARG3%%ARG4%.0 IF NOT "%ERRORLEVEL%"=="0" EXIT GOTO :END  :END 

Файл SETUP.EXE в моем каталоге Windows 3.1 чуть меньше 500 КБ. Чтобы немного ускорить процесс, я копирую его (дважды) в новый файл и использую его, чтобы процесс эффективно уничтожил все, кроме около 950 КБ диска. Вы можете выбрать меньший файл, чтобы получить более детальный, но у вас могут возникнуть проблемы с наличием слишком большого количества файлов в одном каталоге.

Кроме того, FreeDOS не изменяет, errorlevelкогда операция копирования завершается неудачно. MSDOS всегда хорошо относился к errorlevelответам, так что вам не стоит на них останавливаться. Если он начинает говорить, что ему не удалось скопировать временный файл из-за дискового пространства, вы можете безопасно остановить ( Ctrl+C) процесс.

Кроме того, вместо использования каталога Windows вы можете повторно скопировать один большой файл. Вы также можете потратить несколько минут на создание сверхбольших файлов, чтобы копировать их меньше, используя `copy large.fil + large.fil + large.fil new.fil`. Это объединит несколько файлов (или один и тот же файл несколько раз в себя) в один файл. Затем выполните эту же команду несколько раз, используя new.fil, и она будет расти в геометрической прогрессии. Я знаю, что конкатенация копий работает в DOS, но я не уверен в том, что копировать самому себе. Kody Brown 7 лет назад 0
Это хороший подход только со встроенными инструментами! Это никогда не приходило мне в голову, так как это кажется таким грубым и грубым, но в действительности он делает то, что должен. ПРОФИ: + Работает из коробки. + Каждый может легко это сделать. Минусы: - Требуется некоторое время, чтобы найти размер файла / каталога и оценить, как часто вам нужно что-либо копировать. - Маловероятно, чтобы стереть последний неиспользованный байт, так как операционная система или какая-то другая, вероятно, хранит некоторое резервное хранилище. porg 7 лет назад 0
Забавно, но это именно то, что делают многие приложения безопасного удаления, только с помощью API-интерфейса дефрагментации. Journeyman Geek 7 лет назад 0
Еще один недостаток: поскольку Win 3.1 была однопользовательской ОС, имеющей только элементарные конфиденциальные пользовательские данные, относящиеся к разрешениям файлов / папок, вероятно, они находятся в системном каталоге Windows из-за конструктивного или небрежного поведения пользователя. Выберите нечувствительный каталог / файл для дублирования данных! porg 7 лет назад 0
-2
porg

Выходите из Windows в DOS, чтобы иметь как можно меньше побочных эффектов (виртуальная память, блокировки файлов и т. Д.). Затем запустите SCANDISKи скажите «да» всем ремонтам и оптимизациям и после этого запустите DEFRAG. Это, по крайней мере, немного перемешивает ваши данные.

Сделал это сам и после этого внутренняя undeleteкоманда больше ничего не нашла.

Профессиональное программное обеспечение для криминалистической экспертизы по-прежнему найдет материал, но ваш потенциально одаренный друг или подержанный покупатель ничего не сможет найти, undeleteпо крайней мере, с помощью внутренних инструментов.

Похожие вопросы