Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.01.23;
Скачать: [xml.tar.bz2];

Вниз

Как не через fdisk, а програмно установить активный раздел на HDD   Найти похожие ветки 

 
DD   (2002-11-05 00:47) [0]

Очень часто приходится переустанавливать windows стирая все подчастую( через Diskedit), чтоб не подхватить вирус,так вот встал вопрос как это сделать програмно?


 
Cobalt   (2002-11-05 08:33) [1]

С помощью программы fdisk.


 
Song   (2002-11-05 08:42) [2]

Да никак. Рабатающая винда не даст тебе модифицировать загрузочные области.


 
pasha676   (2002-11-05 09:51) [3]

Прогу надо писать под ДОС (или что там у нас сейчас с загр. дискеты грузиться :)) и только там ее запускать. Возможно писать надо на асме.


 
stone   (2002-11-05 09:57) [4]

Хмм. Впервые сталкиваюсь с таким способом борьбы с вирусами. Вам, молодой человек, видимо больше заняться нечем...


 
pasha676   (2002-11-05 11:29) [5]

Да кстати - любопытный способ. То есть через fdisk ты заражаешься, а через дискедит не можешь. Хм, оригинально.
Есть способ более лучший - берешь загрузочные дискетки Линукса и через них фдискишь и форматишь винт. Учитывая количество вирусов в Линуксе и то что фдиск там на порядок лучше досовских (вручную отводка цилиндров под диски и прописка типов дисков и файловой системы - вполне солидный список) - получиться вообще супер.


 
Наезжалкин   (2002-11-05 11:45) [6]

>часто приходится переустанавливать windows стирая все подчастую( через Diskedit), чтоб не подхватить вирус...

Можно завести резервный диск, и на нём хранить образ рабочего.
+регулярный backup на cdrw и пользовательская дисциплина


 
AlexKniga   (2002-11-05 13:40) [7]

2 Song

> Да никак. Рабатающая винда не даст тебе модифицировать загрузочные области.

Я старым diskedit"ом, который и не слышал о Windows, превосходно редактировал MBR и не только, в режиме физ дисков. (из МД98 в оконном режиме.)


 
Song   (2002-11-05 14:12) [8]

Чтобы запустить diskedit нужно хотя бы отключить блокировку дисков - команда lock чтобы дать прямой доступ. Да потом ещё и сама винда может кучу синих экранов выдать, так что не надо ля-ля.


 
AlexKniga   (2002-11-05 14:50) [9]

2 Song
Lock дает прямой доступ к лог диску, а не к физ.
К тому же lock не заблокирует системный лог диск.

То, что MBR & PT можно превосходно редактировать на живой винде, доказывает fdisk.


 
Song   (2002-11-05 14:53) [10]

Логический диск разве не находится на физическом?
Или вы хотите сказать что между физическим C и логическим C есть разница? :-))


 
AlexKniga   (2002-11-05 15:15) [11]

2 Song
Нет такого физическим C.

физический - hd1
логический - C:

Доступ к ним разный.


 
AlexKniga   (2002-11-05 15:21) [12]

В Windows нет ручного монтирования mount, а есть автоматическое монтирование дисков при загрузке оси. Поэтому можно безболезненно редактировать Partition Table.


 
Song   (2002-11-05 15:23) [13]

На физическом нет дисков, там только разделы.
AlexKniga, Вы конечно меня извините, но мы с Вами флеймим совершенно не по теме вопроса.


 
Song   (2002-11-05 15:25) [14]

>>Поэтому можно безболезненно редактировать Partition Table.
Ok, программно можете?


 
TankMan   (2002-11-05 15:29) [15]

Вы тут говорите - возможно - невозможно... может вы к чему-то прийдете в конце концов? Я согласен с AlexKniga если fdisk может это делать, значит можно в принципе это делать... но вопрос был в том - КАК?


 
Денис   (2002-11-05 23:57) [16]

Мужики, - уточняю вопрос - ставить активный раздел надо на
второй винт(не загрузочный) может это облегчит?


 
Opuhshii   (2002-11-06 07:14) [17]

в 1-м секторе HDD со смещения 0х1BE по 10 байт вхождения PT до $AA55 структура, что-то в похожеее на:

struct PT_Entry {
BYTE ACTIVE; //Признак активного раздела: если 0 - неактивен, если $80 - активный,
BYTE HEAD; //Номер головки начального сектора раздела
WORD FSC; //Номер сектора и дорожки начального сектора раздела
BYTE PARTTYPE; // Тип раздела, или 0, если раздел свободный
BYTE LHEAD; // Номер головки последнего сектора раздела
WORD LSC; // Номер сектора и дорожки последнего сектора раздела
DWORD FIRSTPARTSECT; // Относительный номер сектора начала раздела
DWORD PARTSIZE; // Размер раздела в секторах
}
;

а diskEdit используете чтоб ваши доморощенные вирусы вам самому жизнь не попртили???,.. :)
:),.. вирусописатель вы наш,.....


 
Opuhshii   (2002-11-06 07:22) [18]

:) по $10 byte вхождения,.. :)


 
Anatoly Podgoretsky   (2002-11-06 07:43) [19]

:),.. вирусоспасатель вы наш,.....


 
TankMan   (2002-11-06 11:22) [20]

Удалено модератором


 
Денис   (2002-11-06 18:41) [21]

А попонятнее можно, я только учусь в Delphi писать...(вот diseditom - проще некуда - ставиш Yes - и все ок) а один заголовок структуры мне не понять...(нужен полный, рабочий пример)


 
Денис   (2002-11-06 18:49) [22]

И зря, некоторые наезжают, что это для вирусов, просто часто друзья обращаются с просбой снести windows.


 
Opuhshii   (2002-11-06 20:35) [23]

2Денис (06.11.02 18:49)
:)


 
TankMan   (2002-11-06 21:13) [24]

Удалено модератором


 
blackleo   (2002-11-07 21:15) [25]

Sorry za latin no russkih bukv na klave netu ;(

A na DD zrja napali, u nas na firme VSE klientskie masini prohodjat takuju obrabotku /na vsakij sluchai ;))/

a k voprosu prisojedinajus, a to servesnije rebata tolko diskedit rukami atrabotivajut, vse ostolnoje uze dovno automatizirovano ;)


 
German   (2002-11-08 08:20) [26]

Дабы вы зря человека не парили, давайте я вам вопрос переформулирую.

Существует ли какая-либо функция winapi позволяющая перезаписать MBR ака загрузочный сектор физического диска (с координатами 0/0/1) не путать с DOS секторами логических дисков

ps: Если тебе никто ничего путного не посоветует, попробуй запустить из под своей проги обычный fdisk с параметром /MBR

вот так fdisk /mbr

Он сам без дополнительных вопросов перепишет загрузчик. Там еще есть какой-то недокументированный ключ позволяющий указать номер диска.

А вообще почитай что-либо про 13H прерывание BIOS
С таблицей не парься, просто впиши код нормального загрузчика поверх того что сидит на твоем диске. начинается он со смещения 0, а где заканчивается посмотри дискедитором. MBR выглядит так

0..xx [загрузчик]
xx..512[таблица разделов]

Вот и восстанавливай загрузчик не трогая таблицы.








 
Игорь Шевченко   (2002-11-08 12:10) [27]


> И зря, некоторые наезжают, что это для вирусов, просто часто
> друзья обращаются с просбой снести windows.


А мне можно снести ? :-)


 
Maestro_V   (2002-11-08 12:44) [28]

Согласен, подход весьма странный. С вирусами обычно разбираются по-другому. Но вопрос зартонут интересный. Я хочу вот что сказать: PartitionMagic 7 как-то же это делает. Я сам переразбивал диски не выходя при этом из Виндов. Пока там все происходило я даже попутно работал в Интернете. Так же устанавливаются активные разделы и все остальное и не выходя и не перегружаясь.
Значит какие-то функции существуют ..??


 
Ihor Osov'yak   (2002-11-08 12:57) [29]

2 Song © (05.11.02 15:25)
>>Поэтому можно безболезненно редактировать Partition Table.
Ok, программно можете?

Да, могу. И под линейкой 9x, и под линейкой NT. Там и там решения разные.


2 German (08.11.02 08:20)



> Существует ли какая-либо функция winapi позволяющая перезаписать
> MBR ака загрузочный сектор физического диска (с координатами
> 0/0/1) не путать с DOS секторами логических дисков


Существует решение, использующие документированные свойства. Можете считать это функциями ейпи.




> А вообще почитай что-либо про 13H прерывание BIOS


Из под win32 на линейке w9x через int13 Вы сможете только с флопиком поработать. Но не с HDD. Под nt забудьте.

ЗЫ. Готовых решений в публичное место не брошу (хотя бы потому, что Подгорецкий мысль высказал что не стоит помогать писателям троянов. Во вторых, эти решения (большинство - free, слегка глючивые, но вполне работоспособные) уже лежат в публичных местах (авторство не мое) - учитесь искать. В третьих - используются только документированые средства - читайте внимательно MSDN).


 
TankMan   (2002-11-09 00:40) [30]

Удалено модератором


 
Денис   (2002-11-09 01:53) [31]

Ну раз путевых ответов нет, спасибо German-у хоть за совет с ключами к Fdisk-у(а то раза по 4-5 в день с этим парюсь)...


 
Ruf   (2002-11-09 11:43) [32]

Если нужно написать - пиши,
а для использования рекомендую
POWER QUEST:
Partition Magic
Boot Magic
и тд. Вещь посто супер!


 
Anatoly Podgoretsky   (2002-11-09 11:50) [33]

Денис (09.11.02 01:53)
Интересная у тебя работа по 4-5 раз в день диск переформатировать


 
Денис   (2002-11-10 02:07) [34]

>>Anatoly Podgoretsky
Денис (09.11.02 01:53)
Интересная у тебя работа по 4-5 раз в день диск переформатировать

Ага, работа моя в компьютерном сервисе...(ПБОЮЛ)


 
pasha676   (2002-11-10 08:55) [35]

Старая шутка но не удержался.

Анатолий, Денис работает формацептом. Он диски "С" форматирует :).


 
Vint   (2002-11-10 14:15) [36]

Чо на человека то наезжаете? он помощи попросил, а вы ...
Нет времени или желания помогать, так и молчите вовсе, а то типа я такой целомудренный, что руки о тебя пачкать не буду! а вдруг он вирусы пишет - ДА ПУСТЬ ПИШЕТ на здоровье, пусть учиться и развивается, сегодня он напишет вирус, а завтра он может придумает супер-прогу по борьбе с ними. Ведь те кто написал Partition Magic тоже не заставки одни наверное писали!


 
Ihor Osov'yak   (2002-11-10 18:44) [37]

2 Vint © (10.11.02 14:15)

Если человек не может самостоятельно разобратся с этим вопросом,
то он так и остановится на уровне написателя вирусов. Ибо в системном програмирровании это далеко не самая большая проблема.
Это имхо.
Во вторых, есть намного более интересные проблемы, чем написание вирусов, и которые експириенс значительно сильнее повышают, чем виросописание...

2 Денис (10.11.02 02:07) - конструктивное предложение: Сформатируйте один винт, набросайте туда стандартный набор софты или установочных пакетов - и делайте клонирование на аналогичные винты тем же Paragon Disk Copy (лицензия - всего 40уе, ну и гуляет срякнутая версия)
Для разных типоразмеров - тот же Paragon Disk Copy умеет ресайз он флай делать...






 
Денис   (2002-11-10 21:23) [38]

>>Ihor Osov"yak
Сформатируйте один винт, набросайте туда стандартный набор софты или установочных пакетов - и делайте клонирование на аналогичные винты тем же Paragon Disk Copy

С этим све понятно, я так последние 2года и делаю, но вопрос то
был "Как програмно через Delphi установить активный раздел!"

А по поводу вирусов, прошу больше ни слова - "по себе людей не судят!"
Да и вообще, кто конкретно помочь не может, прошу воду не мутить!


 
Денис   (2002-11-10 21:39) [39]

А на счет двоек - чтож вы "учителя", двойки ставить молодцы, а ответа не дождешся?


 
Ihor Osov'yak   (2002-11-10 22:01) [40]

Милый вы мой, Денис, обратите внимание, что первоначальный мой постинг указывал на некоректность ответа 2 Song © (05.11.02 15:25). В части возможности/невозможности програмного доступа на физическом уровне.

Что касается конкретного ответа на ваш Вапрос, ок, запускаю секундомер и делаю поиск по msdn. По завершению поиска - буду постить продолжение. ОК?








Страницы: 1 2 вся ветка

Форум: "Система";
Текущий архив: 2003.01.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.01 c
1-72234
Юный_программер
2003-01-14 12:47
2003.01.23
Люди, расскажите пожалуста где можно достать инфу по созданию фор


3-72123
Дима2003
2002-12-31 09:41
2003.01.23
Отчёт в MS Access


1-72200
Sedov Vitalik
2003-01-14 11:19
2003.01.23
Странная особенность


3-72032
Basil
2003-01-03 18:35
2003.01.23
Принцип работы


1-72245
Makhanev A.S.
2003-01-14 17:35
2003.01.23
Трабл с виндой





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский