Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Найти все системы на диске 
:(
    Опции темы
azesmcar
Дата 31.5.2012, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 1
Всего: 211



Добрый день.

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

Есть некий монтированный диск, на нем установлен windows (1 или более). Версии могут быть разные.
Необходимо найти все установки на диске, т.е.
  • Директорию установки
  • Версию операционной системы
boot.ini вроде бы подходит, но его нет начиная с Windows Vista, там сейчас какой-то BCD файл, который я так и не нашел у себя (скорее всего он на отдельном диске). Может можно как-то иначе? Не знаю с какой стороны подобраться.

Спасибо.
PM   Вверх
Akina
Дата 31.5.2012, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(azesmcar @  31.5.2012,  17:01 Найти цитируемый пост)
boot.ini вроде бы подходит

Нет

Цитата(azesmcar @  31.5.2012,  17:01 Найти цитируемый пост)
Может можно как-то иначе?

Можно. Ровно так же, как поступает инсталлятор. Сканирование файловой системы в поисках SYSTEMROOTs.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
azesmcar
Дата 31.5.2012, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 1
Всего: 211



Цитата(Akina @  31.5.2012,  16:15 Найти цитируемый пост)
Можно. Ровно так же, как поступает инсталлятор. Сканирование файловой системы в поисках SYSTEMROOTs. 

Ну да, вопрос в том как его распознать. Какие у systemroot-а признаки, на которые можно положиться?
PM   Вверх
volatile
Дата 1.6.2012, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 2
Всего: 85



azesmcar, Копаться во внутренних закрытых форматах M$ дело неблагодарное.
Предлагаю заюзать их же консольную утилиту "bcdedit.exe", лучше взять от последней версии семерки.
Запускать ее в скрытом режиме.
Дальше парсить ее вывод.
Имхо это будет самый надежный способ, (для виндов разумеется)

Добавлено через 10 минут
для справки: bcdedit.exe небольшая консольная standalone утилита ~200кб
(в принципе ее даже в ресурсы можно запихать.)
PM MAIL   Вверх
azesmcar
Дата 1.6.2012, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 1
Всего: 211



volatile

Я смотрел эту утилитку, здесь есть две проблемы
  • она будет работать только для Vista и Windows 7.
  • насколько я понял эта утилита работает только с текущим диском, с которого запущена система, а у меня монтированный диск, на котором неизвестно что.

PM   Вверх
volatile
Дата 1.6.2012, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 2
Всего: 85



Цитата(azesmcar @  1.6.2012,  08:33 Найти цитируемый пост)
она будет работать только для Vista и Windows 7.

На XP прекрасно работает. (ничего дополнительного ей для работы под XP не нужно)
На 98 пожалуй да, не будет. но и компиляторы, начиная с 2008 уже не поддерживают 98.
В конце концов, если нужно поддержка 98, то там все очень просто. там boot.ini, без вариантов.

Цитата(azesmcar @  1.6.2012,  08:33 Найти цитируемый пост)
насколько я понял эта утилита работает только с текущим диском

Нет, не только с текущим. Она работает со "store", загрузочный файл расположеныый на любом диске.

azesmcar, я не агитирую, и не уговариваю за bcdedit.exe, просто извлечь информацию из "store", другого легального пути, я просто не знаю.
Можно конечно сканировать весь диск в поисках systemroot, но во первых это долго, во вторых не понятно что надо искать.
Что бы вы не выбрали в качестве критерия поиска, можно ошибиться (просто найти како-йто бекап системрута, например,) и решить что это и есть systemroot.


PM MAIL   Вверх
Akina
Дата 1.6.2012, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(volatile @  1.6.2012,  14:26 Найти цитируемый пост)
если нужно поддержка 98, то там все очень просто. там boot.ini, без вариантов.

Представь себе простой вариант - файлы в корневом каталоге удалены или битые...

Цитата(volatile @  1.6.2012,  14:26 Найти цитируемый пост)
Можно конечно сканировать весь диск в поисках systemroot

нужно

Цитата(volatile @  1.6.2012,  14:26 Найти цитируемый пост)
это долго

быстро только сам знаешь что бывает

Цитата(volatile @  1.6.2012,  14:26 Найти цитируемый пост)
не понятно что надо искать

вот с этим и надо разбираться... видел ведь, только не помню где. Постараюсь найти.

Цитата(volatile @  1.6.2012,  14:26 Найти цитируемый пост)
Что бы вы не выбрали в качестве критерия поиска, можно ошибиться (просто найти како-йто бекап системрута, например,) и решить что это и есть systemroot.

Не systemroot, а один из них. Сканирование должно найти все возможные. Вопрос валидности пока не стоИт...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
azesmcar
Дата 1.6.2012, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 1
Всего: 211



Цитата(volatile @  1.6.2012,  13:26 Найти цитируемый пост)
azesmcar, я не агитирую, и не уговариваю за bcdedit.exe, просто извлечь информацию из "store", другого легального пути, я просто не знаю.

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

Цитата(volatile @  1.6.2012,  13:26 Найти цитируемый пост)
это долго

Не волнует.

Цитата(volatile @  1.6.2012,  13:26 Найти цитируемый пост)
 не понятно что надо искать

Вот вот, мне тоже пока непонятно.
Пока единственное, что пришло на ум, это папка, содержащая system32 с kernel32.dll и user32.dll внутри. Загрузить их естественно не получится, так как windows не загружен. А информацию об операционке получать так
Цитата

SYSTEMROOT\system32\cmd.exe /c ver

работает, не немного сомневаюсь в надежности.

Добавлено через 15 секунд
Цитата(Akina @  1.6.2012,  13:33 Найти цитируемый пост)
Не systemroot, а один из них. Сканирование должно найти все возможные. Вопрос валидности пока не стоИт... 

 smile 
PM   Вверх
volatile
Дата 1.6.2012, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 2
Всего: 85



Цитата(azesmcar @  31.5.2012,  16:01 Найти цитируемый пост)
Есть некий монтированный диск, на нем установлен windows (1 или более)

Цитата(Akina @  1.6.2012,  13:33 Найти цитируемый пост)
Представь себе простой вариант - файлы в корневом каталоге удалены или битые...

Если файлы удалены или битые, то это означает, что на нем не установлен windows.  smile 
Конечно если это утилита по восстановлению запоротых дисков (что вовсе не следуте из первого поста), тогда да, сканирование единственный выход.


Это сообщение отредактировал(а) volatile - 1.6.2012, 14:29
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.1688 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.