반응형

📅 Last Update: 2025-02-13

Content:

Ubuntu Live USB로 부팅하여 EXT4 파티션을 축소하고, SWAP 파티션을 조정한 뒤 Windows C 드라이브를 확장하는 방법을 정리하였습니다.
제조사별 Boot Menu 단축키도 함께 포함되어 있습니다.


🖥️ Ubuntu Live USB로 리눅스 파티션 축소 후 Windows 볼륨 확장하는 방법

듀얼부팅 환경에서는 Windows의 C 드라이브를 확장하려고 할 때,
바로 오른쪽에 Ubuntu EXT4 파티션 또는 SWAP 파티션이 위치하여
Windows 자체 기능만으로는 확장이 어려운 경우가 종종 발생합니다.

이 글에서는 Ubuntu Live USB 부팅 → GParted로 파티션 조정 → Windows에서 C 드라이브 확장까지의 전체 과정을 정돈하여 안내드립니다.


📌 전체 작업 순서

  1. Live USB로 부팅
  2. GParted 실행
  3. EXT4 파티션 축소
  4. SWAP 파티션 이동 또는 삭제
  5. 파티션 배열 확인
  6. Windows에서 C 드라이브 확장

1. Live USB로 부팅하는 방법

Live USB 제작 과정은 아래 별도의 포스팅을 참고하시면 됩니다.

  • 👉 Live USB 제작 방법 보기: https://example.com (원하시는 링크로 교체하시면 됩니다)

USB가 준비되었다면 PC를 재부팅하신 후 Boot Menu에서 USB를 선택하여 부팅하시면 됩니다.
아래는 제조사별 Boot Menu 단축키 안내입니다.

🔑 제조사별 Boot Menu 단축키

제조사 Boot Menu BIOS 진입
ASUS F8 F2
Acer F12 (필요할 경우 BIOS에서 활성화) Del / F2
Dell F12 F2
HP ESC → F9 ESC / F10
Lenovo (노트북) F12 F1 / F2
Lenovo ThinkPad Enter → F12 F1
MSI F11 Del
Gigabyte 메인보드 F12 Del
ASRock 메인보드 F11 F2 / Del
Samsung (노트북) F12 또는 Fn+F12 F2
LG Gram F10 또는 F12 F2
Sony VAIO Assist 버튼 Assist 버튼
Toshiba F12 F2

부팅한 뒤에는
Try Ubuntu without installing
옵션을 선택하여 설치 없이 Live 환경으로 들어가시면 됩니다.


2. GParted 실행

Live 환경에 진입하시면 GParted를 실행하실 수 있습니다.

sudo gparted

또는 앱 메뉴에서 바로 실행하시면 됩니다.


3. EXT4 파티션 축소

Windows에서 확장 가능하도록 EXT4 파티션의 오른쪽 끝 부분을 줄여 주시면 됩니다.
왼쪽 영역을 이동하거나 조정하는 경우 파티션 번호나 시작 위치가 달라져
향후 문제가 발생할 수 있으므로 되도록 오른쪽만 조정하시는 것을 권장드립니다.

진행 방식 예시

  • EXT4 파티션을 선택하신 뒤
  • Resize/Move 메뉴에서 오른쪽 슬라이더를 왼쪽으로 이동하여 크기를 줄이시면 됩니다
  • Unallocated 공간이 EXT4 뒤쪽에 생성되었는지 확인하시면 됩니다

4. SWAP 파티션 위치 조정

EXT4 파티션 뒤쪽에 SWAP 파티션이 위치하고 있으면
Windows에서는 Unallocated 공간을 바로 사용할 수 없어 C 드라이브 확장이 되지 않습니다.

✔ SWAP 파티션 삭제(권장)

최근 Ubuntu는 swapfile 방식을 사용하므로,
기존 SWAP 파티션을 삭제하셔도 전혀 문제가 되지 않습니다.

  • SWAP을 선택하시고 Swapoff를 실행하신 뒤
  • Delete를 선택해 삭제하시면 됩니다
  • 이렇게 하시면 EXT4 뒤쪽의 Unallocated 공간이 자연스럽게 이어집니다

✔ SWAP 이동(보존이 필요한 경우)

SWAP을 유지하고자 하실 경우
Move 기능으로 SWAP을 디스크 가장 끝쪽으로 옮기시면 됩니다.
다만 이동 작업은 파일 시스템 위치를 변환해야 하기 때문에
시간이 오래 걸릴 수 있는 점 참고 부탁드립니다.


5. 최종 파티션 배열 확인

Windows에서 확장을 위해서는 구조가 아래와 같은 형태여야 합니다.

[EFI] | [Windows C:] | [Unallocated]

C 드라이브 오른쪽에 Unallocated 공간이 바로 붙어 있는지가 가장 중요합니다.


6. Windows에서 C 드라이브 확장

Windows로 다시 부팅하신 뒤,
아래 순서로 C 드라이브를 늘리실 수 있습니다.

  1. Win + X → 디스크 관리
  2. C 드라이브 우클릭
  3. 볼륨 확장 선택
  4. Unallocated 공간 전체를 선택하여 확장하시면 됩니다
반응형
반응형

Updated : 2025-11-19
Contents: 윈도우에서 듀얼 부팅을 위해 세팅해야 할 것들 정리


📚 Contents

  1. 윈도우에서 Ubuntu 설치를 위한 파티션 나누기
  2. Ubuntu ISO 파일 다운로드
  3. balenaEtcher 다운로드 & 설치
  4. 부팅 USB 만들기
  5. USB로 부팅하여 Ubuntu 설치

1. 윈도우에서 Ubuntu 설치를 위한 파티션 나누기

듀얼 부팅을 위해서는 Ubuntu가 설치될 빈 공간(파티션) 을 먼저 확보해야 합니다. 아래 순서대로 진행하세요.

🔧 1-1. 디스크 관리 실행

  1. Windows + X 키 클릭
  2. 목록에서 디스크 관리 선택
    또는 실행창(Win+R)에 diskmgmt.msc 입력

🔧 1-2. 파티션 축소하기

  1. Ubuntu를 설치할 드라이브(C:\ 또는 D:\ 등)를 우클릭
  2. 볼륨 축소(Shrink Volume) 선택
  3. "축소할 공간"에 원하는 용량 입력
    • Ubuntu 데스크탑 기본 권장: 30GB 이상
  4. 축소(Shrink) 버튼 클릭

축소 후 할당되지 않음(Unallocated) 공간이 생기면 성공입니다.

💡 파티션은 Windows에서 미리 포맷할 필요 없습니다. Ubuntu 설치 과정에서 자동으로 설정합니다.


2. Ubuntu ISO 파일 다운로드

  1. 공식 다운로드 페이지 방문
    👉 https://ubuntu.com/download
  2. 원하는 버전 선택하여 .iso 파일 다운로드
  3. LTS 버전(LTS: Long Term Support) 권장

3. balenaEtcher 다운로드 & 설치

  1. 다운로드 페이지 이동
    👉 https://www.balena.io/etcher/
  2. Windows용 설치 파일 다운로드
  3. 실행하여 설치 완료

4. 부팅 USB 만들기

USB 메모리(8GB 이상)를 PC에 연결한 후 Etcher를 실행합니다.

🔥 4-1. ISO 파일 선택

Flash from file → Ubuntu ISO 선택

🔥 4-2. USB 선택

Select target → 연결된 USB 드라이브 선택

🔥 4-3. 굽기 시작

Flash! 클릭 → 완전히 끝날 때까지 기다립니다
(약 3~10분)


5. USB로 부팅하여 Ubuntu 설치

🚀 5-1. BIOS/UEFI 진입

PC 재부팅 → 제조사별 진입키(F2, F12, ESC, DEL 등)

🚀 5-2. Boot Menu에서 USB 선택

USB를 선택하면 Ubuntu 설치 화면으로 진입

🚀 5-3. Ubuntu 설치

설치 과정에서 다음 옵션 선택:
"Install Ubuntu alongside Windows"
→ 자동으로 파티션 분리 + 듀얼부팅 구성


6. 자동 업데이트 비활성화 설정

Ubuntu는 기본적으로 보안 업데이트와 APT 패키지 업데이트를 자동으로 실행합니다. 아래 방법을 통해 자동 업데이트를 완전히 끌 수 있습니다.


6-1. 🖥️ GUI(그래픽 환경)에서 자동 업데이트 끄기

Ubuntu Desktop에서는 Software & Updates 도구에서 자동 업데이트 기능을 제어할 수 있습니다.

1) Software & Updates 열기

  • SettingsSoftware & Updates
  • 상단 탭에서 Updates 선택

2) 아래 항목을 다음과 같이 설정

설정 항목 권장값
Automatically check for updates Never
When there are security updates Display immediately 또는 Never
When there are other updates 무시 가능 (자동 설치 아님)
Notify me of a new Ubuntu version Never

이 설정을 적용하면 GUI 환경에서 이루어지는 모든 자동 업데이트 체크가 비활성화됩니다.


6-2. 🔧 CLI(터미널)에서 자동 업데이트 끄기

터미널을 사용하면 Ubuntu 업데이트 시스템을 근본적으로 비활성화할 수 있습니다.


1) unattended-upgrades 비활성화 (보안 자동 업데이트 차단)

서비스 중지 및 비활성화:

sudo systemctl disable --now unattended-upgrades

설정 파일 수정:

sudo nano /etc/apt/apt.conf.d/20auto-upgrades

다음을 모두 0으로 변경:

APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "0";

2) APT Periodic 자동 실행 완전 중단

APT가 일정 주기로 업데이트를 확인하는 기능을 끕니다.

sudo nano /etc/apt/apt.conf.d/10periodic

모든 값을 "0"으로 설정:

APT::Periodic::Enable "0";
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";

3) Snap 자동 업데이트 비활성화(선택 사항)

Snap은 자동 업데이트 강제가 기본값입니다. 완전히 끄려면 snapd 관련 서비스를 disable 해야 합니다.

sudo systemctl stop snapd.service
sudo systemctl stop snapd.socket
sudo systemctl stop snapd.seeded.service

sudo systemctl disable snapd.service
sudo systemctl disable snapd.socket
sudo systemctl disable snapd.seeded.service

⚠️ Snap 기반 앱 사용 불가 (Chromium, Slack 등 일부 앱)


4) Flatpak 자동 업데이트 끄기(사용 중일 경우)

Flatpak 타이머 비활성화:

sudo systemctl mask flatpak-system-helper.timer
sudo systemctl mask flatpak-system-helper.service

또는 자동 업데이트 자체 비활성화:

flatpak update --disable

7. 커널 업데이트 차단 방법

Ubuntu는 일반 패키지 업데이트와 함께 커널 업데이트도 자동으로 설치하려고 합니다.
특정 커널 버전을 유지하거나, 시스템 안정성을 위해 커널 업데이트를 막고 싶다면 아래 방법을 사용할 수 있습니다.


7-1. 🖥️ GUI(그래픽 환경)에서 커널 업데이트 차단

Ubuntu GUI에서는 커널 업데이트 자체를 직접적으로 비활성화하는 기능은 없지만,
커널 업데이트가 포함된 보안 업데이트 자동 알림/자동 적용을 차단하는 방식으로 간접적으로 막을 수 있습니다.

1) Software & Updates 실행

  • SettingsSoftware & Updates
  • 상단 메뉴에서 Updates 탭 선택

2) 아래 항목 설정값 변경

항목 설정값
Automatically check for updates Never
When there are security updates Never
When there are other updates Display every two weeks 또는 Never
Notify me of a new Ubuntu version Never

이 설정을 적용하면 GUI를 통한 자동·반자동 커널 업데이트(보안 포함)가 모두 표시되지 않으며 설치도 트리거되지 않습니다.
단, 완전 차단은 CLI 방식이 더 안전합니다.


7-2. 🔧 CLI(터미널)에서 커널 업데이트 완전 차단

CLI에서는 APT hold 또는 APT Pinning을 사용하여 커널 업데이트를 완전히 차단할 수 있습니다.


1) 현재 커널 버전 확인

uname -r

예:

5.15.0-91-generic

이 값은 이후 특정 커널을 고정할 때 필요합니다.


2) APT hold로 커널 업데이트 차단 (가장 간단하고 안전한 방법)

APT에서 특정 패키지를 hold 상태로 만들면 더 이상 업데이트되지 않습니다.

sudo apt-mark hold linux-image-generic linux-headers-generic
sudo apt-mark hold linux-image-$(uname -r)
sudo apt-mark hold linux-headers-$(uname -r)
sudo apt-mark hold linux-modules-$(uname -r)
sudo apt-mark hold linux-modules-extra-$(uname -r)

hold 상태 확인

apt-mark showhold

여기에 커널 관련 패키지가 뜨면 차단 성공입니다.


3) APT Pinning으로 모든 커널 업데이트 완전 차단 (가장 강력한 방법)

APT Pinning으로 패키지 우선순위를 -1로 설정하면
APT는 그 패키지를 “설치 금지” 로 인식하게 됩니다.

설정 파일 생성:

sudo nano /etc/apt/preferences.d/block-kernel

아래 내용을 입력:

Package: linux-image*
Pin: release *
Pin-Priority: -1

Package: linux-headers*
Pin: release *
Pin-Priority: -1

Package: linux-modules*
Pin: release *
Pin-Priority: -1

효과:

  • 모든 커널 이미지(linux-image-*)
  • 헤더(linux-headers-*)
  • 모듈(linux-modules-*)
  • HWE 커널 포함
    APT가 절대로 설치/업데이트하지 않음

4) Ubuntu Livepatch(커널 핫패치) 비활성화

Livepatch도 커널 업데이트의 일종입니다.

sudo canonical-livepatch disable
sudo apt purge canonical-livepatch

5) unattended-upgrades로 인한 커널 보안 업데이트 차단

보안 업데이트 기능이 켜져 있으면 커널 업데이트가 포함될 수 있습니다.
Section 6-2의 unattended-upgrades 비활성화를 반드시 적용하세요.


이제 Windows와 Ubuntu를 함께 사용할 수 있는 듀얼 부팅 환경이 완성됩니다!
with ChatGPT

반응형
반응형

Content: solution of riscv64-unknown-elf-gdb path error
Updates: 2024.09.09
 

문제 상황 Problem Case

❯ /usr/local/bin/riscv64-unknown-elf-gdb kernel/kernel
GNU gdb (GDB) 10.1
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "--host=x86_64-pc-linux-gnu --target=riscv64-unknown-elf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from kernel/kernel...
warning: File "/{xv6-riscv PATH}/.gdbinit" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
        add-auto-load-safe-path /{xv6-riscv PATH}/.gdbinit
line to your configuration file "/{HOME_PATH}/.gdbinit".
To completely disable this security protection add
        set auto-load safe-path /
line to your configuration file "/{HOME_PATH}/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual.  E.g., run from the shell:
--Type <RET> for more, q to quit, c to continue without paging--
        info "(gdb)Auto-loading safe path"

 

Solution

  1. $ make qemu-gdb $ /usr/local/bin/riscv64-unknown-elf-gdb kernel/kernel 모두 종료
  2. $ vi /{HOME_PATH}/.gdbinit
  3. add-auto-load-safe-path /{xv6-riscv PATH}/.gdbinit > add in .gdbinit file

위 게시물은 Markdown으로 작성하였습니다
도움이 되셨다면 공감 꾸욱 눌러주세요👍

반응형
반응형

Update : 2024.05.04

Content : RunPod에서 원하는 이미지로 GPU Pod 만들기

                 Use the other docker image on RunPod

 

1. 먼저 Deploy 페이지에 들어갑니다 Go to the Deploy page

https://www.runpod.io/console/deploy

 

2. GPU나 CPU를 선택해줍니다 Select GPU or CPU

 

3. Change Template

- 만약 원하는 템플릿이 없을 경우, 원하는 이미지로 템플릿을 생성합니다.

-  If there is not what you want, go Templates.

- 생성하기 위해 아래의 페이지로 이동합니다.

https://www.runpod.io/console/user/templates

nvidia/cuda:12.1.0-devel-ubuntu22.04 example

 

4. 다시 1번부터 동일한 절차를 반복하고 Change Template에서 원하는 템플릿을 선택합니다.

    Return Change Template and select the image which you want

 

5. Edit Template로 돌아와서 반드시 Container Start Command를 추가합니다. 

    Go Edit Template and MUST ADD Container Start Command

 

아래 보여지는 문구가 Container Start Command입니다.

해당 커맨드와 함께 실행하는 까닭은 해당되는 docker image에 ssh가 설치되어 있지 않아 바로 원격 접속하여 사용할 수 없기 때문입니다. 

bash -c 'apt update;DEBIAN_FRONTEND=noninteractive apt-get install openssh-server -y;mkdir -p ~/.ssh;cd $_;chmod 700 ~/.ssh;echo "$PUBLIC_KEY" >> authorized_keys;chmod 700 authorized_keys;service ssh start;sleep infinity'

 

 

6. Container Disk와 Volume Disk의 사이즈를 적절하게 조절합니다.

    Change Container Disk and Volume Disk size

 

- Container disk는 매번 실행할 때마다, 다시 말해 중지하고 다시 실행할 때마다 초기화되는 일시적인 저장소의 크기를 의미합니다. 이는 파이선의 라이브러리와 캐시 등을 포함합니다.

- Volume disk는 at /workspace에 저장된 영구적인 저장소의 크기를 의미합니다.

 

- Container disk is temporal storage including python libs and caches.

- Volume disk is persistant storage which is stored in /workspace.

 

7. Set Overrides하고 모든 것이 잘 설정되었다면, Deploy On-Demand하여 마칩니다.

    Click Set Overrides and Deploy On-Demand if everything is fine.

 

Reference : https://docs.runpod.io/pods/configuration/use-ssh

반응형
반응형

Update : 2024.05.01

Content : RunPod을 사용할 때 scp를 사용하여 로컬 컴퓨터와 파일을 다운로드 / 업로드 하는 방법

 

Reference : https://docs.runpod.io/pods/storage/transfer-files-with-scp

 

Transfer files with SCP | RunPod Documentation

Prerequisites

docs.runpod.io

 

1. RunPod에서 Pod을 먼저 실행해야 합니다. 컨테이너가 실행이 안 되어 있으면 scp 사용이 불가능합니다.

2. RunPod과 ssh로 연결되어 있는 기기에서 cmd나 powershell 등의 터미널을 하나 엽니다.

3. 아래의 스크립트를 상황에 맞추어 터미널에 입력하여 사용합니다.

    터미널에 적여 있는 포트 번호나 도메인 주소는 RunPod 컨테이너에 ssh를 사용하여 연결할 때 썼던 숫자들을 그대로 다시 사용하면 됩니다. 아래 스크립트의 첫 번째 파일 주소는 다운로드를 원하는 파일 주소이며, 두 번쨰 파일 주소는 다운로드를 받을 위치를 의미합니다.

# 로컬 컴퓨터로 파일 다운로드
scp -P PORT_NUM -i ~/.ssh/id_ed25519 root@DOMAIN:FILE_PATH DOWNLOAD_PATH (YOUR COMPUTER PATH)

# 로컬 컴퓨터로 폴더 다운로드
scp -P PORT_NUM -i ~/.ssh/id_ed25519 -r root@DOMAIN:FILE_PATH DOWNLOAD_PATH (YOUR COMPUTER PATH)

# RunPod 컨테이너로 파일 업로드
scp -P PORT_NUM -i ~/.ssh/id_ed25519 FILE_PATH (YOUR COMPUTER PATH) root@DOMAIN:DESTINATION_PATH

# example (로컬 컴퓨터로 파일 다운로드)
scp -P 13111 -i ~/.ssh/id_ed25519 -r root@123.141.122.13:/workspace/TensorRT-LLM/examples/gemma/NSYS1 C:\Users\klue\download
반응형
반응형

update : 2024.04.25

contents :  VS Code에서 SSH를 사용하여 원격 접속하는 방법

 

1. 확장에 Remote-SSH, ssh를 설치해주세요

 

2. Ctrl+Shift+P를 눌러주세요

 

3. 아래 그림에서 보이는 항목 중에서 Remote-SSH: 호스트에 연결... 을 눌러주세요

# Remote-SSH: Get Started with SSH
# 이 항목은 이전에 연결했던 주소로 연결합니다

# Remote-SSH: Add New SSH host
# 이 항목으로 들어가면 ssh 명령어를 사용해서 연결할 수 있어요
ssh ROOT@EXAMPLE.COM -p PORT_NUM

    

     

 

참고자료 : 

https://code.visualstudio.com/docs/remote/ssh#_getting-started

 

Developing on Remote Machines using SSH and Visual Studio Code

Developing on Remote Machines or VMs using Visual Studio Code Remote Development and SSH

code.visualstudio.com

 

 

 

반응형
반응형

update : 2024.04.23

contents : Using SSH on VS Code

 

1. Install Remote-SSH of extenstions

 

2. Press Ctrl+Shift+P

 

3. Connect with SSH

# Remote-SSH: Get Started with SSH
# Connect the previous SSH connection

# Remote-SSH: Add New SSH host
# example
ssh ROOT@EXAMPLE.COM -p PORT_NUM

    

     

 

reference : https://code.visualstudio.com/docs/remote/ssh#_getting-started

 

Developing on Remote Machines using SSH and Visual Studio Code

Developing on Remote Machines or VMs using Visual Studio Code Remote Development and SSH

code.visualstudio.com

 

 

 

반응형

+ Recent posts