- 0x0000007b
- 2차세계대전
- 3.20해킹
- 3d프린터
- 4대강
- 502 error
- 53빌딩
- 7840hs
- 88체육관 수영장
- ABI
- abortive close
- abortive shutdown
- AHCI
- aic8800d80 chipset
- akmods
- ALC1220
- alma linux
- alternatives
- AM4 메인보드
- AMD
- amd 7840hs
- AMD Ryzen H255
- amd 그래픽 게임용
- amd 내장 그래픽 최적화
- anonymous file
- apple.com
- APT
- apt-get
- Armagnac
- Asrock
- Today / Yesterday
- /
- Total
Linux Programmer
GMKtec K12 바이오스 업데이트, CPU 팬 속도 설정 본문
GMKtec의 K12 미니PC는 CPU 팬을 자동으로 설정해두면 정지 후 기동을 반복하면서 끼리릭 거리는 소리가 난다. 그래서 매뉴얼로 팬속도를 40%에 놓고 사용했는데, 이게 평상시에는 괜찮지만 작업을 걸어서 온도가 올라가면 40%로는 CPU 온도가 떨어지지 않고 과열되는 문제가 발생했다. 처음에는 그냥 포기하고 부하를 거는 작업은 다른 PC에서 했는데, GMKtec에 불만이 많이 접수되었는지 25년 12월경에 K12 BIOS가 업데이트되었고, 여기서는 PWM을 이용해서 가변으로 설정할 수 있게 되었다. 따라서 이 글에서는 BIOS를 업데이트하는 방법과 CPU팬을 어떻게 설정하는지를 살펴보겠다. (참고로 기존 BIOS는 버전이 1.07이었고 새롭게 올라온 BIOS는 2.02이다.)
주의할 점은 BIOS 업데이트는 항상 위험이 있을 수 있다. 특히 업데이트 과정에서 전원이 끊어지면 문제가 생길 수 있기 때문에 조심해서 진행해야 한다. 만일 어린아이나 고양이가 갑자기 뛰어들어 전원을 건드릴 수 있다면 큰일이 발생할 수 있다. 어떤 이는 문제가 생겨도 계속 전원을 인가해두면 비상 바이오스로 롤백되는 기능이 있다고 하는데, 확실하지는 않다. BIOS 업데이트는 항상 벽돌이 될 가능성을 내포하고 있다는 점만 명심하면 된다. 물론 바이오스 업데이트로 인해 벽돌이 되는 경우는 굉장히 드물기 때문에 크게 겁먹지 않아도 된다.
0. 준비과정
바이오스 업데이트에 앞서 혹시나 보안 프로그램이나 각종 이상한 프로그램으로 오류가 생길 수 있으니, 구라제거기로 미리 제거해두자. 만일 구라제거기에서 각종 쓸데없는 보안 프로그램을 제거했다면 꼭 재부팅을 해야만 한다. 구라제거기 사용법은 인터넷에 많이 존재하기 때문에 여기서 특별히 설명하지는 않는다.
1. GMKtect K12 바이오스 다운로드
GMKtec에서는 google drive에서 BIOS 파일을 제공한다. 이에 대한 정보는 dcinside 에 누군가가 써놓은 글이 검색되어 그 링크에서 찾아보았다.[1]
K12 BIOS 다운로드 링크는 다음과 같다.
이 글을 쓰는 시점에서 GMKtec K12의 BIOS 버전은 2가지가 제공되는데 2.02와 2.03이다. 2.02는 2025년 12월 16일자 바이오스이고, 2.03은 2026년 1월 8일자이다. 현재 업데이트에 성공한 대부분의 글을 보면 2.02로 작업했으므로 본인도 2.03보다는 명확한 후기가 있는 2.02로 업데이트 했다. 각 바이오스 파일 이름은 다음과 같다.
- GMKtec K12 BIOS 2.02 = AKB52-02_GMK_SW2.02_255_20251216.zip
- GMKtec K12 BIOS 2.03 = AKB52-02_GMK_BIOS2.03_EC2.02_255_20260108.zip
참고로 BIOS 2.03은 EC FW는 여전히 2.02이다. EC 펌웨어 쪽은 별로 수정할게 없었던 것 같으니 Fan 설정에는 변화가 없을 것 같다. 아무튼 AKB52-02_GMK_SW2.02_255_20251216.zip 를 다운로드한 뒤에 적당한 곳에 압축을 풀어놓자. 본인은 C:\work 디렉토리를 만들고 여기에 압축을 풀어놓았다.
2. GMKtec K12 바이오스 업데이트
압축을 풀면 Afu_WinFlash라는 하위 디렉토리가 보이고, 여기에 AKB52-02_BIOS_WinFlash.bat 라는 배치 실행파일이 보인다. 이 배치 실행파일을 관리자 권한으로 실행해주면 된다. 즉 아래 그림처럼 마우스 오른버튼 메뉴에서 관리자 권한으로 실행한다. 다시 말하지만 혹시라도 인터넷 뱅킹이나 정부 사이트 접속을 위해 보안 프로그램이 설치되어있다면 꼭 구라제거기로 제거하고 재부팅 후 이 작업을 하도록 하자. 보안 프로그램이 있다면 민감한 작업은 실패할 가능성이 있으니 조심해야 한다. 그리고 업데이트 중에는 다른 프로그램을 모두 닫아주고 오직 이 작업만 하도록 해야 한다.

실행이 되면 CMD창이 열리면서 업데이트가 진행된다. 업데이트 중에는 모든 작업이 멈추기 때문에 그대로 두면 된다. 해당 업데이트 과정은 꽤 길게 진행되어서 10여분 넘게 걸린 것 같다.

그대로 두면 모든 작업이 완료되고 자동으로 재부팅되는데, 이후 BIOS 설정으로 진입해서 F9를 누르고 Default 설정을 불러와야 한다. (보통 바이오스 업데이트 후에는 항상 Default 설정으로 되돌리고나서 설정하는 것이 좋다. 간혹 자동으로 디폴트 설정으로 돌아가는 경우도 많으나 수동으로도 꼭 디폴트를 불러오는 것이 좋다.)
만일 바이오스 업데이트 후 Del키나 F7를 눌렀는데도 윈도로 다시 들어왔다면 관리자 권한으로 명령어 창(cmd.exe)이나 powershell 실행후 아래 명령어를 치면 바이오스로 진입을 할 수 있게 해준다.
shutdown /r /fw /t 0
참고로 Boot 메뉴에서 Fast boot가 Enabled로 되어있으면 바이오스 진입이 어려운 경우가 있다. 따라서 바이오스를 자주 들락달락해야 한다면 Fast boot 기능을 Disabled로 설정하자.
3. GMKtec K12 바이오스 설정법
BIOS로 들어왔다면 Advanced의 "Hardware Monitor" 메뉴로 들어간다. 그러면 아래 그림처럼 CPU Fan setting과 System Fan setting을 할 수 있게 된다. 기본값은 Automatic Mode로 되어있을텐데, 아래처럼 Manual PWM Mode로 변경하고 아래와 같은 값으로 설정해주면 된다. 이에 대한 자세한 설정 매뉴얼은 GMKtec 웹사이트에 설명되어있으니 각주를 참고하자[2].

Manual PWM Mode 팬 설정은 5개의 항목이 있으며, 다음과 같다.
| 항목 | 설명 |
| Fan Off temperature limit | 이 온도에 도달하면 Fan은 멈춘다. |
| Fan start temperature limit | 이 온도 이상이면 Fan은 작동을 시작한다. |
| Fan full Speed tempature limit | 이 온도에 도달하면 Fan은 최고 속도로 작동한다. |
| Fan Start PWM | 팬이 작동할때 기본 속도 퍼센티지다. 즉 Fan start tempature limit에서 시작할때 속도를 의미. |
| PWM SLOPE SETTING | 아마도 PWM 성능을 몇 퍼센트씩 올리거나 줄일 것인지를 의미하는 것 같다. 확실치 않다. |
여기서 중요한 항목은 3개이며 Fan start temperature limit, Fan full Speed tempature limit, Fan Start PWM이다. 특히 Fan Off temperature limit 와 Fan start temperature limit는 같은 값으로 세팅하면 된다. 솔직히 왜 둘을 나눠놨는지는 잘 모르겠다. 두 항목을 다른 값으로 넣으면 이상한 현상을 일으켰다. 예를 들어 45, 40도로 세팅하면 43도 되었을 때 Off온도인 45의 영향을 받아서인지 start temperature limit가 40도여도 실제로는 팬이 돌지 않았다. 따라서 무조건 이 2개의 값은 동일하게 맞춰주는게 좋다고 생각된다.
Fan start PWM은 Fan start temperature limit 온도 이상일 때 fan이 가동을 시작하는데, 초기 속도로 최대 성능의 백분율이다. 즉 20이면 최대 성능의 20%로 작동하는 것이다. 만일 해당 팬의 최대 성능시 RPM이 2000이라면 20%일때 400RPM으로 작동을 시작하라는 뜻이다.
3.1. 매뉴얼 PWM 모드 설정 예시
예를 들어 아래와 같이 설정했다고 가정하자.
- fan_start_temperature_limit = 30
- fan_full_speed_temperature_litmit = 80
- fan_start_pwm = 20
위 경우에는 섭씨30도(fan_start_temperature_limit)가 되면 fan이 돌기 시작하고, 최대 성능의 20%(fan_start_pwm)로 작동한다. 그러다가 섭씨50도가 되었다면 fan_start_temperature_limit보다 20도가 증가한 것인데 fan_full_speed_temperature_litmit - fan_start_temperature_limit = 50이므로, 20도의 증가는 가용 속도의 40%를 증가시키는 것이 된다. 그런데 초기값이 fan_start_pwm = 20%이므로 추가할 수 있는 가용 속도는 80%이며, 다시 80%의 40%를 증가시키는 것이므로 +32%가 된다. 따라서 CPU온도가 50가 되면 위 설정에서는 fan 최대 성능의 52% RPM으로 작동된다. 문제는 이런 공식을 적용하는게 직관적이지 않기 때문에 이를 자동 계산해주는 python code를 하나 작성했다.
3.2. GMKtec K12 팬 속도 계산 파이썬 코드
이 코드는 python으로 작성되어있으므로 적당한 파이썬 파일로 저장하고 실행하면 된다. 사용법은 코드 아랫쪽의 calculate_fan_metrics 를 호출하는 부분을 보면 된다.
def calculate_fan_metrics(start_temp, full_temp, start_pwm, ref_temp=0, ref_rpm=0):
"""
start_temp: 팬 가동 시작 온도
full_temp: 팬 최대 속도 도달 온도
start_pwm: 시작 시 PWM (%)
ref_temp: 기준 온도 (0 입력 시 RPM 계산 무시, RPM정보가 없는 경우 0을 입력)
ref_rpm: 기준 온도에서의 RPM (0 입력 시 RPM 계산 무시, RPM정보가 없는 경우 0을 입력)
"""
# 1. 온도 범위 및 가용 PWM 범위 계산
temp_range = full_temp - start_temp
available_pwm_range = 100 - start_pwm
# RPM 계산 가능 여부 확인
calculate_rpm = ref_temp > 0 and ref_rpm > 0
max_rpm = 0
if calculate_rpm:
# 기준 온도에서의 PWM % 계산
ref_temp_increase_ratio = (ref_temp - start_temp) / temp_range
ref_pwm_percent = start_pwm + (available_pwm_range * ref_temp_increase_ratio)
# 최대 RPM (100% 성능) 유추 공식
# $$Max\ RPM = \frac{Reference\ RPM \times 100}{Reference\ PWM\%}$$
max_rpm = (ref_rpm * 100) / ref_pwm_percent
print(f"--- 분석 결과 (RPM 포함) ---")
print(f"유추된 최대 성능(100%) RPM: {max_rpm:.0f} RPM\n")
else:
print(f"--- 분석 결과 (PWM 전용) ---")
print(f"기준 RPM 정보가 없어 온도별 %만 계산합니다.\n")
# 2. 결과 출력 헤더 구성
header = f"{'단계':<4} | {'온도 (°C)':<10} | {'팬 속도 (%)':<12}"
if calculate_rpm:
header += f" | {'RPM (추산)':<10}"
print(header)
print("-" * (len(header) + 2))
# 3. 데이터 계산 및 출력
for i in range(6):
ratio = i / 5
current_temp = start_temp + (temp_range * ratio)
current_pwm = start_pwm + (available_pwm_range * ratio)
row = f"{i:<6} | {current_temp:<12.1f} | {current_pwm:<13.1f}%"
if calculate_rpm:
current_rpm = max_rpm * (current_pwm / 100)
row += f" | {current_rpm:<10.0f}"
print(row)
# --- 실행 예시 1: CPU fan. 41도 값 측정 ---
print("[CPU Fan]")
calculate_fan_metrics(30, 80, 20, 41, 1342)
print("\n" + "="*50 + "\n")
# --- 실행 예시 2: System fan 설정. 41도 값 측정 ---
print("[System Fan]")
calculate_fan_metrics(40, 80, 30, 41, 604)
위 코드에서 맨 아래에 calculate_fan_metrics 함수가 핵심인데, 인수는 fan start temperature, fan full temperature, start PWM 과 뒤에는 측정된 온도값을 넣으면 RPM 퍼센티지와 RPM속도를 추측해서 알려준다. 위 그림파일처럼 본인이 사용하는 CPU fan과 System fan 설정을 아래는 실행 결과이다.
$ ./gmk_k12_bios_pwm_settings.py
[CPU Fan]
--- 분석 결과 (RPM 포함) ---
유추된 최대 성능(100%) RPM: 3569 RPM
단계 | 온도 (°C) | 팬 속도 (%) | RPM (추산)
-----------------------------------------------
0 | 30.0 | 20.0 % | 714
1 | 40.0 | 36.0 % | 1285
2 | 50.0 | 52.0 % | 1856
3 | 60.0 | 68.0 % | 2427
4 | 70.0 | 84.0 % | 2998
5 | 80.0 | 100.0 % | 3569
==================================================
[System Fan]
--- 분석 결과 (RPM 포함) ---
유추된 최대 성능(100%) RPM: 1902 RPM
단계 | 온도 (°C) | 팬 속도 (%) | RPM (추산)
-----------------------------------------------
0 | 40.0 | 30.0 % | 571
1 | 48.0 | 44.0 % | 837
2 | 56.0 | 58.0 % | 1103
3 | 64.0 | 72.0 % | 1370
4 | 72.0 | 86.0 % | 1636
5 | 80.0 | 100.0 % | 1902
즉 본인과 같이 설정하면 대락 어느 정도로 RPM이 작동하는 유추할 수 있을 것이다. CPU fan의 Start PWM을 40%로 상향시킨뒤 측정해보면 아래와 같이 값이 달라진다. 원래 PWM이 그렇게 칼처럼 정확한 것은 아니기 때문에 프로그램이 보여주는 값은 그냥 대략적으로만 유추하면 될 것 같다. 보통 전압이 높을때 오히려 제대로 된 값을 보여주므로 아마도 CPU 팬은 최대 4000~5000 RPM 사이의 제품이 아닌가 생각된다.
# calculate_fan_metrics(30, 80, 40, 39, 2065) # Start PWM 40%에서는 39도, 2065 RPM이 측정되었다.
[CPU Fan]
--- 분석 결과 (RPM 포함) ---
유추된 최대 성능(100%) RPM: 4065 RPM
단계 | 온도 (°C) | 팬 속도 (%) | RPM (추산)
-----------------------------------------------
0 | 30.0 | 40.0 % | 1626
1 | 40.0 | 52.0 % | 2114
2 | 50.0 | 64.0 % | 2602
3 | 60.0 | 76.0 % | 3089
4 | 70.0 | 88.0 % | 3577
5 | 80.0 | 100.0 % | 4065
4. 결론
바이오스 업데이트 후 Manual PWM Mode를 적절하게 설정하면 아주 쾌적하게 사용할 수 있다. 그리고 참고로 2000 RPM이 넘어가면 소음이 조금 거슬릴 정도로 커진다.
[1] GMKtec 바이오스 및 소프트웨어 링크 모음, https://gall.dcinside.com/mgallery/board/view/?id=minipc&no=262
[2] GMKtec K12 팬 설정법, https://www.gmktec.com/pages/k12-fan-speed-setting-modification-operation-guide?spm=..product_ee8b6354-4815-4f89-a502-a6fdf86ce1a9.product_description_1.1
[3] GMKtec K12 spec, https://www.gmktec.com/products/gmktec-k12-amd-ryzen%E2%84%A2-7-h-255-mini-pc
히스토리
2026.03.01 첫 릴리즈
'컴퓨터 관련 > 기타 등등' 카테고리의 다른 글
| AX900 wifi USB 동글 리뷰 - aliexpress 제품 10종 (0) | 2025.07.06 |
|---|---|
| 인공지능 ChatGPT의 함정: 프로그래머의 관점 (0) | 2025.02.09 |
| 암호만 신경써도 성공적인 보안 체계이다 (4) | 2025.01.10 |
| USB4 외장 인클로저 Maiwo K1625 ASM2464PD 칩셋 썬더볼트호환 (8) | 2024.07.07 |
| AMD 7840HS 미니 PC Firebat MN56 리뷰 (11) | 2024.06.30 |
| 크롬에서 탭 닫은 후 우측 상단에 "닫기" 버튼이 보이는 문제 (버그?) (5) | 2024.04.22 |
| 인텔 N100 미니PC SZBOX W6 리뷰 (2) | 2024.03.25 |
| 크롬에서 세로 길이가 긴 이미지 늘어짐 및 깨짐 문제 (5) | 2024.01.28 |
