728x90
반응형
Ubuntu 설치나 관리 중에 부팅 가능한 ISO 이미지를 디스크의 특정 파티션에 설치하고 싶은 경우가 있습니다. 이 글에서는 dd 명령어를 사용하여 ISO 이미지를 특정 파티션에 설치하고, 해당 파티션에서 부팅할 수 있도록 설정하는 방법을 단계적으로 설명합니다.
1. ISO 이미지를 특정 파티션에 설치하는 이유
- USB 없이 디스크 파티션에서 직접 부팅하고 싶을 때.
- ISO 이미지를 디스크에 설치해 라이브 환경 또는 OS 설치 환경을 만들고 싶을 때.
2. dd 명령어로 ISO를 특정 파티션에 복사하기
준비
- ISO 파일 준비 Ubuntu ISO 파일을 준비합니다. 파일 경로를 확인해 두세요. 예를 들어: /path/to/ubuntu.iso
- 대상 파티션 확인 ISO를 설치할 디스크와 파티션을 확인합니다. 예: /dev/nvme0n1p3.
- 디스크 및 파티션 정보 확인 명령어:
lsblk
ISO 이미지 복사
dd 명령어를 사용하여 ISO 이미지를 특정 파티션에 복사합니다.
sudo dd if=/path/to/ubuntu.iso of=/dev/nvme0n1p3 bs=4M status=progress
- if: 입력 파일 (ISO 이미지 경로).
- of: 출력 디바이스 (대상 파티션 경로).
- bs=4M: 블록 크기를 설정하여 복사 속도 향상.
- status=progress: 진행 상황을 표시.
작업 완료 후 데이터 동기화를 실행합니다.
sudo sync
3. ISO로 부팅 가능하게 설정
ISO 이미지를 특정 파티션에 복사한 후, 부팅이 가능하도록 GRUB 부트로더를 설정해야 합니다.
GRUB 부트로더 설정
- 라이브 Ubuntu 환경 또는 기존 설치된 Ubuntu에서 GRUB 설정 파일을 엽니다.
sudo nano /etc/grub.d/40_custom
- 아래 내용을 추가합니다.
menuentry "Boot Ubuntu ISO" {
set isofile="/dev/nvme0n1p3"
loopback loop (hd0,gpt3)
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash ---
initrd (loop)/casper/initrd
}
- (hd0,gpt3): ISO가 설치된 파티션 (예: /dev/nvme0n1p3).
- casper/vmlinuz와 casper/initrd: ISO 내부의 커널과 초기 램디스크 파일입니다.
- GRUB 업데이트 명령어를 실행합니다.
sudo update-grub
4. BIOS/UEFI 설정
- 컴퓨터를 재부팅합니다.
- BIOS/UEFI 설정 화면에 진입합니다.
- 제조사에 따라 F2, Del, Esc, F12 키 중 하나를 사용합니다.
- 부팅 우선순위를 설정합니다.
- GRUB 부트로더가 설치된 디스크(예: ubuntu (SHGP31-2000GM))를 부팅 장치로 선택합니다.
5. ISO 부팅 성공 확인
GRUB 부트로더 메뉴에서 "Boot Ubuntu ISO"를 선택하면, ISO 파일로 부팅이 진행됩니다. 정상적으로 Ubuntu 설치 화면이나 라이브 환경이 나타나면 성공입니다.
주의사항
- 데이터 손실 dd 명령어는 지정된 파티션을 ISO 이미지로 덮어씁니다. 복사 전에 데이터가 모두 삭제되므로, 필요한 데이터는 반드시 백업하세요.
- ISO 부팅과 OS 설치의 차이 ISO로 부팅은 라이브 환경 제공 및 설치 준비 과정입니다. 실제로 OS를 사용하려면 설치 마법사를 실행해 OS를 해당 파티션에 설치해야 합니다.
마무리
dd 명령어를 사용해 ISO 이미지를 특정 파티션에 설치하고, GRUB 부트로더를 설정하는 방법을 알아보았습니다. 이 과정을 통해 USB 없이도 부팅 가능한 환경을 만들거나 설치를 진행할 수 있습니다.
더 궁금한 점이 있다면 댓글로 남겨주세요! 😊
'임베디드 관련 카테고리 > Ubuntu' 카테고리의 다른 글
파일 디스크립터(fd)와 epoll 쉽게 이해하기 (0) | 2025.02.27 |
---|---|
Ubuntu에서 Python 가상환경(venv) 설정 및 externally-managed-environment 에러 해결 (1) | 2024.12.05 |
Ubuntu 관리 꿀팁: USB 제작부터 파티션 관리, ISO 생성, 특정 파티션 OS 설치까지! (0) | 2024.11.26 |
Docker로 GitHub 리포지토리 클론 및 환경 설정 자동화하기 (3) | 2024.10.23 |
.env 파일로 GITHUB_TOKEN 환경 변수 항상 사용하기 (0) | 2024.10.22 |
댓글