터미널에서 부팅 가능한 Ubuntu USB 플래시 드라이브를 만드는 방법은 무엇입니까?


353

같은 타사 응용 프로그램을 사용하지 않고 터미널에서 부팅 우분투 USB 플래시 드라이브를 만들 수있는 방법이 있나요 YUMI , 유넷 부트 인 , 시동 디스크 크리에이터 등,

dd방법 으로 부팅 가능한 Ubuntu 플래시 드라이브를 만들려고했습니다 .

sudo umount /dev/sdb
sudo dd if=/path/to/ubuntu.iso of=/dev/sdb bs=1M

USB 디스크에 파일을 만들지 만 USB 디스크를 부팅하려고하면 Operating System Not Found오류가 표시됩니다.


USB 플래시 드라이브가 마운트되어 있지 않은지 확인해야합니다. lsblk로 확인하십시오. 필요한 경우 sudo umount / dev / sdb (아마도 sdb1, sdb2)를 수행하십시오. ; echo $?를 추가하십시오 dd copy 명령 후에. 따라서 : sudo dd if = ... of = ... bs = 4M; 에코 $? 명령이 종료되면 반환 값은 0이어야합니다.

나는 당신의 단계를 sudo umount /dev/sdb sudo dd if=/path/to/ubuntu.iso of=/dev/sdb bs=1M다룰 것이지만, 그것은 또한 create 와 동일한 파일을 생성 ubninit,ldlinux.sys,etc합니다. 그것은 부팅하기 위해 리눅스 OS를 주로 중요하게하는 파일을 생성하지 않습니다 .
Avinash Raj

마지막 단계로 USB 디스크의 MBR에 grub을 설치합니다.
Geek

2
쉬운 내장 된 도구 터미널을 사용과 방법은 사용하는 것입니다 dd여기에 설명한다. 모든 하이브리드 ISO 파일과 함께 작동합니다. 그러나 dd당신이 질문없이 말한 것을 수행하기 때문에 위험한 도구입니다. 따라서 가족 사진을 지우라고 말하면 작은 타이핑 오류가 발생합니다. 많은 도구가 더 안전합니다. 대상 드라이브를 식별하고 선택하는 데 도움이되며 올바른 검사를 위해 다시 검사 할 수 있는 최종 검사 점을 제공합니다 . 이것들은 대부분 GUI 도구이며, 일부는 텍스트 모드에서도 작동 할 수 있습니다 mkusb-dus.
sudodus

1
다음 링크는 dd부팅 가능한 Ubuntu USB 플래시 드라이브 askubuntu.com/questions/982552/accidentally-did-dd-dev-
sudodus

답변:


431

사용할 수 있습니다 dd.

 sudo umount /dev/sd<?><?>  

<?><?>문자 다음에 숫자가 오는 곳에서 를 실행하여 찾으십시오 lsblk.

그것은 다음과 같이 보일 것입니다

sdb      8:16   1  14.9G  0 disk 
├─sdb1   8:17   1   1.6G  0 part /media/username/usb volume name
└─sdb2   8:18   1   2.4M  0 part 

sdb1을 분리합니다.

그런 다음 다음 (이 명령은 파괴적인 명령이며 iso의 내용으로 전체 USB 드라이브를 지우므로주의하십시오).

 sudo dd bs=4M if=path/to/input.iso of=/dev/sd<?> conv=fdatasync  status=progress

input.iso입력 파일은 어디에 있고, /dev/sd<?>쓰고있는 USB 장치입니다 ( USB에 대한 정보 lsblk를 찾기 위해 모든 드라이브를 보려면 실행 하십시오 <?>).

이 방법은 빠르며 결코 실패하지 않았습니다.


편집 : 여기에 끝나는 Mac의 사람들은 소문자를 사용하십시오 bs=4m.

sudo dd if=inputfile.img of=/dev/disk<?> bs=4m && sync

편집 : USB 드라이브가 부팅되지 않으면 (이것이 나에게 일어난 것) 대상은 드라이브 대신 드라이브의 특정 파티션이기 때문입니다. 따라서 대상은 dev / sdc가 아닌 / dev / sdc 여야합니다. <?>저에게는 / dev / sdb였습니다.

참조 : https://superuser.com/a/407327https://askubuntu.com/a/579615/669976


13
그것은 나를 위해 작동하지 않습니다.
Avinash Raj 1

7
정말? 경로를 포함한 올바른 .iso 파일 이름과 USB 드라이브의 올바른 / dev가 있습니까? 어떻게 실패합니까? 오류 메시지가 있습니까, 아니면 부팅에 실패합니까? .iso가 손상되지 않았습니까?
Marc

8
손상된 .iso가있을 수 있습니다. 확인 했습니까? 당신은 .iso로 뭔가의 사본 특정 실제로 있습니까 입니다 부팅은?
Marc

5
원래 질문과 가장 많이 답한 답변은이 방법이 자신에게 효과적이지 않다고 말한 사람과 동일합니다. ;-) 나에게 승인 된 답변이 효과가 없으며 이것이 답변합니다. :-) 공감.
Drachenfels

20
status=progress왼쪽 상단 사본의 양을 확인하려면 명령 줄에 a 를 추가해도 도움이됩니다.
Supernormal

101

거의 dd이지만 단계가 없습니다.

sudo umount /dev/sdX
sudo dd if=/path/to/ubuntu.iso of=/dev/sdX bs=4M && sync

sdX당신의 USB 장치는 어디에 있습니까 (이것은로 확인할 수 있습니다 lsblk).

쓰기 작업이 완료되기 전에 반환 할 수 있는 sync비트가 중요 dd합니다.


17
언급 +1 sync. 그것이 없으면 내용이 실제로 복사되었는지 알 수 없습니다. 또한 서두르지 않으면 md5sum두 파일 모두 이중으로 확인해야합니다.
Dave

4
아마도 USB를 언급 할 가치가있는 것은 sudo mkfs.msdos -F 32 /dev/sdX먼저 FAT32로 포맷해야 할 수도 있습니까?
Nemo

10
@Nemo, 그 차이를 만들 수 있습니까? dd/ dev / sdX로 기존 파일 시스템을 덮어 씁니다.
mwfearnley

5
sync무의미합니다. 파일 시스템 조작에만 영향을줍니다.
punund 2016 년

3
conv=fdatasync- 마무리하기 전에 물리적으로 출력 파일 데이터를 작성 하면 동기화 를 처리 해야하지만 먼저 장치를 마운트 해제했는지 확인해야합니다.
Johnathon Havens

98

터미널에서 부팅 가능한 Ubuntu USB 플래시 드라이브 만들기

  • 장소 ubuntu.iso하드 디스크 파티션에서 파일을.

  • 그런 다음 ubuntu.iso터미널에서 아래 명령을 사용 하여 파일을 마운트하십시오 .

    sudo mkdir /media/iso/
    sudo mount -o loop /path/to/ubuntu.iso /media/iso
    
  • USB 플래시 드라이브를 삽입하십시오. 내 드라이브는 /dev/sdd입니다. 스크린 샷은 다음과 같습니다.

GParted 스크린 샷

  • 드라이브는 내부에 자동으로 마운트 될 수 있습니다 /media/. 그것이에 마운트되었다고 가정하자 /media/xxx/.

  • /media/iso/아래 명령을 실행하여 마운트 된 USB 플래시 드라이브로 모든 파일을 복사 하십시오 (점 포함).

    cp -a /media/iso/. /media/xxx/
    
  • 다음으로 ldlinux.sysUSB를 부팅 가능 하게 만들려면 USB 플래시 드라이브에 파일 이 필요합니다 . 내 USB 파티션은 /dev/sdd1; lsblk당신의 것을 보려면 입력 하십시오. 아래 명령을 실행하십시오 :

    sudo apt-get install syslinux mtools
    sudo syslinux -s /dev/sdd1
    
  • /media/xxx마운트 폴더로 이동 하여 isolinux디렉토리 이름을로 바꿉니다 syslinux. 그런 다음 이름을 변경 한 폴더로 이동하고 파일 이름을 변경 isolinux.cfg하는 방법에 대해 syslinux.cfg.

  • USB 드라이브에서 부팅 할 수 있도록 PC를 재부팅하고 BIOS에서 부팅 순서를 변경하십시오. 이제 Ubuntu USB 플래시 드라이브가 부팅되고 설치할 수 있습니다.

이 방법은 우분투뿐만 아니라 모든 Linux 배포판에서 작동합니다. Linux USB 플래시 드라이브를 만들기 위해 타사 소프트웨어를 설치할 필요가 없습니다 .


3
난 당신이 사용하는 이유는 무엇 / 지정하세요 수, 순간을 시도하고있다 : CP -a 오히려 CP의 -r 이상
moldovean

2
명령 이 필요 sudo합니다 syslinux.
Cammy_the_block

9
이 방법은 저에게 효과적이지 않았습니다. cp -a는 다음을 제공합니다. 'cp : 기호 링크를 만들 수 없습니다.'/media/xxx/./ubuntu ': Operation not allowed'등 대상이 fat32이므로 기타 나는 그것을 무시하려고 노력했다 ... 작동하지 않았다
sheß

6
usb는 fat32 파일 시스템이어야합니다. 그렇지 않으면 syslinux가 작동하지 않습니다
Ricardo BRGWeb

2
콘솔에 @ sheß와 동일한 오류가 표시됩니다. 파일 시스템 (FAT32)을 확인하고 BOOT를 플래그 지정했습니다.
Chofoteddy

40

두 가지 선택이 있습니다.

그래픽 인터페이스를 원한다면 usb-creator를 사용하십시오 (우분투 저장소에 있습니다)

여기에 이미지 설명을 입력하십시오

명령 행 도구를 원하면 dd를 사용하십시오.

#Replace X accordingly in both commands

sudo umount /dev/sdX
sudo dd if=/path/to/ubuntu.iso of=/dev/sdbX bs=1M

/dev/sdX사용하려는 플래시 드라이브 인지 확인하십시오 ( 플래시 드라이브의 데이터가 손상됨).

자세한 내용은 https://help.ubuntu.com/community/Installation/FromUSBStick 을 참조 하십시오 .


1
나는 gui 도구 (시작 디스크 생성자와 같은)가 아닌 명령 줄 도구 만 원합니다. dd방법에 따르면 , 3 개의 폴더와 1 개의 파일 만 내 usb에 생성되었습니다. 부팅하려고하는 동안 operating system not found오류 ubninit,menu.c32,ubnpathl.txt,ubnfilel.txt,ldlinux.sys가 발생합니다. 라이브 우분투 USB를 부팅하는 것이 매우 중요합니다).
Avinash Raj

1
ubuntu.iso로 dd 메소드를 시도해 보았습니다. 그러나 USB에 쓰여지기에는 너무 많은 시간입니다. bs = 1M이 무엇을 의미하는지 궁금합니다. 이 사이트 manpages.ubuntu.com/manpages/karmic/en/man1/dd.1.html을 찾았습니다 . 이제 값을 변경하면 USB에 더 빨리 복사 할 수 있을지 궁금합니다. 그리고 어떤 위험이 있을까요. 누군가 아는 것 같습니다.
moldovean

4
bs는 블록 크기입니다. dd는 1MB의 데이터를 메모리로 읽은 다음 디스크에 전체적으로 기록합니다. 매우 작은 블록 크기를 사용하면 많은 CPU 오버 헤드가 발생합니다. 매우 큰 블록 크기를 사용하면 예상치 못한 부작용 (예 : 디스크 활동이없는 일시 중지 및 / 또는 RAM 사용량이 길어짐)이 발생할 수 있습니다. ISO에서 디스크를 만들 때 일반적으로 1M 또는 4M이 좋은 값입니다. 블록 크기에 대한 자세한 정보 : stackoverflow.com/questions/6161823/...
ApolloLV

부팅 가능한 USB를 만드는 것은 드물게 수행하는 일이지만, 그렇게 할 때 올바르게 수행하기를 원합니다. 더 작은 블록 크기는 더 오래 걸릴 수 있지만 이것이 문제입니까? 아니.
Marc

2
@Marc-유일한 문제는 속도이며, 더 작은 블록 크기는 오류가 발생하기 쉬우 며 더 큰 블록 크기이므로 더 작은 블록 크기! = "올바른 작업"입니다. 올바른 작업은 iso의 md5sum을 확인하고 기록 된 이미지의 md5sum을 확인하는 것을 의미합니다. m5dsum을 확인하면 올바르게 완료된 것입니다.
Panther

28

먼저 USB 장치를 마운트 해제 한 다음 장치를 사용 lsblk하여 확인하십시오.

때때로 (보통 오래된 ISO 파일) dd가 충분하지 않아서 pendrive가 부팅되지 않습니다. 이 경우 syslinux를 설치해야합니다.

sudo apt-get install syslinux

다음 명령을 실행하십시오.

sudo mkfs -t vfat -I /dev/sdX

당신은에 마지막 명령을 실행하려면 /dev/sdX없습니다 /dev/sdX1 .

그런 다음 다음 명령을 진행하십시오.

isohybrid /path/to/file.iso --entry 4 --type 0x1c
dd if='/path/to/file.iso' of=/dev/sdX bs=8M

또는 이미지 쓰기 진행률을 보려면

pv -tpreb /path/to/file.iso | dd of=/dev/sdX bs=8M

또는 대신에 대신 dd사용할 수 있습니다 cat.

sudo -s
cat /path/to/file.iso > /dev/sdX

쓰기 캐시를 플러시하기 위해 sync 명령을 발행해야 함

sync

web.archive.org/web/20140327085331/https://tails.boum.org/doc/first_steps/installation/manual/linux/index.en.html


나는 나를 위해 다른 모든 것이 실패했다고 언급해야하지만, 이것은 효과가 있었다-나는 cat명령을 선택했다 .
디지털 드라큘라

dd혼자서도 충분 하다고 주장하는 사람들에게는 이것이 작동해야했습니다.
GuiRitter

ddISO가 하이브리드이고 마운트 될 때 사용하는 도구를 원하면 ISO 파일을 복사하고 ISO가 아닌 경우 SYSLINUX를 설치하고 bootiso대신 사용하십시오.
Jules Randolph

1
각 명령이 실제로 무엇을하는지 설명 할 수 있습니까? 장치에서 vfat 파일 시스템을 만든 다음 iso 파일의 내용으로 즉시 덮어 쓰는 점은 무엇입니까? isohybrid실제로 무엇을 합니까? 어떤 방식으로 ISO를 수정합니까?
cheshirekow

10

"타사"가 "gui"를 의미 하는 경우 Avinash Raj가 대답 한 후에 bootiso라는 경량 스크립트를 제안합니다dd . 항상 작동하지는 않기 때문 입니다. 큰 장점은 매우 안전하고 (시스템을 망칠 수없는 많은 보안 검사를 수행함) 설치가 쉽고 휴대하기 쉽다는 것입니다.

또한 bootisoISO 파일을 검사하여 ISO 파일 dd이 하이브리드 인 경우 이미지 복사 ( ), 즉 USB 친화적 인 두 가지 모드 중에서 선택합니다 . ISO 파일이 하이브리드가 아닌 경우 마운트-동기화 모드입니다.이 경우 지원되는 경우 SYSLINUX 부트 로더가 자동 설치됩니다 ( 자동 동작에 대한 자세한 내용 참조 ).

사용 방법

첫 번째 옵션은 ISO를 첫 번째 인수로 제공하면 다음에서 추출 된 목록 중에서 드라이브를 선택하라는 메시지가 표시됩니다 lsblk.

bootiso myfile.iso

또는 USB 장치를 명시 적으로 제공하십시오.

bootiso -d /dev/sde myfile.iso

빠른 설치

curl -L https://git.io/bootiso -O
chmod +x bootiso

실제로보기 :


1
동의합니다.이 과정에서 무서운 부분을 제거하는 매우 훌륭한 스크립트입니다. 자세한 내용은 여기 : tecmint.com/create-bootable-usb-in-linux-commandline
kr37

또한 4Gb보다 큰 "install.wim"파일 ( "wimlib-imagex"명령 사용)을 "wim splitting"을 지원하여 FAT32에 저장할 수 없으므로 Windows 10 Oct 2018도 지원합니다.
mevdschee

7
$ dd if=ubuntu-14.04.1-desktop-amd64.iso of=/dev/sdX bs=1MB

비트 경로를 사용하지 마십시오.

  1. cd명령을 사용하여 .iso 파일이 포함 된 폴더로 이동하십시오.
  2. 명령을 사용 dd if=FILE NAME HERE.iso of=/dev/sdX bs=1MB
  3. 콘솔 출력이 다음과 같이 보일 때까지 기다리십시오.

    1028+1 records in
    1028+1 records out
    1028653056 bytes (1.0 GB) copied, 55.4844 s, 18.5 MB/s
    
  4. USB에서 부팅하십시오.

참고 : USB가 항상 마운트되지 않는 올바른 장치에 쓰십시오. dev/sdX여기서 X는 문자 일 수 있습니다.


2
dd 명령에서 bs = 1MB의 의미는 무엇입니까 ???
juggernauthk108

1
@ juggernaut1996 없음. 복사 할 때 사용할 블록 크기입니다. count 인수가 제공되지 않았으므로 입력 전체를 1MB 블록으로 복사합니다. 제거 할 수 있습니다.
sjbx 2016 년

"비트 경로를 사용하지 마십시오"는 잘못된 정보입니다. 프로세스 자체는 어느 단계에서나 경로 구성 요소를 복사 된 이미지로 굽지 않으므로 ISO 이미지가 포함 된 디렉토리로 이동하거나 전체 경로를 제공하는 경우에는 관련이 없습니다. 또한 dd는 stdin의 입력도 받아 들일 수 있으므로 두 dd를 서로 파이프로 연결하여 이미지에 경로가 구워지지 않도록 할 수 있습니다.
Gabor Garami

그것은 오늘날 대부분의 경우를 채우는 하이브리드 ISO에만 적용되지만 UltimateBootCD와 같은 눈에 띄는 예외가 있습니다. bootiso대신 사용하십시오 .
Jules Randolph

-5

이것을 시도하고 100 번 이상 나에게 실패하지 않았습니다.

카드를 포맷하십시오 :

$ sudo mkfs.vfat -F32 /dev/sdx

ISO 이미지를 마운트하십시오.

$ sudo mount ubuntu.iso /mnt

내용을 카드에 복사 :

$ sudo cp -rvf /mnt/* /SD_CardMountPoint

그때:

  • isolinux폴더 이름 을syslinux
  • 이름 바꾸기 syslinux/isolinux.cfgsyslinux/syslinux.cfg
  • 이름 바꾸기 syslinux/isolinux.binsyslinux/syslinux.bin
  • 운영 syslinux -s /dev/sdx

4
-1. 이것을 테스트 했습니까? sudo cp -rvf /mnt/* /dev/sdx작동하지 않습니다 (또는 적어도 당신이 의도 한 것을하지 마십시오). 파일을 원시 장치 ( /dev/)로 복사하지 않습니다 . 대신, 카드를 마운트하고 ISO 파일의 내용을 카드에 마운트해야합니다 (마운트 포인트에서 마운트 포인트로). 그리고 같은 접근법을 가진 현재 받아 들여진 대답에 문제가 있습니다.
gertvdijk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.