|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Узнать, MBR или GPT? |
|
CMD/BAT - [решено] Узнать, MBR или GPT?
|
Старожил Сообщения: 148 |
Профиль | Сайт | Отправить PM | Цитировать Нужно получить данные, какой формат имеет диск С, MBR или GPT и исходя из этой инфы задать флаговую переменную как 0 или 1.
|
|
Отправлено: 19:10, 24-04-2013 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать @echo off setlocal enableextensions enabledelayedexpansion cd /d %~dp0 <nul set /p sVar=Загрузочный том размещен на for /f "tokens=2" %%i in ( 'echo list disk ^| diskpart.exe ^| findstr.exe /r /c:"\*$"' ) do set sDisk=%%i if defined sDisk ( ( echo select disk !sDisk! echo detail disk ) | diskpart.exe | findstr.exe /e "Boot Загрузоч" >nul && echo GPT-разделе || echo MBR-разделе ) else echo MBR-разделе endlocal exit /b 0 Всё равно мне не нравится такой путь. |
Отправлено: 14:27, 27-04-2013 | #31 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 148
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Iska:
Я вам уже говорил, временно замените "\*$" на "\ $" и прогоните таким образом скрипт на своих MBR-разделах. Скрипт станет принимать MBR за GPT и наоборот. Если на компе больше одного физического диска, и система стоит не на последнем, то это будет весьма наглядно. |
|
Последний раз редактировалось m0nkrus, 27-04-2013 в 19:45. Отправлено: 18:15, 27-04-2013 | #32 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата m0nkrus:
1. Заменил «\*$» на «\ $». 2. Четыре физических диска, два из них в RAID. Логических, соответственно, три. Везде MBR. 3. Операционная система установлена на первом диске в его первом разделе. 4. Запустил код. Получил следующее: Цитата:
m0nkrus, я выше писал, что данный подход мне не нравится. Моя идея (реализацию которой я приводил выше на WSH и PoSH) — «танцевать вперёд», а не «пятится назад»: определить, какой раздел системный, получить его букву, по разделу получить содержащий его диск, и только потом смотреть, каков этот диск — MBR или GPT. |
||
Отправлено: 05:28, 28-04-2013 | #33 |
Старожил Сообщения: 148
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Iska:
Цитата Iska:
|
||
Последний раз редактировалось m0nkrus, 28-04-2013 в 08:01. Отправлено: 07:45, 28-04-2013 | #34 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать m0nkrus, вот потому я и предлагаю другой путь — от буквы системного раздела к дисковому устройству (насчёт порта с наименьшим номером — немало раз видел иное: как недосборщику в голову взбредёт — так и будет; в любом случае, обоснованием корректности алгоритма сие не должно служить).
|
Отправлено: 10:39, 28-04-2013 | #35 |
Старожил Сообщения: 148
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Iska:
Цитата Iska:
Вас уже куда-то не туда заносит, вам не кажется? Уже какие-то наезды непонятные пошли. Если вы не в состоянии понять, почему вариант с массивом работает, а с переменной нет, или почему я не хочу использовать PowerShell-скрипт при наличии альтернативы в виде CMD-скрипта, то это не повод на меня наскакивать. |
||
Последний раз редактировалось m0nkrus, 28-04-2013 в 12:30. Отправлено: 11:21, 28-04-2013 | #36 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата m0nkrus:
Цитата m0nkrus:
Цитата m0nkrus:
Цитата m0nkrus:
Ваш код у меня не работал. И при использовании «обратки» (смена «\*$» на «\ $») — тоже (кстати, и мой, сделанный по Вашему коду, в этой части — тоже не работал). Суть оказалась в том, |
||||
Отправлено: 15:01, 28-04-2013 | #37 |
Старожил Сообщения: 148
|
Профиль | Сайт | Отправить PM | Цитировать |
Отправлено: 19:25, 28-04-2013 | #38 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать m0nkrus, ну, так мне до этого нужно было ещё «дойти» .
|
Отправлено: 21:12, 28-04-2013 | #39 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать На загрузочных GPT-дисках обязательно присутствует EFI в качестве 1-го системного раздела и MSR для 2-го. Информация об этом дается командой list partition. Поэтому принадлежность диска к GPT легко определить по типам раздела на диске.
|
Отправлено: 01:00, 30-04-2013 | #40 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
HDD - Как разбить HDD диск: MBR или GPT ? | jolo | Накопители (SSD, HDD, USB Flash) | 22 | 09-12-2014 04:46 | |
Разное - GPT в MBR без потери данных | V1P3RS | Microsoft Windows 7 | 13 | 02-04-2014 03:09 | |
Разное - GPT в MBR и нерабочий WiFi | pavel.trice@vk | Microsoft Windows 7 | 1 | 20-01-2013 13:33 | |
Установка - [решено] Установка Windows 7 на SSD с MBR-разметкой (требует GPT) | AtlASS | Microsoft Windows 7 | 14 | 14-11-2012 06:31 | |
HDD - [решено] Восcтановить MBR и/или информацию.. | Dick | Накопители (SSD, HDD, USB Flash) | 17 | 27-07-2012 18:33 |
|