'dd'명령을 사용하여 부팅 가능한 USB 스틱 만들기


11

dd 명령 으로 일부 우분투 맛의 ISO 이미지를 USB 스틱에 넣고 성공적으로 부팅 할 수있는 반면 다른 맛은 그렇지 않은 이유는 무엇입니까? 또한 특정 USB 스틱에 의존하는 것처럼 보입니다. 표준 Ubuntu로 시도했습니다.

$ sudo dd if=./ubuntu.iso of=/dev/sdd bs=8129

그리고 그것은 매력처럼 작동합니다. 즉, 부팅하고 설치하거나 라이브 우분투를 실행합니다. 그러나 같은 방법으로 준비된 다른 USB 스틱을 사용하면 BIOS를 찾을 수없는 운영 체제 로 부팅 할 수 없습니다 .

Ubuntu GNOME을 사용하면 사용하는 USB 스틱 중 하나에 관계없이 이전 예제와 동일한 오류로 부팅되지 않습니다.

우분투 에는 Startup Disk Creator 응용 프로그램이 있지만 간단한 dd 명령을 위한 GUI 외관 일 뿐이며 적어도 Linux에서는 부팅 가능한 USB 스틱을 만들기 위해 항상 dd 를 사용할 수 있다고 확신했습니다 . 내가 잘못?


나는 개인적으로 Unetbootin을 사용하며 아무런 문제가 없었습니다.
Tim

답변:


5

Startup Disk Creator를 실행하면 다음 세 가지 작업이 수행됩니다.

  1. 드라이브 포맷
  2. ISO에서 드라이브로 데이터 복사
  3. ( 선택된 경우 지속성을 위해 추가 캐스퍼 1 파일을 추가하십시오 . dd지속성을 제공하지 않습니다.)
  4. 부트 로더 설치

그것은을위한 GUI 아니다 dd(대한 GUI를가 dd있지만, SDC는 그 중 하나가 아닙니다). Arch Linux 또는 Gentoo의 수동 방법 과 동등한 것으로 생각할 수 있습니다 . 현재 가장 널리 사용되는 배포판 설치 ISO를 사용하여 부팅 가능한 USB를 만들 수 있어야합니다. 제가 아치를 보았을 때 3-4 년 전에는 사실이 아니 었습니다. 2008 년부터 2010 년까지 모든 Arch ISO가이 기능 (USB 드라이브에 직접 쓸 수있는 곳)에서이 기능을 얻었습니다.

또한 dd드라이브를 직접 사용하는 경우 해당 드라이브는 포맷하거나 남은 공간을 사용하기 전까지는 실제로 읽기 전용입니다. 라이브 환경에서 컨텐츠에 쉽게 액세스 할 수 없더라도 SCD 작성 디스크는 여전히 USB 드라이브로 사용할 수 있습니다. 따라서 dd1GB ISO-8 또는 16GB USB 드라이브 인 경우 추가 단계를 수행하지 않으면 남은 공간을 효과적으로 버리고 있습니다.


1 일반적으로 대부분의 라이브 이미지 는 루트 파티션에 SquashFS 파일을 사용 합니다. SquashFS는 읽기 전용이므로 지속성을 위해 파일이에 생성됩니다 . 의 기원을 잘 모르겠습니다 . 내가 이해 한 바에 따르면, 옵션으로 부팅 할 때 커널은 스쿼시 파일 위에 캐스퍼 파일 (없는 경우 생성)을 오버레이하여 쓰기 기능을 얻습니다. 파일 일 필요는 없으며 파티션 일 수도 있습니다 .casper-rw/caspercasperboot=caspercasper


"캐스퍼 파일"이란 무엇입니까? 설명 해주십시오.

@ MikołajBartnicki 나는 잘 모르겠지만 대답을 업데이트했습니다.
muru

캐스퍼는 유령입니다 (모두 알고 있음). 당신이 말했듯이, 그것은 ro 파일 시스템의 일부 폴더를 오버레이합니다. 지속성이 활성화 된 실행중인 라이브 이미지에서 파일 시스템을 검사하면 읽기 전용 및 쓰기 시스템 모두에 존재하는 일부 디렉토리 '상단'및 '하단'이 표시되지만 실행중인 시스템에는 이미 존재하는 마운트와 다소 유사합니다. 기존 폴더
oneindelijk

2

먼저 시도하십시오 :

su -c 'mkfs.vfat /dev/sdc -I'

dd 명령을 사용하여 iso 파일에서 부팅 가능한 USB 디스크를 만들려면 디스크에는 / dev / sdc1 과 같은 파티션을 가질 수 없습니다 (디스크 / dev / sdc 의 기본 파티션 4 개 중 하나 ). DVD 또는 CD 디스크에도 없기 때문에 iso 파일 블록을 주 파티션으로 복제 할 수 없습니다. 그렇기 때문에 파티션 1 차가 아닌 / dev / sdc 디스크에 파일 시스템을 정확하게 작성해야합니다 .

또한 dd 명령 을 입력하여 실수를 거의하지 않았습니다 .

이 시도:

su -c 'dd if=/home/user/debian.iso of=/dev/sdc bs=4M;sync;eject /dev/sdc'

mkfs.vfat없이 명령이 먼저 수정되지 않습니다. 부트 로더를 설치하고 파티션을 활성화하면 가능합니다. 다른 USB 드라이브가 작동하지 않을 수 있습니다 .USB 포트가 다른 USB 포트와 공유 될 수 있기 때문에 또는 평소보다 더 많은 전력이 필요한 라이브 USB OS, 아마도 hdd 드라이브 및 기타 usb 디스크 작동에 필요한 전원이 없기 때문에 작동하지 않을 수 있습니다. 이 유형의 장치의 평균 전력 소비 (사타 어댑터의 USB를 사용하는 외부 케이스의 hdd 디스크)


2

부팅 가능한 USB 스틱을 사용하여 만들 수도 있습니다 cp( ddGUI 보다 훨씬 간단합니다 ).

sudo cp path/to/ISO /dev/sdX


그 기억 /dev/sdX하여 블록 장치의 이름으로 바꿔야합니다 (예를 들어 /dev/sdb, /dev/sdc).


1
그것은 저에게 정말 새로운 것이 었습니다. 함께 progress unix.stackexchange.com/a/301329/87264 너무, 진행 상황을 보여줍니다
조나스 Eberle는
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.