|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Узнать, MBR или GPT? |
|
CMD/BAT - [решено] Узнать, MBR или GPT?
|
Старожил Сообщения: 150 |
Нужно получить данные, какой формат имеет диск С, MBR или GPT и исходя из этой инфы задать флаговую переменную как 0 или 1.
|
|
Отправлено: 19:10, 24-04-2013 |
Пользователь Сообщения: 92
|
Профиль | Отправить PM | Цитировать m0nkrus, Iska, ITDemon, всё гениальное просто! Если не ошибаюсь, каждая копия Windows считает место хранения своего загрузочного тома не иначе как "диском 0", Вы проверьте
![]() @echo off CD /d %~dp0 echo Select Disk 0 >> diskpart.txt && echo detail disk >> diskpart.txt Diskpart /s diskpart.txt | Findstr /c:"{" IF ERRORLEVEL 1 ( ECHO Загрузочный том размещен на MBR-диске ) ELSE ( ECHO Загрузочный том размещен на GPT-диске ) del /q diskpart.txt pause На MBR WinXP и GPT Win8 проверил - работает корректно, подозреваю на остальных версиях тоже ![]() |
Отправлено: 02:13, 30-04-2013 | #41 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Ксеноинженер, сейчас проверить уже не могу: под рукой не осталось машин, где ОС была бы установлена не на первый накопитель. Тем более — с GPT
![]() |
Отправлено: 03:17, 30-04-2013 | #42 |
Старожил Сообщения: 150
|
Профиль | Сайт | Отправить PM | Цитировать Ксеноинженер, увы, тоже проверить не на чем. Я системный диск всегда втыкаю в первый SATA-порт, так что он у меня в любом случае нулевой.
Хоть я и не могу сказать, работает ли ваша конструкция, но оптимизировать код, избавившись от внешнего файла, думаю, смогу. Ваше: echo Select Disk 0 >> diskpart.txt && echo detail disk >> diskpart.txt Diskpart /s diskpart.txt | Findstr /c:"{" |
Последний раз редактировалось m0nkrus, 06-05-2013 в 08:57. Отправлено: 14:12, 03-05-2013 | #43 |
Пользователь Сообщения: 92
|
Профиль | Отправить PM | Цитировать Добавил вывод ИД диска, для наглядности принятия решения скриптом.
@echo off CD /d %~dp0 ((echo select disk 0 && echo detail disk) ^| diskpart.exe) | findstr /c:"ИД диска" & ((echo select disk 0 && echo detail disk) ^| diskpart.exe) | findstr /c:"{">nul IF ERRORLEVEL 1 ( ECHO Загрузочный том размещён на MBR-диске ) ELSE ( ECHO Загрузочный том размещён на GPT-диске ) pause Тем не менее, место хранения Загрузчика ОС есть Диск 0 всегда! В противном случае данная копия Windows "не загружабельна" без правки: любого имеющегося на Диске 0 загрузчика или BIOS, если загрузчика, на Диске 0, нет. Какой из SATA портов будет Диском 0 определяет первая строка в "Boot Sequence" в BIOS. Чтива полно на "железных" конференциях forum.oszone.net, ixbt.com. m0nkrus, оптимизация хороша, пригодится и для других задач тоже! |
Отправлено: 19:08, 03-05-2013 | #44 |
Старожил Сообщения: 150
|
Профиль | Сайт | Отправить PM | Цитировать Ксеноинженер, вот честно, не могу с уверенностью сказать, что мне нужно найти, где находится системный диск (скрытая 100-метровка) или загрузочный диск (диск С). Для первого случая ваш вариант подходит, для второго - не факт. Тут нужно тестировать, тестировать и еще раз тестировать. А не на чем...
Идея такой комплектации команд изначально не моя, а Iska. |
Отправлено: 19:45, 03-05-2013 | #45 |
Пользователь Сообщения: 92
|
Профиль | Отправить PM | Цитировать Цитата m0nkrus:
|
|
Отправлено: 22:29, 05-05-2013 | #46 |
Старожил Сообщения: 150
|
Профиль | Сайт | Отправить PM | Цитировать Ксеноинженер, я пробовал запустить установку винды на VirtualBox в UEFI-режиме - хрен вам!..
|
Отправлено: 22:36, 05-05-2013 | #47 |
Пользователь Сообщения: 92
|
Профиль | Отправить PM | Цитировать m0nkrus, действительно, не стоит с VirualBox связываться, ведь конкурент субъективно стабильнее. Моя тестовая платформа "GPT EFI Boot":
|
Последний раз редактировалось Ксеноинженер, 06-05-2013 в 00:59. Отправлено: 00:25, 06-05-2013 | #48 |
Пользователь Сообщения: 92
|
Профиль | Отправить PM | Цитировать Цитата:
Однако, m0nkrus, как можно, не тестируя, серьёзно говорить про работу скрипта в предложенных Вами экзотичных вариантах системы? Краткая схема моих тестов:
Результат: В обоих случаях после стандартной установки и диск 0 под "Системным разделом" и диск N под "Загрузочным разделом" имеют один и тот же формат. Подозреваю, установщик Windows конвертирует чистый Диск 0 в формат диска под загрузочным разделом, выбранным во время установки, А если Диск 0 занят, то ошибка установки. Вывод: в "загружабельных" системах тип диска 0 и тип диска N под загрузочным разделом один и тот же, всегда. Какие ещё вопросы по теме топика? На практике наш с вами скрипт исправно работает, пусть и по косвенному признаку: ID Диска 0. |
|
Последний раз редактировалось Ксеноинженер, 06-05-2013 в 15:19. Отправлено: 15:13, 06-05-2013 | #49 |
Старожил Сообщения: 150
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Ксеноинженер:
|
|
Отправлено: 01:30, 07-05-2013 | #50 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 |
|