
검색엔진에 노출/클릭 수 잘 나오라고 낚시성 제목과 썸네일을 올려봅니다. ㅋㅋㅋㅋ
제 블로그에 AI 이미지 생성 관련 스크립트의 최종최종최종최종_마지막_파이널_포스팅글입니다. rocm이 망하고 comfy가 망해서 새로운거 나오는거 아니면 그냥 이 포스트를 계속 업데이트 할려고 합니다.
1. 주의사항
- Adrenalin 26.3.1 드라이버에서 테스트 했습니다. 이전 버전은 정상 작동 안할 수 있습니다.
- 내장 그래픽 카드를 사용시 vram에 최소 16g 이상 할당하는것을 추천합니다.
- 테스트는 9070에서 테스트 했습니다.
- 스크립트가 위치한 폴더 경로에 한글이 들어가면 안됩니다.
2. 스크립트

일일이 드래그 드롭해서 복사할거 없이 우측에 Copy 버튼을 누르면 클립보드로 복사됩니다.
복사한 내용을 메모장으로 저장해서 실행하면 됩니다.
Change logs
2026년04월24일
- extra_model_paths.yaml 자동생성 부분 수정
- Git 버전 업데이트 (2.54.0-64-bit)
- requirements.txt 버전 꼬이는 문제 임시 수정
2026년03월26일
- ROCm 공식버전 업데이트 (7.2.1)
- 업데이트 안되는 그래픽카드 항목 삭제
- Comfy 버전 선택 하는 항목 삭제
- Git 버전 업데이트 (2.53.0.2-64-bit)
2026년02월03일
- 절전방지 코드 삽입
- Torch 2.10.0이 알파버전 딱지 뗐길래 2월2일자 버전으로 테스트 해보고 잘 작동하길래 버전 선택에 등록함. (780m 에서만 테스트함)
- ComfyUI 목록 업데이트
2026년01월27일
- ROCm 공식버전 업데이트 (7.2)
- Nightly 버전 설치시 torch 버전을 2.9.1으로 고정 (상위버전은 알파버전들이라 버그가 많아서)
- ComfyUI 목록 업데이트
2026년01월23일
- 설치 전 현재 그래픽카드가 gfx???? 뭔지 확인하는 문구 출력(검사하는 프로그램이 윈도우에 설치되어 있지 않으면 안나옴 (amd 아드레날린에 포함된걸로 보임)
- scottt/rocm-TheRock 설치항목 제거 (amd 나이틀리 빌드로도 잘되서)
- ComfyUI 버전 업데이트 (ComfyUI 업데이트가 너무 빨라서 이 항목도 빼야 하나 생각중)
- 환경변수 DWPOSE_ONNXRT_CHECKED 추가 (라데온은 가속 지원안해서 cpu밖에 선택할수 없는데 시작할때 마다 체크 하고 경고 하는 거 때문)
- temp폴더를 시스템 temp 폴더로 지정
2025년12월28일
- 폴더 생성 부분 수정
- 불필요한 스크립트 삭제
2025년12월25일
- ComfyUI 버전 최신으로 갱신
- rx6000번대 그래픽 카드 항목 삭제(amd가 윈도우 버전 안만듬)
0_Install.cmd
@echo off
chcp 65001 >nul
REM ---------------------------------------------------------------------------
REM 루트를 구함 ex) "c:\AI\"
set "ROOT_PATH=%~dp0"
set "PYTHON_PATH=%ROOT_PATH%ETC\python_embeded"
set "GIT_PATH=%ROOT_PATH%ETC\git"
set "PATH=%PYTHON_PATH%;%PYTHON_PATH%\Scripts;%GIT_PATH%;%GIT_PATH%\cmd;%SystemRoot%\System32;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\"
REM ---------------------------------------------------------------------------
REM 설치시 필요한 파일 저장하는 경로 (인터넷에서 두번 다운 받는거 안하기 위해)
set "INSTALLER_PATH=%ROOT_PATH%ETC\setup_files"
REM ---------------------------------------------------------------------------
REM 컴피용
set "COMFYUI_PATH=%ROOT_PATH%ETC\ComfyUI"
set "COMFYUI_USER_PATH=%ROOT_PATH%userdata"
set "COMFYUI_CUSTOM_NODES_PATH=%COMFYUI_USER_PATH%\custom_nodes"
set "OUTPUTS_PATH=%ROOT_PATH%Outputs"
set "EXTRA_MODEL_PATH=%COMFYUI_USER_PATH%\extra_model_paths.yaml"
REM ---------------------------------------------------------------------------
echo 🔹 프로그램 실행 중 절전 모드 방지 활성화...
:: PowerShell을 사용하여 시스템이 유휴 상태로 인식하지 않도록 설정
powershell -Command "$code = '[DllImport(\"kernel32.dll\")] public static extern uint SetThreadExecutionState(uint esFlags);'; [void]($type = Add-Type -MemberDefinition $code -Name 'SleepPreventer' -Namespace 'Win32' -PassThru); [void]$type::SetThreadExecutionState([Convert]::ToUInt32('80000003', 16));"
echo ---------------------------------------------------------------------------
echo 🔹라데온 그래픽카드 사용자를 위한 ComfyUI 자동설치 스크립트 입니다.
echo.
echo Date : 2026-04-24
echo URL : https://linsoo.pe.kr/47387/
echo ---------------------------------------------------------------------------
<nul set /p ="계속하려면 아무 키나 누르세요..."
pause >nul
REM ---------------------------------------------------------------------------
:graphic_info
where clinfo >nul 2>&1
if %ERRORLEVEL% NEQ 0 (
REM echo [에러] clinfo 파일 자체를 찾을 수 없습니다.
goto sel_graphic
)
cls
echo ---------------------------------------------------------------------------
echo 🔹당신의 그래픽 카드는 아래와 같습니다.
echo.
clinfo | findstr /i "gfx" 2>nul
echo.
echo ---------------------------------------------------------------------------
<nul set /p ="계속하려면 아무 키나 누르세요..."
pause >nul
REM ---------------------------------------------------------------------------
:sel_graphic
REM https://github.com/ROCm/TheRock/blob/main/RELEASES.md
REM https://quasarzone.com/bbs/qn_hardware/views/1558564
cls
echo ---------------------------------------------------------------------------
echo 🔹그래픽 카드 종류를 선택하세요.
echo.
echo 1. gfx120X-all ^(rx9060/XT, rx9070/XT^)
echo 2. gfx110X-all ^(780m, rx7900XTX, rx7800XT, rx7700S/Framework Laptop 16 ^)
echo 3. gfx1151 ^(AMD Strix Halo iGPU^)
echo 4. gfx1150 ^(Ryzen AI 9 HX 370 890M^)
echo ---------------------------------------------------------------------------
choice /c 12345 /n /m "번호 선택: "
set /a tmp_number=%errorlevel%
if "%tmp_number%"=="1" (
set "CARD_TYPE=gfx120X-all"
)
if "%tmp_number%"=="2" (
set "CARD_TYPE=gfx110X-all"
)
if "%tmp_number%"=="3" (
set "CARD_TYPE=gfx1151"
)
if "%tmp_number%"=="4" (
set "CARD_TYPE=gfx1150"
)
if "%tmp_number%"=="0" (
echo 그래픽카드 에러?
pause
exit /b
)
REM ---------------------------------------------------------------------------
:sel_rocm_ver
cls
echo ---------------------------------------------------------------------------
echo 🔹설치할 rocm 버전을 선택해주세요.
echo 🔹선택한 그래픽 카드는 %CARD_TYPE% 입니다.
echo.
echo 1. AMD 공식버전 ^(gfx110X-all 미지원^)
echo 2. Nightly 최신버전.
echo ---------------------------------------------------------------------------
choice /c 12 /n /m "번호 선택: "
set /a tmp_number=%errorlevel%
if "%tmp_number%"=="1" (
if /I "%CARD_TYPE%"=="gfx110X-all" goto error_version
set "BUILD_TYPE=official"
)
if "%tmp_number%"=="2" (
set "BUILD_TYPE=nightly"
)
goto install_etc
REM ---------------------------------------------------------------------------
:error_version
echo 해당 버전은 %CARD_TYPE% 카드에서 지원하지 않습니다.
<nul set /p ="계속하려면 아무 키나 누르세요..."
pause >nul
goto sel_rocm_ver
REM ---------------------------------------------------------------------------
:install_etc
cls
REM ---------------------------------------------------------------------------
if not exist "%EXTRA_MODEL_PATH%" (
echo ---------------------------------------------------------------------------
REM "C:\AI\" 제거 (주의: 끝에 \ 포함해야 정확히 제거됨)
setlocal enabledelayedexpansion
(
REM 폴더가 없으면 생성하고
for %%I in ("%EXTRA_MODEL_PATH%") do set "folderPath=%%~dpI"
mkdir "!folderPath!" 2>nul
call set "TRIMMED=%%COMFYUI_CUSTOM_NODES_PATH:%ROOT_PATH%=%%"
REM echo 원본: %COMFYUI_CUSTOM_NODES_PATH%
REM echo 변환: !TRIMMED!
(
echo linsoo:
echo. base_path: C:\AI\
echo. is_default: true
echo. custom_nodes: !TRIMMED!/
echo.
echo. checkpoints: Models/checkpoints/
echo. configs: Models/configs/
echo. loras: Models/loras/
echo. vae: Models/vae/
echo. text_encoders: ^|
echo. Models/text_encoders/
echo. Models/clip/ # legacy location still supported
echo.
echo. diffusion_models: ^|
echo. Models/diffusion_models/
echo. Models/unet/
echo.
echo. clip_vision: Models/clip_vision/
echo. style_models: Models/style_models/
echo. embeddings: Models/embeddings/
echo. diffusers: Models/diffusers/
echo. vae_approx: Models/vae_approx/
echo. controlnet: Models/controlnet/
echo. gligen: Models/gligen/
echo. upscale_models: Models/upscale_models/
echo. latent_upscale_models: Models/latent_upscale_models/
echo. hypernetworks: Models/hypernetworks/
echo. photomaker: Models/photomaker/
echo. classifiers: Models/classifiers/
echo. model_patches: Models/model_patches/
echo. audio_encoders: Models/audio_encoders/
echo. frame_interpolation: Models/frame_interpolation/
) > "%EXTRA_MODEL_PATH%"
echo [INFO] %EXTRA_MODEL_PATH% : 파일이 성공적으로 저장되었습니다
)
endlocal
)
REM ---------------------------------------------------------------------------
REM 필수 폴더 생성
REM INSTALLER_PATH 폴더 생성
mkdir "%INSTALLER_PATH%" 2>nul
REM 컴피 유저 폴더 생성
mkdir "%COMFYUI_USER_PATH%" 2>nul
REM 결과 파일 폴더 생성
mkdir "%OUTPUTS_PATH%" 2>nul
REM ---------------------------------------------------------------------------
echo "%EXTRA_MODEL_PATH%" 속 경로 폴더 생성
setlocal enabledelayedexpansion
(
for /f "tokens=1,* delims=:" %%A in (%EXTRA_MODEL_PATH%) do (
set KEY=%%A
set VALUE=%%B
REM 공백 제거 (앞뒤)
for /f "tokens=* delims= " %%X in ("!KEY!") do set KEY=%%X
for /f "tokens=* delims= " %%X in ("!VALUE!") do set VALUE=%%X
if not "!KEY!"=="linsoo" if not "!KEY!"=="base_path" if not "!KEY!"=="is_default" if not "!VALUE!"=="" (
REM echo !KEY! = !VALUE!
set FULL_PATH=%ROOT_PATH%!VALUE!
echo Creating: !FULL_PATH!
mkdir "!FULL_PATH!" 2>nul
)
)
)
endlocal
echo ---------------------------------------------------------------------------
echo [INFO] Git 체크
set "URL_GIT=https://github.com/git-for-windows/git/releases/download/v2.54.0.windows.1/PortableGit-2.54.0-64-bit.7z.exe"
if not exist "%GIT_PATH%" (
echo [INFO] Git 폴더 없음
setlocal enabledelayedexpansion
(
REM URL에서 파일명 추출
for %%F in ("!URL_GIT!") do set "GIT_FILENAME=%%~nxF"
if not exist "%INSTALLER_PATH%\!GIT_FILENAME!" (
echo [INFO] !GIT_FILENAME! 다운로드 중...
curl -s -L "!URL_GIT!" -o "%INSTALLER_PATH%\!GIT_FILENAME!"
)
echo [INFO] Git 압축 해제 중...
mkdir "%GIT_PATH%"
"%INSTALLER_PATH%\!GIT_FILENAME!" -y -o"%GIT_PATH%"
echo [INFO] Git 설치 완료: %GIT_PATH%
)
endlocal
)
echo ---------------------------------------------------------------------------
echo [INFO] 파이썬 체크
if not exist "%PYTHON_PATH%" (
echo [INFO] 파이썬 폴더 없음
REM ------------------------------------------------------------
REM pth파일 수정
setlocal enabledelayedexpansion
(
:: 기본 URL 설정
set "URL_PYTHON=https://www.python.org/ftp/python/3.13.11/python-3.13.11-embed-amd64.zip"
:: BUILD_TYPE에 따라 URL 변경
if /I "%BUILD_TYPE%"=="official" (
set "URL_PYTHON=https://www.python.org/ftp/python/3.12.10/python-3.12.10-embed-amd64.zip"
) else if /I "%BUILD_TYPE%"=="linsoo_test1" (
set "URL_PYTHON=https://www.python.org/ftp/python/3.14.4/python-3.14.4-embed-amd64.zip"
)
REM URL에서 파일명 추출
for %%F in ("!URL_PYTHON!") do set "PYTHON_FILENAME=%%~nxF"
if not exist "%INSTALLER_PATH%\!PYTHON_FILENAME!" (
echo [INFO] !PYTHON_FILENAME! 다운로드 중...
curl -s -L "!URL_PYTHON!" -o "%INSTALLER_PATH%\!PYTHON_FILENAME!"
)
echo [INFO] 파이썬 압축 해제 중...
mkdir "%PYTHON_PATH%"
tar -xf "%INSTALLER_PATH%\!PYTHON_FILENAME!" -C "%PYTHON_PATH%"
echo [INFO] 파이썬 설치 완료: %PYTHON_PATH%
REM ----------------------------------------------------------
set "COMFY_PATH=..\ComfyUI"
set "PTH_FILE=tmp"
for %%F in ("%PYTHON_PATH%\python???._pth") do (
set PTH_FILE=%%F
)
set "TEMP_FILE=!PTH_FILE!.tmp"
REM 파일 존재 확인
if not exist "!PTH_FILE!" (
echo [ERROR] 파일을 찾을 수 없습니다: !PTH_FILE!
exit /b 1
)
REM ----------------------------------------------------------
(
for /f "usebackq delims=" %%A in ("!PTH_FILE!") do (
set "line=%%A"
REM '#import site' → 'import site'
set "line=!line:#import site=import site!"
REM call set "line=%%line:#import site=import site%%"
REM 중복된 ..\ComfyUI 제거
if /i not "!line!"=="!COMFY_PATH!" (
echo !line!
)
)
echo !COMFY_PATH!
) > "!TEMP_FILE!"
REM 원본 파일 덮어쓰기
move /Y "!TEMP_FILE!" "!PTH_FILE!" > nul
for %%F in ("!PTH_FILE!") do set "FILENAME=%%~nxF"
echo [DONE] !FILENAME! 파일 수정 완료:
)
endlocal
REM ------------------------------------------------------------
echo [INFO] PIP 설치
if not exist "%INSTALLER_PATH%\get-pip.py" (
echo [INFO] get-pip.py 없음, 다운로드 시작...
curl -s -L "https://bootstrap.pypa.io/get-pip.py" -o "%INSTALLER_PATH%\get-pip.py"
)
python.exe "%INSTALLER_PATH%\get-pip.py"
python.exe -s -m pip install --upgrade pip
python.exe -s -m pip install setuptools wheel
echo [INFO] PIP 설치 완료
)
echo ---------------------------------------------------------------------------
echo [INFO] ComfyUI 체크
if not exist "%COMFYUI_PATH%\" (
echo [INFO] ComfyUI 폴더 없음
mkdir "%COMFYUI_PATH%"
git.exe clone https://github.com/comfyanonymous/ComfyUI.git "%COMFYUI_PATH%"
echo [INFO] 기타 ComfyUI 버그 방지용 작업
mkdir "%COMFYUI_PATH%\user"
REM 빈 comfyui.db 파일 생성
type nul > "%COMFYUI_PATH%\user\comfyui.db"
echo [INFO] ComfyUI-Manager 설치
python.exe -m pip install --pre comfyui_manager
echo [INFO] ComfyUI 설치 완료: %COMFYUI_PATH%
)
echo ---------------------------------------------------------------------------
if /I "%BUILD_TYPE%"=="official" (
echo rocm 설치
python.exe -s -m pip install ^
https://repo.radeon.com/rocm/windows/rocm-rel-7.2.1/rocm-7.2.1.tar.gz ^
https://repo.radeon.com/rocm/windows/rocm-rel-7.2.1/rocm_sdk_core-7.2.1-py3-none-win_amd64.whl ^
https://repo.radeon.com/rocm/windows/rocm-rel-7.2.1/rocm_sdk_devel-7.2.1-py3-none-win_amd64.whl ^
https://repo.radeon.com/rocm/windows/rocm-rel-7.2.1/rocm_sdk_libraries_custom-7.2.1-py3-none-win_amd64.whl
echo torch torchaudio torchvision 설치
python.exe -s -m pip install ^
https://repo.radeon.com/rocm/windows/rocm-rel-7.2.1/torch-2.9.1+rocm7.2.1-cp312-cp312-win_amd64.whl ^
https://repo.radeon.com/rocm/windows/rocm-rel-7.2.1/torchaudio-2.9.1+rocm7.2.1-cp312-cp312-win_amd64.whl ^
https://repo.radeon.com/rocm/windows/rocm-rel-7.2.1/torchvision-0.24.1+rocm7.2.1-cp312-cp312-win_amd64.whl
)
REM ----------------------------------------------------------
if /I "%BUILD_TYPE%"=="nightly" (
echo rocm torch torchaudio torchvision 설치
python.exe -s -m pip install --index-url https://rocm.nightlies.amd.com/v2/%CARD_TYPE%/ "rocm[libraries,devel]" "torch" torchaudio torchvision
)
REM ----------------------------------------------------------
if /I "%BUILD_TYPE%"=="linsoo_test1" (
echo rocm torch torchaudio torchvision 설치
python.exe -s -m pip install rocm rocm-sdk-core torch==2.11.0 torchaudio torchvision --index-url https://rocm.nightlies.amd.com/v2-staging/%CARD_TYPE%/
)
echo ---------------------------------------------------------------------------
echo "%COMFYUI_PATH%\requirements.txt" 설치
python.exe -s -m pip install -r "%COMFYUI_PATH%\requirements.txt"
echo ---------------------------------------------------------------------------
python.exe -s -m pip install piexif debugpy requests matrix-nio
REM 최신rc버전이 깔리면서 버그남.
python.exe -m pip install "tokenizers==0.22.2" --force-reinstall
echo ---------------------------------------------------------------------------
pip list
echo 설치 완료
echo ---------------------------------------------------------------------------
pause
1_Run.cmd
@echo off
chcp 65001 >nul
REM ---------------------------------------------------------------------------
REM 루트를 구함 ex) "c:\AI\"
set "ROOT_PATH=%~dp0"
set "PYTHON_PATH=%ROOT_PATH%ETC\python_embeded"
set "GIT_PATH=%ROOT_PATH%ETC\git"
set "PATH=%PYTHON_PATH%;%PYTHON_PATH%\Scripts;%GIT_PATH%;%GIT_PATH%\cmd;%SystemRoot%\System32;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\"
REM ---------------------------------------------------------------------------
REM 컴피용
set "COMFYUI_PATH=%ROOT_PATH%ETC\ComfyUI"
set "COMFYUI_USER_PATH=%ROOT_PATH%userdata"
set "COMFYUI_CUSTOM_NODES_PATH=%COMFYUI_USER_PATH%\custom_nodes"
set "OUTPUTS_PATH=%ROOT_PATH%Outputs"
set "EXTRA_MODEL_PATH=%COMFYUI_USER_PATH%\extra_model_paths.yaml"
REM ---------------------------------------------------------------------------
echo 🔹 프로그램 실행 중 절전 모드 방지 활성화...
:: PowerShell을 사용하여 시스템이 유휴 상태로 인식하지 않도록 설정
powershell -Command "$code = '[DllImport(\"kernel32.dll\")] public static extern uint SetThreadExecutionState(uint esFlags);'; [void]($type = Add-Type -MemberDefinition $code -Name 'SleepPreventer' -Namespace 'Win32' -PassThru); [void]$type::SetThreadExecutionState([Convert]::ToUInt32('80000003', 16));"
REM ---------------------------------------------------------------------------
REM 변경된 루트 폴더 위치에 맞게 모델파일 경로 변경
if exist "%EXTRA_MODEL_PATH%" (
set "EXTRA_MODEL_PATH_LINE=base_path: %ROOT_PATH%"
powershell -NoProfile -Command ^
"$file = '%EXTRA_MODEL_PATH%';" ^
"$newLine = 'base_path: %ROOT_PATH%';" ^
"$text = Get-Content -LiteralPath $file -Raw;" ^
"$text = $text -replace 'base_path: .*', $newLine;" ^
"$utf8 = New-Object System.Text.UTF8Encoding($false);" ^
"[System.IO.File]::WriteAllText($file, $text, $utf8)"
)
REM comfyui_controlnet_aux 에서 gpu 가속이 안되서 CPU로 하겠다는 경고 삭제함 (엔비디아만 지원함)
set "DWPOSE_ONNXRT_CHECKED=1"
set "LINSOO_TEMP=%TEMP%\tmp_comfyui"
if not exist "%LINSOO_TEMP%" (
mkdir "%LINSOO_TEMP%"
)
echo ---------------------------------------------------------------------------
set COMMANDLINE_ARGS=--enable-manager --input-directory "%LINSOO_TEMP%" --temp-directory "%LINSOO_TEMP%" --output-directory "%OUTPUTS_PATH%" --user-directory "%COMFYUI_USER_PATH%" --extra-model-paths-config "%EXTRA_MODEL_PATH%"
python.exe -s "%COMFYUI_PATH%\main.py" %COMMANDLINE_ARGS%
3. 후기…
오늘 업데이트 테스트 하면서 알게된 결론.. 설치하는 타이밍에 라이브러리 버전이 조금씩 업데이트 하면서 그로 인한 버그가 생김. 그냥 ComfyUI에서 제공하는 포터블 버전 쓰면 되지 않나 하겠지만 rocm 관련 라이브러리가 설치하면서 현재 설치 경로를 하드코딩해서 박아버림..

그래서 컴피 공식 포터블 실행하면 위와 같은 에러가 발생하는데 레딧도 그렇고 AI에서도 rocm 이 pip 설치하는 순간에 경로를 실행파일에 박아버리기 때문에 rocm을 재설치 해야 해결된다고 함.
그게 아니면 d:\a\ComfyUI 폴더를 만들고 거기에 넣으면 되는데 ssd 1개 쓰는 사람은 저걸 위해 d드라이브 만드는것도 웃기고 심볼릭 링크 써서 해결했다는 사람도 있던데 이것저것 따져보다가 그냥 포기함.
차라리 Comfy에서 릴리즈 할때 통으로 압축해서 올리는거 말고
pip list --format=freeze > requirements.txt
위 명령으로 현재 설치된 라이브러리 버전을 정확하게 추출해서 올려주면 거기에 맞게 다운로드 하면 좋을텐데..
뭐 그럴일은 없겠지.
답글 남기기