Войти

Показать полную графическую версию : [решено] Узнать MBR или GPT


Страниц : [1] 2

KaSpieC 666
24-01-2015, 19:45
Нужен батник, который может определить разметку томов на жестком, и создать .txt на рабочем столе с полной информацией о всех разметках томов/разделов....
Заранее благодарен!

Iska
24-01-2015, 20:13
Воспользуйтесь материалами этой темы: [решено] Узнать, MBR или GPT? (http://forum.oszone.net/thread-259331.html)

KaSpieC 666
24-01-2015, 20:21
Iska,
Я к сожалению, очень плохо разбираюсь в батниках....
Всё, что там есть - ничего не показывает результат (текстовый документ/командная строка)....
Мне бы любой вариант подошел, в текстовом документе, или в командной строке!
P.S. может и ошибаюсь, но перепробовал все варианты с той темы, а потом создал эту...

Iska
24-01-2015, 20:33
Всё, что там есть - ничего не показывает результат (текстовый документ/командная строка).... »
KaSpieC 666, серьёзно? Что, например, у Вас показывает такой код:
wmic.exe Partition get DeviceID, Type
?

KaSpieC 666
24-01-2015, 20:42
Iska,
ничего.... У меня ХР, может из-за этого?

Iska
24-01-2015, 20:53
ничего.... »
Покажите скриншот с этим «ничего». Откройте командную строку, введите вышеприведённый код, нажмите «Enter», дождитесь появление приглашения интерпретатора команд после выполнения команды, нажмите Alt-PrintScreen, дабы поместить скриншот активного окна в буфер обмена.

У меня ХР, может из-за этого? »
У меня тоже.

KaSpieC 666
24-01-2015, 20:54
http://i.imgur.com/1OxXawt.jpg (http://i.imgur.com/55O2mdN.jpg)

Iska
24-01-2015, 21:01
Ну вот. А говорили — «ничего».

Итак, у Вас имеется один диск с двумя не GPT разделами. Так? Покажите скриншот панели mmc «Управления дисками». И расскажите — на примере Вашего конкретного случая — в каком именно виде Вы хотите получить:
.txt на рабочем столе с полной информацией о всех разметках томов/разделов.... »

KaSpieC 666
24-01-2015, 21:17
Iska,
не совсем, 3 раздела не GPT:
http://i.imgur.com/vIrhf1q.jpg (http://i.imgur.com/o9j8hBk.jpg)

в каком именно виде Вы хотите получить »
В любом понятном! Например:
C - MBR
D - MBR
и т.д.

Или :
1 - MBR
2 - MBR
(только чтобы понимать, что 1 - это C, 2 - D)
Да не прихотлив к этому, главное понять, какой раздел и какой разметки!

http://i.imgur.com/2bcbkK8.jpg (http://i.imgur.com/W0XvfGQ.jpg)
И извиняюсь, за "ничего" - искал слова MBR GPT....

Iska
24-01-2015, 21:21
KaSpieC 666, это скриншот не «Управления дисками». «Win-R», «diskmgmt.msc», «Enter».

KaSpieC 666
24-01-2015, 21:28
Iska,
под спойлером, Вы наверное не заметили, я через пару минут добавил, после отправки....

KaSpieC 666
25-01-2015, 18:43
Iska
Я что-то не так сделал/сказал?

Iska
26-01-2015, 05:51
Вы наверное не заметили, я через пару минут добавил, после отправки.... »
Да, прочитал Ваш пост раньше, нежели чем Вы обновили его содержимое.

Итак, ещё раз: у Вас два раздела. Два, а не три. Один — основной, другой — дополнительный. В основном разделе создан один логический диск «C:», в дополнительном разделе созданы два логических диска — «D:» и «E:».

И извиняюсь, за "ничего" - искал слова MBR GPT.... »
Ясно, с этим разобрались.

Давайте продолжим этим скриптом WSH:
Option Explicit

Dim strComputer

Dim objSWbemObjectEx_Win32_DiskDrive
Dim objSWbemObjectEx_Win32_DiskPartition
Dim objSWbemObjectEx_Win32_LogicalDisk

Dim strFile
Dim strContent


strComputer = "."

With WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(strComputer, "root\cimv2")
strContent = ""

For Each objSWbemObjectEx_Win32_DiskDrive In .ExecQuery("SELECT * FROM Win32_DiskDrive")
With objSWbemObjectEx_Win32_DiskDrive
strContent = strContent & .DeviceID & ", " & .PNPDeviceID & ", " & .Size & vbCrLf
End With

For Each objSWbemObjectEx_Win32_DiskPartition In objSWbemObjectEx_Win32_DiskDrive.Associators_(, "Win32_DiskPartition")
With objSWbemObjectEx_Win32_DiskPartition
strContent = strContent & vbTab & .DeviceID & ", " & .Type & ", " & .Size & vbCrLf
End With

For Each objSWbemObjectEx_Win32_LogicalDisk In objSWbemObjectEx_Win32_DiskPartition.Associators_(, "Win32_LogicalDisk")
With objSWbemObjectEx_Win32_LogicalDisk
strContent = strContent & vbTab & vbTab & .DeviceID & ", " & .FileSystem & ", " & .VolumeName & ", " & .VolumeSerialNumber & ", " & .Size & vbCrLf
End With
Next
Next
Next
End With

With WScript.CreateObject("Scripting.FileSystemObject")
strFile = .BuildPath(WScript.CreateObject("WScript.Shell").SpecialFolders("Desktop"), "List drives.txt")

With .CreateTextFile(strFile, True)
.Write strContent
.Close
End With
End With

WScript.CreateObject("WScript.Shell").Run """" & strFile & """", 1, False

WScript.Quit 0
Найдите машину с GPT (у меня нет), исполните скрипт и проверьте результирующие строки с разделами («Disk #…, Partition #…») на наличие словосочетания «GPT» после первой запятой.

KaSpieC 666
26-01-2015, 16:35
Iska,
Хорошо, попробую найти с GPT....
Правильно я понимаю - в текстовый закинуть скрипт, и сменить .txt на .wsh ?
Этот скрипт только для GPT? Методом исключения? Запустился - GPT, если нет - MBR? (так как у меня он не запускается - ради интереса проверил)

Iska
26-01-2015, 16:47
и сменить .txt на .wsh ? »
…на «.vbs».
Этот скрипт только для GPT? Методом исключения? Запустился - GPT, если нет - MBR? »
Нет. Нет. Нет.

(так как у меня он не запускается - ради интереса проверил) »
Как определили? Что сообщает при этом?

KaSpieC 666
26-01-2015, 17:43
Iska,
Я извеняюсь за свою глупость...
Всё работает у меня, просто делал в .wsh :blush2:

P.S. как тока протестирую на GPT - отпишусь!

Iska
26-01-2015, 18:21
P.S. как тока протестирую на GPT - отпишусь! »
Лады, будем ждать.

KaSpieC 666
27-01-2015, 02:22
Iska,
Ели нашел GPT :)
\\.\PHYSICALDRIVE0, SCSI\DISK&VEN_TOSHIBA&PROD_MQ01ABD100\4&3359EDDD&0&000000, 1000202273280
Disk #0, Partition #0, GPT: Unknown, 314572800
Disk #0, Partition #1, GPT: System, 104857600
Disk #0, Partition #2, GPT: Basic Data, 104303951872
C:, NTFS, System, FECCE585, 104303947776
Disk #0, Partition #3, GPT: Basic Data, 209715200000
D:, NTFS, Programs, D2D9D4F8, 209715195904
Disk #0, Partition #4, GPT: Basic Data, 685630291968
E:, NTFS, Storage, CE35F33C, 685630287872
Всё работает!!! Огромной СПАСИБО!!!!

Одно только интересно (не принципиально):
как опредилять количество жесткий?

Iska
27-01-2015, 04:29
Всё работает!!! »
Содержимое файла устраивает? Может, что-либо убрать из вывода?

Одно только интересно (не принципиально):
как опредилять количество жесткий? »
Это количество строк с «\\.\PHYSICALDRIVEXX», в Вашем случае:
\\.\PHYSICALDRIVE0, SCSI\DISK&VEN_TOSHIBA&PROD_MQ01ABD100\4&3359EDDD&0&000000, 1000202273280
Disk #0, Partition #0, GPT: Unknown, 314572800
Disk #0, Partition #1, GPT: System, 104857600
Disk #0, Partition #2, GPT: Basic Data, 104303951872
C:, NTFS, System, FECCE585, 104303947776
Disk #0, Partition #3, GPT: Basic Data, 209715200000
D:, NTFS, Programs, D2D9D4F8, 209715195904
Disk #0, Partition #4, GPT: Basic Data, 685630291968
E:, NTFS, Storage, CE35F33C, 685630287872
— можно предположить, что один.

Однако, есть два «но». Во-первых, в нашем скрипте не делается разделения на тип носителя, посему там могут оказаться устройства, не являющиеся жёсткими дисками. Во-вторых, даже если это будет учтено, в общем случае невозможно гарантировать точное определение: например, если у нас создан RAID-массив не средствами ОС — мы об этом на уровне Wbem не узнаем, массив будет виден как единый жёсткий диск, хотя в его состав могут входить два и более физических диска, есть варианты с объединением томов и т.п.

KaSpieC 666
27-01-2015, 04:51
Iska,
Ради эксперимента, засунул флешку, вот, что вышло:
\\.\PHYSICALDRIVE0, IDE\DISKSAMSUNG_SP1614N_________________________TM100-24\30533631314A5830333432363230202020202020, 160039272960
Disk #0, Partition #0, Installable File System, 16121516544
C:, NTFS, , 74E7D3A1, 16121516032
Disk #0, Partition #1, Extended w/Extended Int 13, 143917724160
D:, NTFS, , 35D737F1, 100488208384
E:, NTFS, , 3D25FD42, 43429445632
\\.\PHYSICALDRIVE1, USBSTOR\DISK&VEN_JETFLASH&PROD_TRANSCEND_16GB&REV_8.07\Z9ITOOV3&0, 16055746560
Disk #1, Partition #0, Unknown, 16047538176
F:, FAT32, , , 16031850496
То есть, как Вы и говорили "«\\.\PHYSICALDRIVEXX»", их тут 2. И даже флешку чётко увидел!

Содержимое файла устраивает? Может, что-либо убрать из вывода? »
Даже не знаю, что и сказать... Если есть мысли - можно попробовать/по тестировать!

можно предположить, что один. »
Совершенно верно - 1 жесткий с 5 разделами!!!

Однако, есть два «но». Во-первых, в нашем скрипте не делается разделения на тип носителя, посему там могут оказаться устройства, не являющиеся жёсткими дисками. Во-вторых, даже если это будет учтено, в общем случае невозможно гарантировать точное определение: например, если у нас создан RAID-массив не средствами ОС — мы об этом на уровне Wbem не узнаем, массив будет виден как единый жёсткий диск, хотя в его состав могут входить два и более физических диска, есть варианты с объединением томов и т.п. »
Ну проверить или предложить, я к сожалению - не могу/не знаю....
Может кто подскажет, батник довольно нужный, я так думаю....

P.S. под спойлером с GPT (в предыдущем сообщении) - Два системных скрытых и три не скрытых раздела!!!
Это, чтобы не вводило в заблуждения!




© OSzone.net 2001-2012