diskpart: повний посібник з прикладами — IT-Wiki

[IT-FORMAT]
Новий формат бізнесу

» » » diskpart: повний посібник — розмітка дисків, ремонт розділів, створення bootable USB

diskpart: повний посібник — розмітка дисків, ремонт розділів, створення bootable USB

Цикл: IT-Wiki / Атлас команд Windows Переглядів: 2
Перед стартом
  • Запускайте 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 Ncleanconvert 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.

  • Коментарі


Привіт, незнайомець
Опитування

Якою програмою обліку ви користуєтесь?