Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Копирование жёсткого диска. / 18 сообщений из 18, страница 1 из 1
11.11.2006, 10:58
    #34121058
SPA_OSA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование жёсткого диска.
Здравствуйте уважаемые Гуру.

Передо мной стоит задача скопировать весь жёсткий диск целиком и в процессе копирования отправлять считанную информацию блоками по информационному каналу. Может быть кто-то подскажет, как это сделать в ОС Windows, используя Win32 API или .NET.

Заранее благодарен всем ответившим.
...
Рейтинг: 0 / 0
11.11.2006, 14:07
    #34121175
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование жёсткого диска.
? это такой вирус будет? :-)
...
Рейтинг: 0 / 0
11.11.2006, 14:57
    #34121212
SPA_OSA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование жёсткого диска.
Нет, это не вирус. Задача заключается в полном копировании диска покластерно и перед отправкой в информационный канал передаваемую информацию "на лету" необходимо сжимать. Но это уже другая тема. Может быть кто-то встречал библиотеки, реализующие подобную функциональность под Windows.
...
Рейтинг: 0 / 0
11.11.2006, 15:12
    #34121227
SnowMan2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование жёсткого диска.
Возможно поможет функция DeviceIOControl
...
Рейтинг: 0 / 0
11.11.2006, 19:48
    #34121412
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование жёсткого диска.
Ого! Тянет на разработку системы хранения данных.

Может отказыватся от разработок и купить чё-нить готовое (от Clarion например) ?
...
Рейтинг: 0 / 0
11.11.2006, 19:49
    #34121413
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование жёсткого диска.
... хотел сказать отказатся ...
...
Рейтинг: 0 / 0
12.11.2006, 14:25
    #34121929
SPA_OSA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование жёсткого диска.
А на какой драйвер мне получить HANDLE, чтобы использовать IoDeviceControl?
И какие IOCTL_XXXXX использовать? Теоретически то я понимаю, что нужно использовать драйвер жёсткого диска, но практически ...
А что за наработки есть в Clarion?
...
Рейтинг: 0 / 0
13.11.2006, 07:35
    #34122618
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование жёсткого диска.
Будет копировать не открытые файлы. При повторном запуске программа смотрит, не изменился ли файл. Если не изменился, то и копировать его не будет.
Надо только указать
ОТКУДА ; КУДА ; ЧТО
Но при переходе на летнее время программа начнёт копировать всё по новой.
...
Рейтинг: 0 / 0
13.11.2006, 11:36
    #34123251
contr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование жёсткого диска.
На никсах есть две замечательные утилиты.
Это dd (физическое копирование блочного устройства) и cpio (мегазверь :).
Можно поискать порты под win.
...
Рейтинг: 0 / 0
13.11.2006, 18:35
    #34124981
SPA_OSA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование жёсткого диска.
klen - спасибо большое за программу - обязательно пригодится. Но мне бы библиотеку, чтобы из своего кода управлять и сжимать "на лету".
...
Рейтинг: 0 / 0
13.11.2006, 18:44
    #34125000
SPA_OSA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование жёсткого диска.
contr - не понял Вашу мысль. Не просветите?
...
Рейтинг: 0 / 0
13.11.2006, 19:09
    #34125036
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование жёсткого диска.
SPA_OSAcontr - не понял Вашу мысль. Не просветите?

Скачиваешь порт утилты dd под Windows.

Для копирования образа диска c: делаешь в командной строке

Код: plaintext
1.
dd.exe if=\\.\с: of=d:\backup\disk_c.dmp

Если нужно работать с сетью - я бы сделал.

Код: plaintext
1.
dd.exe if=\\.\с: | spa_osa_netwriter.exe -h <hostname> -p <portname>

Здесь spa_osa_netwriter - утилита, которая читает поток из стандартного ввода и пишет блочно в сеть (протокол и стандарт - по выбору).

P.S. Вообще, я бы предложил взглянуть на постановку в изначальном виде. Возможно здесь Акрониса хватит с головой. По поводу Clarion - это тема отдельного форума.
...
Рейтинг: 0 / 0
14.11.2006, 07:25
    #34125656
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование жёсткого диска.
Системная утилита сжатия файлов. Есть в 98-ом, в NT, и в XP.
Lz32.dll
...
Рейтинг: 0 / 0
14.11.2006, 10:19
    #34125971
SPA_OSA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование жёсткого диска.
Уважаемый Mayton - где то я туплю, dd.exe не нашёл ни в Windows ни в MSDN.
Может искать в DDK?
Но хотелось бы уточнить идею использования dd.exe. Строка
dd.exe if=\\.\с: | spa_osa_netwriter.exe -h <hostname> -p <portname> говорит о том, что я могу написать программу spa_osa_netwriter.exe перехватывающую поток стандартного ввода от dd.еxe и писать данные с диска по алгоритму, реализованному в spa_osa_netwriter.exe, то есть КУДА и КАК. Получается dd.exe пишет в стандартный поток ввода?
...
Рейтинг: 0 / 0
14.11.2006, 11:23
    #34126282
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование жёсткого диска.
SPA_OSA

Загляните в почту.

Утилита dd - входит в состав Unix utils for Win32.

Работа с STDIN, STDOUT - это стандарная концепция написания утилит под Unix. Я всего-лишь предложил вариант реализации вашего задания с минимальными усилиями. Т.е. задачу чтения блоков диска выполнит dd и передаст результат по конвейеру другой утилите , которую напишете вы.

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

Если стоит задача сжать эти блоки, можно воспользоватся утилитой gzip (из того-же комплекта).

Код: plaintext
1.
dd.exe if=\\.\с: | gzip --stdout | spa_osa_netwriter.exe -h <hostname> -p <portname>

В этом случае на вход spa_osa_netwriter придет уже сжатая информация.
...
Рейтинг: 0 / 0
14.11.2006, 12:56
    #34126760
Pavel Kilevatyh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование жёсткого диска.
ОФФ:

И чего только люди не придумают что б не использовать *nix.
Фанатики блин )
...
Рейтинг: 0 / 0
14.11.2006, 14:15
    #34127199
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование жёсткого диска.
Замечу только, что C: - это не весь жёсткий диск, весь жёсткий диск можно открыть через CreateFile и \\.\PHYSICALDRIVE0, подробнее - в доках к CreateFile.
...
Рейтинг: 0 / 0
14.11.2006, 19:50
    #34128496
SPA_OSA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование жёсткого диска.
Огромное спасибо всем ответившим и особенно Lord Mayton, klen_, kontr, maXmo ...
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Копирование жёсткого диска. / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]