리눅스 사용자들은 전통적으로 ISO 파일을 DVD나 CD에 구워 사용했지만, 오늘날 많은 컴퓨터에는 디스크 드라이브가 사라졌습니다. 부팅 가능한 USB 드라이브는 이러한 문제를 해결하는 훌륭한 대안입니다. 대부분의 컴퓨터에서 호환되며, 부팅, 실행, 그리고 설치 속도도 훨씬 빠릅니다.
부팅 가능 리눅스 USB 드라이브의 작동 원리
라이브 CD나 DVD처럼, 부팅 가능한 USB 드라이브를 사용하면 컴퓨터 시스템에 어떠한 영향도 주지 않고 다양한 리눅스 배포판을 시험해 볼 수 있습니다. 또한, CD/DVD 드라이브 없이도 리눅스를 PC에 설치할 수 있습니다. 그러나 단순히 ISO 파일을 USB 드라이브에 복사하거나 압축을 해제한다고 해서 바로 작동하지는 않습니다. 기술적으로 USB 드라이브에 ISO 파일을 “굽는” 것은 아니지만, 리눅스 ISO 파일로부터 부팅 가능한 USB 드라이브를 만드는 특별한 절차가 필요합니다.
이 작업을 수행하는 방법은 두 가지입니다. 몇몇 리눅스 배포판은 그래픽 환경에서 USB 시동 디스크를 만들 수 있는 도구를 제공합니다. 또한, 터미널에서 dd
명령어를 사용하여 동일한 작업을 수행할 수도 있습니다. 어떤 방법을 선택하든, 먼저 리눅스 배포판의 ISO 파일이 준비되어 있어야 합니다.
예를 들어, 우분투 리눅스는 부팅 가능한 USB 드라이브를 만드는 두 가지 내장 방법을 제공합니다. 부팅 가능한 USB 드라이브는 우분투 라이브 DVD와 같은 경험을 제공하여, 사용자가 컴퓨터 설정을 변경하지 않고도 널리 사용되는 유닉스 계열 운영체제를 체험해 볼 수 있게 합니다. 우분투 설치 준비가 완료되면, USB 드라이브를 설치 미디어로 활용할 수도 있습니다.
부팅 가능한 USB 드라이브를 제작하려면 우분투 설치 ISO 이미지가 필요합니다. 우분투 다운로드 페이지에서 사용하고자 하는 우분투 버전을 다운로드했는지 확인하십시오.
주의할 점은 이 부팅 가능한 USB 드라이브는 우분투 리눅스의 작업 복사본으로 부팅되지만, 변경 사항은 저장되지 않는다는 것입니다. 매번 USB 드라이브로 우분투를 부팅할 때마다 새로운 인스턴스가 시작됩니다. 만약 변경 사항과 데이터를 저장하고 싶다면 영구 저장 공간을 갖는 부팅 가능한 USB 드라이브를 제작해야 하며, 이는 더 복잡한 과정입니다.
완성된 USB 드라이브를 컴퓨터에 연결하고 USB 장치에서 부팅하기만 하면 됩니다. (일부 PC에서는 선택한 리눅스 배포판에 따라 보안 부팅을 비활성화해야 할 수도 있습니다.)
여기서는 우분투를 예시로 들었지만, 다른 리눅스 배포판에서도 유사한 방식으로 작동합니다.
그래픽 인터페이스를 이용한 부팅 가능 USB 드라이브 제작
기본 우분투 설치 환경에는 ‘시동 디스크 생성기(Startup Disk Creator)’라는 애플리케이션이 포함되어 있습니다. 이 도구를 사용하여 부팅 가능한 USB 드라이브를 만들 수 있습니다. 다른 리눅스 배포판 사용자라면 비슷한 유틸리티를 찾을 수 있을 것입니다. 자세한 내용은 해당 리눅스 배포판의 설명서를 참고하거나 온라인에서 검색해 보십시오.
윈도우 사용자의 경우, 라이브 USB 드라이브를 손쉽게 만들 수 있는 Rufus라는 도구를 추천합니다.
경고: 이 과정을 진행하면 대상 USB 드라이브의 모든 데이터가 삭제됩니다. 실수로 다른 USB 드라이브에 덮어쓰는 것을 방지하기 위해, 진행하기 전에 연결된 다른 USB 드라이브들을 모두 제거하는 것이 좋습니다.
우분투의 경우, 4GB 이상의 USB 드라이브를 사용하는 것이 적절합니다. 선택한 리눅스 ISO 파일이 이보다 더 클 경우 (대부분은 그렇지 않지만), 더 큰 용량의 USB 드라이브가 필요할 수 있습니다.
정확한 USB 드라이브가 컴퓨터에 연결된 유일한 장치인지 확인했다면, ‘시동 디스크 생성기’를 실행하십시오. Super 키(대부분 키보드에서 윈도우 키)를 누르고 “시동 디스크”를 입력하면, ‘시동 디스크 생성기’ 아이콘이 나타날 것입니다. 해당 아이콘을 클릭하거나 Enter 키를 누르십시오.
시동 디스크 생성기의 기본 창이 나타나면, 아래쪽 창에 USB 장치가 강조 표시됩니다.
“기타” 버튼을 클릭하면, 표준 파일 열기 대화 상자가 나타납니다. 다운로드한 우분투 ISO 파일의 경로를 찾아 선택하고, “열기” 버튼을 클릭하십시오.
이제 시동 디스크 생성기 기본 창이 아래 스크린샷과 유사하게 바뀌어야 합니다. 위쪽 창에는 ISO 이미지가 강조 표시되어 있고, 아래쪽 창에는 USB 드라이브가 강조 표시되어 있습니다.
ISO 이미지와 USB 드라이브가 올바르게 선택되었는지 확인하고, “시동 디스크 만들기” 버튼을 클릭하여 계속 진행합니다.
USB 드라이브의 모든 데이터가 삭제될 것이라는 경고 메시지가 나타납니다. 마지막으로 USB 드라이브를 변경하지 않고 취소할 수 있는 기회가 주어집니다. “예” 버튼을 클릭하여 부팅 가능한 USB 드라이브 제작을 시작하십시오.
진행률 표시줄은 제작 과정이 얼마나 완료되었는지 보여줍니다.
부팅 가능한 USB 드라이브 생성이 완료되면, 이를 알려주는 확인 메시지가 표시됩니다. 이 글에서 사용된 컴퓨터에서는 이 과정이 약 5분 정도 소요되었습니다.
“종료” 버튼을 클릭합니다. 이제 컴퓨터를 재부팅하고 USB 드라이브에서 부팅하거나, USB 드라이브를 분리하여 다른 컴퓨터로 가져가서 부팅할 수 있습니다.
터미널 dd
명령어를 이용한 부팅 가능 USB 드라이브 제작
명령줄에서 부팅 가능한 드라이브를 생성하는 데 사용할 수 있는 도구는 dd
명령어입니다.
경고: 이 명령어는 매우 주의해서 사용해야 합니다. dd
명령어는 사용자가 명령한 대로 즉시 실행되며, 확인 질문이나 취소 기회가 제공되지 않습니다. 따라서, 우리가 명령하는 내용이 정확히 원하는 작업인지 신중하게 검토해야 합니다.
먼저 USB 드라이브가 연결된 장치 식별자를 알아야 합니다. 이렇게 해야 명령줄에서 dd
명령어에 올바른 장치 ID를 전달할 수 있습니다.
터미널 창에서 다음 명령어를 입력합니다. lsblk
명령은 컴퓨터에 연결된 모든 블록 장치를 나열합니다. 각 드라이브는 연결된 블록 장치를 가지고 있습니다.
lsblk
lsblk
명령어의 출력에는 현재 컴퓨터에 연결된 드라이브 목록이 표시됩니다. 이 시스템에는 sda
라는 내부 하드 드라이브와 sda1
이라는 파티션이 하나 있습니다.
USB 드라이브를 연결하고, lsblk
명령어를 다시 실행합니다. 출력 결과가 변경됩니다. 이제 USB 드라이브가 출력 목록에 나타납니다.
목록에 sdb
라는 새로운 항목이 추가되었고, 두 개의 파티션이 있습니다. sdb1
파티션은 크기가 1KB이고, sdb5
파티션은 14.6GB입니다.
이것이 우리가 연결한 USB 드라이브입니다. 여기서 사용해야 할 식별자는 파티션이 아닌 전체 드라이브를 나타내는 식별자입니다. 이 예시에서는 sdb
입니다. 컴퓨터에 따라 다른 이름으로 지정될 수 있지만, 이전 lsblk
목록에는 없던 새로운 장치가 USB 드라이브일 것입니다.
dd
명령어 실행 시, 아래와 같은 명령어를 사용합니다.
sudo dd bs=4M if=Downloads/ubuntu-19.04-desktop-amd64.iso of=/dev/sdb conv=fdatasync
각 부분을 자세히 살펴보겠습니다.
sudo
:dd
명령어를 실행하려면 슈퍼유저 권한이 필요합니다. 비밀번호를 입력하라는 메시지가 표시됩니다.dd
: 사용하고자 하는 명령어의 이름입니다.bs=4M
:-bs
(blocksize) 옵션은 입력 파일에서 읽어 출력 장치에 쓸 데이터 청크의 크기를 지정합니다. 4MB는 적절한 처리량을 제공하고 ext4 파일 시스템의 블록 크기인 4KB의 정확한 배수이므로, 효율적인 읽기 및 쓰기 속도를 제공합니다.if=Downloads/ubuntu-19.04-desktop-amd64.iso
:-if
(input file) 옵션은 입력 파일로 사용할 리눅스 ISO 이미지의 경로와 이름을 지정합니다.of=/dev/sdb
:-of
(output file) 옵션은 중요한 매개변수입니다. USB 드라이브를 나타내는 장치 식별자를 입력해야 합니다. 이는 앞에서lsblk
명령어를 사용하여 확인한 값입니다. 이 예시에서는sdb
이므로/dev/sdb
를 사용합니다. USB 드라이브의 식별자는 컴퓨터마다 다를 수 있으므로, 정확한 식별자를 입력했는지 확인해야 합니다.conv=fdatasync
:conv
매개변수는dd
가 출력 장치에 기록할 때 입력 파일을 변환하는 방법을 지정합니다.dd
명령어는 USB 드라이브에 데이터를 쓸 때 커널 디스크 캐싱을 사용합니다.fdatasync
수정자는 쓰기 작업이 완료되기 전에 쓰기 버퍼가 완전히 플러시되어 데이터 무결성을 보장합니다.
작업이 진행되는 동안 dd
명령어는 어떤 시각적인 피드백도 제공하지 않습니다. 작업이 시작되고 완료될 때까지 아무런 메시지도 표시하지 않습니다.
업데이트: 최신 버전의 dd
명령어는 이제 프로세스 진행 상황을 초당 한 번 업데이트하는 status=progress
옵션을 제공합니다. 예를 들어, 다음 명령어를 대신 실행하여 작업 상태를 확인할 수 있습니다.
sudo dd bs=4M if=Downloads/ubuntu-19.04-desktop-amd64.iso of=/dev/sdb conv=fdatasync status=progress
부팅 가능한 USB 드라이브가 성공적으로 생성되면, dd
명령어는 USB 드라이브에 기록된 데이터 양, 경과 시간(초), 그리고 평균 데이터 전송 속도를 출력합니다.
이제 컴퓨터를 재부팅하고 USB 드라이브에서 부팅하여 부팅 가능한 USB 드라이브가 제대로 작동하는지 확인하거나, 다른 컴퓨터에서 부팅을 시도할 수 있습니다.
이제 우분투 또는 선택한 다른 리눅스 배포판의 휴대 가능한 작업 복사본을 가지게 되었습니다. 부팅할 때마다 깨끗한 상태가 되며, 원하는 PC에서 편리하게 부팅할 수 있습니다.