diskpart: повний посібник — розмітка дисків, ремонт розділів, створення bootable USB
Перед стартом
- Запускайте
diskpart тільки від адміна (у cmd або PowerShell, правий клік → Run as admin).
- Після
list disk звіряйте ТРИЧІ, який диск обираєте. Розмір у ГБ — найнадійніший маркер: не плутайте 500 ГБ SSD системи з 500 ГБ USB.
- Для критичних операцій (
clean, convert gpt, delete partition override) — заздалегідь зніміть snapshot VM, або фізично витягніть інші диски зі слотів.
Інтерактивна сесія: основна механіка
diskpart — це інтерактивний шелл, не разова команда. Ви входите в нього, обираєте «об'єкт» (диск, розділ, том), і команди діють на поточно обраному об'єкті. Це і є головне джерело помилок — команда clean сама по собі нешкідлива, вона просто зчищає «поточно обраний диск», а ось який диск поточно обраний — питання окреме.
Типовий вхід у сесію:
diskpart
Всередині починається DISKPART> prompt. Базовий цикл роботи:
list disk
select disk 2
list partition
select partition 1
list volume
exit
exit виходить з diskpart без перезавантажень і без підтверджень.
Довідка команд, які треба знати напам'ять
| Команда | Що робить |
list disk | Перелік фізичних дисків з номерами й розмірами. Тут звіряємось. |
list partition | Перелік розділів на поточно обраному диску. |
list volume | Всі томи (з буквами) — на всіх дисках. Зручно для ідентифікації. |
select disk N | Обрати диск для наступних команд. |
select partition N | Обрати розділ (у межах обраного диска). |
select volume N | Обрати том (за номером або літерою). |
online disk | Вивести диск з offline-статусу. |
attributes disk clear readonly | Зняти read-only з диска (буває після клонування). |
clean | Знищити таблицю розділів. НЕ відновлюється стандартними засобами. |
clean all | Те саме + нулі у кожен сектор. Години на великих дисках. |
convert gpt / convert mbr | Змінити стиль розмітки (потрібно, щоб диск був порожній). |
create partition primary | Створити primary-розділ (size у МБ, без size — весь диск). |
format fs=ntfs quick label="..." | Форматувати поточно обраний розділ/том. |
assign letter=X | Присвоїти букву диску. |
active | Позначити розділ активним (MBR). Для завантажувального. |
extend | Розширити обраний том на нерозміщений простір праворуч. |
delete partition override | Видалити «захищений» розділ (EFI, OEM recovery). |
Сценарій 1. Ініціалізація нового диска під GPT
Задача: встановили у сервер новий 4 ТБ SAS-диск, система його бачить, але Disk Management показує як «Unknown, Not Initialized». Треба: ініціалізувати, розмітити GPT, створити один розділ на весь диск, відформатувати NTFS, присвоїти D:.
diskpart
list disk
select disk 2
online disk
attributes disk clear readonly
clean
convert gpt
create partition primary
format fs=ntfs quick label="Data"
assign letter=D
exit
Що робить кожна команда:
list disk — показує всі диски. Визначаємо номер нового (за розміром 3725 ГБ ≈ 4 ТБ).
online disk + attributes disk clear readonly — якщо диск прийшов з іншої системи, може бути offline або read-only.
clean — гарантоване очищення, щоб залишки чиєїсь попередньої таблиці не заважали convert gpt.
convert gpt — обов'язково для дисків > 2 ТБ.
create partition primary — без size означає «весь вільний простір».
format quick — швидке форматування (таблиця FS створюється без проходу по секторам). Для нового диска цього достатньо.
Червона кнопка №1: select disk N
Якщо замість 2 написати 0 — ви обрали системний диск. Наступний clean знищить таблицю розділів системного диска. Windows буде працювати до першого перезавантаження, потім — вічний цикл BOOTMGR / 0xc0000225. Відновлення — тільки з інсталяційного носія або бекапу.
Захист: після select disk N завжди робіть list disk — рядок з вашим диском матиме маркер * у колонці «Status». Перевірте розмір у стовпці «Size». Плюс: в list partition на системному диску ви побачите «System», «Reserved», «Primary» — одразу видно, що обрали не те.
Сценарій 2. Видалити розділ, який Disk Management відмовляється видаляти
Задача: на зовнішньому USB-диску лишився OEM Recovery розділ від ноутбука. Disk Management показує його, але опція «Delete» недоступна. Треба прибрати, щоб зібрати весь простір в один том.
diskpart
list disk
select disk 3
list partition
select partition 1
delete partition override
exit
Ключове: override. Без нього diskpart відмовиться видаляти «захищений» (OEM / EFI / hidden) розділ. З override — видалить будь-що.
Обережно з EFI-розділом
delete partition override знесе навіть EFI System Partition. Це безпечно на додатковому диску, але смертельно на системному — без EFI-розділу UEFI-система не завантажиться. Якщо ви не впевнені що за розділ видаляєте, спочатку detail partition — покаже GUID Type і назву.
Сценарій 3. Розширити системний том C: після збільшення VM-диска
Задача: збільшили VMDK/VHDX з 100 ГБ до 200 ГБ у гіпервізорі. Усередині Windows диск тепер має 100 ГБ нерозміщеного простору праворуч від C:. Розширюємо C: без перезавантаження.
diskpart
list volume
select volume 3
extend
exit
Номер тому визначаєте за літерою (C:) у list volume. extend без параметрів зжере весь нерозміщений простір одразу за томом.
Коли extend не спрацює
extend працює тільки якщо нерозміщений простір безпосередньо праворуч від розширюваного тому. Якщо між C: і вільним простором є інший розділ (Recovery Partition від OEM Windows — класичний випадок), то extend видасть «There is not enough usable space». Тоді або видаляйте заважаючий розділ через delete partition override, або переносьте його праворуч через сторонній інструмент (gparted, AOMEI). Просто diskpart'ом це не зробити.
Сценарій 4. Bootable USB з Windows Setup — без сторонніх утиліт
Задача: у вас є ISO інсталятора Windows Server і USB-флешка 16 ГБ. Треба зробити завантажувальний USB. Rufus нема, й ставити не хочеться.
diskpart
list disk
select disk 4
clean
create partition primary
active
format fs=fat32 quick label="WIN-SETUP"
assign letter=U
exit
Потім монтуєте ISO (правий клік → Mount) і копіюєте все на U: вручну або через robocopy:
robocopy E:\ U:\ /E /R:2 /W:5 /NP
Усе, флешка — bootable. Ключові нюанси:
active обов'язкове для BIOS/MBR-завантаження. Для чистого UEFI — опціонально.
- FAT32 (а не NTFS) — вимога UEFI-завантаження. NTFS працює тільки для BIOS.
- Якщо ISO має файл
install.wim > 4 ГБ (Windows Server з усіма ролями), FAT32 не зможе його зберегти. Тоді робіть FAT32 для boot-розділу + NTFS для install-розділу (гугліть «split-wim».)
Сценарій 5. Перетворення MBR → GPT без втрати даних
Задача: у вас Windows 10/11 на MBR, диск < 2 ТБ, і ви хочете перейти на UEFI-завантаження без переустановки.
diskpart для цього не годиться — його convert gpt вимагає, щоб диск був порожнім (без розділів). Для in-place конвертації використовуйте вбудовану утиліту mbr2gpt.exe:
mbr2gpt /validate /disk:0 /allowFullOS
mbr2gpt /convert /disk:0 /allowFullOS
Після — у BIOS/UEFI міняєте режим завантаження з Legacy/CSM на UEFI.
Коли diskpart convert все-таки потрібен
Якщо диск новий або порожній (clean вже зроблено) — convert gpt у diskpart працює миттєво. Типовий сценарій: готуєте новий SSD під клонування старого системного диска з переходом на GPT. Тоді: select disk N → clean → convert gpt.
Сценарій 6. Створити й змонтувати VHD для бекапу
Задача: створити 50 ГБ VHD-файл, змонтувати, використати як звичайний том для резервних копій (зручно: весь бекап — один файл, легко переносити).
diskpart
create vdisk file="D:\Backup\backup.vhdx" maximum=51200 type=expandable
select vdisk file="D:\Backup\backup.vhdx"
attach vdisk
create partition primary
format fs=ntfs quick label="Backup"
assign letter=B
exit
Пізніше для повторного монтажу (наприклад після перезавантаження):
diskpart
select vdisk file="D:\Backup\backup.vhdx"
attach vdisk
exit
Або одразу з файлової оболонки: правий клік на .vhdx → Mount. detach vdisk — коли закінчили роботу.
Неінтерактивний режим для скриптів
Щоб запустити diskpart з заздалегідь написаними командами (наприклад з bat-файлу чи задачі Task Scheduler), складіть їх у текстовий файл і викличте з /s:
diskpart /s C:\Scripts\init-disk-2.txt
Де init-disk-2.txt містить команди одна-за-одною, кожну з нового рядка. Exit code ненульовий, якщо будь-яка команда впала — зручно для обгортки у скрипт:
diskpart /s init-disk-2.txt
if %ERRORLEVEL% NEQ 0 (
echo ERROR: diskpart failed with %ERRORLEVEL%
exit /b %ERRORLEVEL%
)
Три червоні кнопки, яких не торкатися не подумавши
1. clean не на тому диску
Найдорожча помилка. Після clean на системному диску — система працює до перезавантаження (живе з RAM), потім не завантажується. Для впевненості: list disk перед і після select disk N. У другому list disk у потрібного диска має бути *.
2. delete partition override на EFI
На системному диску UEFI знищення EFI System Partition робить систему нестартуючою. Переконайтесь detail partition перед delete — якщо там GUID Type c12a7328-f81f-11d2-ba4b-00a0c93ec93b, це EFI і на системному диску його чіпати не можна.
3. convert mbr на GPT-диску з даними
Вимагає clean перед собою — тобто неможливий без знищення даних. Помилка: адмін бачить «convert mbr» у документації, намагається «просто поміняти стиль». В результаті — clean і потім конвертація в MBR, всі дані втрачено. Для in-place конвертації без втрати даних існує mbr2gpt.exe (тільки у напрямку MBR → GPT). Зворотно (GPT → MBR) — нема інструмента, тільки backup → clean → convert mbr → restore.
Чеклист перед будь-якою деструктивною операцією
Перевірити
- У
list disk правильний диск ідентифікований за розміром у ГБ, а не тільки за номером.
- Після
select disk N знову list disk — маркер * на очікуваному диску.
- На деструктивну дію (
clean, delete, convert) — зроблений snapshot / бекап.
- Якщо diskpart запускається з фізичної консолі сервера, переконайтесь, що це справді той сервер (shared KVM легко переплутати).
- Якщо сесія інтерактивна — не робіть кілька справ одночасно. Одна деструктивна операція — повна увага.
Пов'язане
- ← Назад до Атласу команд Windows — 28 команд для сисадміна.
- robocopy: повний посібник — коли після розмітки нового диска треба перенести 1.5 ТБ з ACL.
- Windows не завантажується (готується) — цикл про 0xc000000f і інші boot-помилки, багато з них пов'язані з пошкодженими EFI-розділами після diskpart.
diskpart — це ніж. Ним роблять чисту роботу, коли нічого іншого не працює. Ним також відрізають руки. Правило просте: кожна команда — подумайте ще раз, що саме зараз обране, перш ніж натискати Enter.