Вы должны войти, чтобы создавать сообщения и темы.

Создать новый раздел диска с точностью до байта

Всем Доброй Ночи!
Ребят находил как то на форуме тему как создать раздел с точностью до байта, чтобы в свойствах раздела размер был ровный до нулей. Направьте пожалуйста в тему или подскажите формулу

Psydiant, Привет.
Так не получится ровно до нулей, внутри создаются метаданные и т.д. разных размером и угадать можно, только перебором, мини утилиту cmd настрочил, попробуй, если вылезает в плюс, то придется уменьшать размер.
Лучше это делать в WinPE, подготовить там диск, посмотреть как он будет там выглядеть и уже ставить.

@echo off
chcp 65001 >nul

if "%~1"=="" (
    set /p GB="Желаемый объём GiB: "
) else (
    set GB=%~1
)

for /f "delims=0123456789" %%c in ("%GB%") do (
    echo Ошибка: "%GB%" не является целым числом.
    pause
    goto :eof
)

set /a RawSize=GB*1029

echo Чтобы в проводнике было %GB% GB, запросите %RawSize% MiB.
echo ---------------------------------
echo (Могут быть погрешности на размеры ниже 10gb, выше погрешность минимальна)
echo ---------------------------------
pause
Лайкнули Вася и Psydiant
ВасяPsydiant
«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн
Цитата: Mikhail от 06.07.2025, 04:54

Psydiant, Привет.
Так не получится ровно до нулей, внутри создаются метаданные и т.д. разных размером и угадать можно, только перебором, мини утилиту cmd настрочил, попробуй, если вылезает в плюс, то придется уменьшать размер.
Лучше это делать в WinPE, подготовить там диск, посмотреть как он будет там выглядеть и уже ставить.

 
 
 
 
@echo off
chcp 65001 >nul
 
if "%~1"=="" (
set /p GB="Желаемый объём GiB: "
) else (
set GB=%~1
)
 
for /f "delims=0123456789" %%c in ("%GB%") do (
echo Ошибка: "%GB%" не является целым числом.
pause
goto :eof
)
 
set /a RawSize=GB*1029
 
echo Чтобы в проводнике было %GB% GB, запросите %RawSize% MiB.
echo ---------------------------------
echo (Могут быть погрешности на размеры ниже 10gb, выше погрешность минимальна)
echo ---------------------------------
pause
@echo off chcp 65001 >nul if "%~1"=="" ( set /p GB="Желаемый объём GiB: " ) else ( set GB=%~1 ) for /f "delims=0123456789" %%c in ("%GB%") do ( echo Ошибка: "%GB%" не является целым числом. pause goto :eof ) set /a RawSize=GB*1029 echo Чтобы в проводнике было %GB% GB, запросите %RawSize% MiB. echo --------------------------------- echo (Могут быть погрешности на размеры ниже 10gb, выше погрешность минимальна) echo --------------------------------- pause
 
@echo off
chcp 65001 >nul

if "%~1"=="" (
    set /p GB="Желаемый объём GiB: "
) else (
    set GB=%~1
)

for /f "delims=0123456789" %%c in ("%GB%") do (
    echo Ошибка: "%GB%" не является целым числом.
    pause
    goto :eof
)

set /a RawSize=GB*1029

echo Чтобы в проводнике было %GB% GB, запросите %RawSize% MiB.
echo ---------------------------------
echo (Могут быть погрешности на размеры ниже 10gb, выше погрешность минимальна)
echo ---------------------------------
pause

Благодарю Михаил, уже так и стал делать методом перебора)