부팅 가능한 USB 드라이브를 다른 USB로 복사하면 복제 가능한 부팅 드라이브가 생성됩니까?


37

나는 그것이 바보 같은 질문의 종류의하지만 구글과 검색이 보인다 생각 표시 가 다른 USB에 부팅 가능한 드라이브에 데이터를 복사 / 붙여 넣기조차 불가능하다고? 그러나 우리가 그것을 복사 할 수 있었는데 왜 작동하지 않아야합니까? (이것은 중복 부팅 드라이브를 생성 중입니다)


2
"복사 / 붙여 넣기"는 무슨 뜻입니까? 실제로 부트 가능한 드라이브 (예 : 부트 로더 등)로 만드는 부분을 ​​복사 해야하지만 이것이 작동하지 않을 이유는 없습니다.
Jörg W Mittag

답변:


56

파일을 복사하는 것만으로는 부팅 가능한 드라이브를 만들 수 없습니다. 부팅 가능하게 만드는 USB 플래시 드라이브의 파일 일뿐 만 아니라 파티션 테이블 구성, 드라이브 내용 구성에 대한 메타 데이터 , 부팅 가능 여부를 PC에 알려주 는 MBR 또는 GPT 인지 여부 를 알려줍니다 .

cyberciti.biz에 명시된 바와 같이 :

각 디스크와 파티션에는 일종의 서명과 메타 데이터 / 매직 문자열이 있습니다. 운영 체제에서 디스크를 구성하거나 드라이버를 연결하고 시스템에 디스크를 마운트하는 데 사용되는 메타 데이터입니다.

그러나 dd , EaseUS Todo Backup , 뛰어난 오픈 소스 ClonezillaRufus 와 같은 여러 도구를 사용하여 플래시 드라이브를 복제 할 수 있습니다 . ( dd와 Rufus에 대한 알림 을 알렉스 에게 감사합니다 ).

플래시 드라이브를 자동으로 복제하는 전자 장치있습니다 .


15
실제로는 필요하지 않습니다 dd. 간단 cp하게 작업을 수행 할 수 있습니다. 파일 시스템 내용 대신 장치 노드에서 사용하십시오.
Ruslan

어, 놀랍습니다. 아니면 아닐 수도 있습니다. 그러나 적어도 나에게는.
Jörg W Mittag

1
'cat <source> destination'은 대상이 소스보다 샷터가 아니라고 가정하면 올바르게 작동합니다.
ysdx

@JoL 당신은 Jörg의 (현재 삭제 된) 의견을 보지 못했습니다. Mine은 cp단순히 장치 노드를 복사하는 그의 주장에 대한 답변이었습니다 . 혼란을 피하기 위해 이제 내 의견도 삭제했습니다.
Ruslan

21

복사는 포맷 된 파티션의 파일에만 대응합니다. 부팅 플래그 설정, 부팅 로더 작성 또는 때로는 일반 파일을 파티션의 올바른 위치 (읽기 : 섹터)에 복사하고 파일의 속성을 설정하는 등 부팅 프로세스에 필요한 특별한 작업을 수행 할 수 없습니다 / 권한. 이전 부트 디스크 생성, 부트 로더를 MBR에 쓰는 포맷팅 도구 등으로 인해 사용 가능한 도구가없는 경우가 아니라면 디스크를 부팅 가능하게하려면 추가 단계를 수행해야합니다.


특히 BIOS 모드 에서 부팅 할 때 BIOS는 첫 번째 섹터 (MBR)를 찾아 유효한 부팅 서명 0xAA55 가 있는지 확인합니다 . 그렇다면 해당 섹터를로드하고 MBR의 부트 로더로 제어를 전송하십시오. MBR에 따라서는, 파티션 구성을 설명 파티션 내에서 거짓말을 할 수없는 이고 정상적인 도구를 사용하여 복사 할 수 있습니다 것이 아니다.

또한 MBR이 너무 작아 유용하지 않기 때문에 대부분의 최신 부트 로더는 부팅 프로세스를 여러 단계 로 나누고 MBR의 부팅 코드는 다음 단계를로드합니다. 더 많은 단계 내 스테이지는 종종 파티션 외부 영역에 배치됩니다 . 일부는이를 EBR에 넣을 수 있지만 grub은 일반적으로 첫 번째 파티션과 MBR 사후 간격이라고하는 MBR 사이의 빈 영역에 두 번째 단계를 배치합니다. 그래서 파티션을 올바르게 정렬하지 않으면 grub이 부팅 코드를 넣을 공간이 없어서 내장 오류가 발생합니다.

LILO 또는 이전 Windows / DOS 부트 로더와 같은 많은 부트 로더 는 다음 단계 또는 시스템 파일의 위치와 같은 MBR의 하드 코드 정보 도 제공 합니다. 파티션 데이터를 읽음으로써 작동하지는 않지만 대신 하드 코딩 된 섹터를 읽습니다. 파일 시스템을 구문 분석하는 데 너무 많은 코드가 필요하기 때문에 MBR 또는 MBR 이후 간격과 같은 작은 공간으로 압축하기가 매우 어렵습니다. 심지어 grub도 그러한 하드 코딩을 지원합니다 . 즉, 일부 시스템 파일은 섹터별로 정확한 위치에 있어야 하며 일반 사본으로는 얻을 수 없습니다. 이것이 "이동할 수없는 시스템 파일" 을 보는 이유입니다 Windows 조각 모음 또는 축소 파일 시스템을 실행하는 동안 실제로는 올바르지 않습니다. 최신 부트 로더가 훨씬 똑똑하고 그런 것들에 신경 쓰지 않아도 Windows가 파일을 옮기기가 너무 두려워하기 때문입니다.

결국 부트 로더가 무엇을 부팅해야하는지 알리기 위해 부트 파티션을 활성 으로 설정 해야합니다 . 분할 영역 외부에 있기 때문에 분할 도구 또는 16 진 편집을 통해 수동으로 수행해야합니다.


UEFI에서는 상황이 훨씬 쉽습니다. FAT 파일 시스템 (및 비표준 구현의 경우 훨씬 더 많은 파일 시스템)에 대해 알고 있으므로 부팅 파일은 EFI 시스템 파티션 인 AKA ESP에 저장됩니다 . UEFI는 ESP에서 * .efi 응용 프로그램을로드 한 다음 운영 체제를로드합니다.

UEFI 펌웨어는 USB 플래시 드라이브와 같은 이동식 저장 장치에서의 부팅을 지원합니다. 이를 위해 이동식 장치는 FAT12, FAT16 또는 FAT32 파일 시스템으로 포맷해야하며, 부트 로더는 표준 ESP 파일 계층에 따라 저장하거나 부트 로더의 전체 경로를 시스템에 제공해야합니다. 부트 매니저.

따라서 기본적으로 * .efi 파일을 ESP에 복사하고 시스템 파일을 올바른 폴더에 저장하면됩니다. 그러나 * .efi 파일을 포함하는 FAT 파티션 은 파티션 외부의 MBR 또는 GPT 테이블에서 ESP표시 해야하므로 여전히 작은 문제가 있습니다 . 위와 같이 복사하여 수행 할 수는 없습니다. 특히 파티션 유형은 MBR 에서 0Ch / 0Bh / 무엇이든 EFh로 , GPT에서는 C12A7328-F81F-11D2-BA4B-00A0C93EC93B로 변경되어야 합니다. ESP는 실제로 FAT12 / 16 / 32가 아니라 독립적 인 파일 시스템이므로 FAT 파일 시스템 제품군


그리고 부팅을 위해 다르게 수정해야하는 BSD 디스크 레이블 또는 APM과 같은 다른 파티션 구성표 가 여전히 많이 있습니다. 또는 USB 스틱이 파티션 테이블없이 전혀 포맷 되지 않았을 수 있습니다 (AFAIK Windows는 기본적으로이 작업을 수행함). 따라서 부팅 가능하게 만드는 것은 다릅니다. 그러나 동일한 제한이 적용됩니다. 분할되지 않은 영역을 수정해야합니다.


1
이것이 정답입니다.
마가렛 블룸

가장 철저한 답변입니다. 그러나 IMO가 간단한 답변으로 간단한 질문에 대답하는 허용 된 답변보다 더 정확하다고 생각하지 않습니다.
이안 켐

심플이지 않는다 (의 좋은이)지만 :) 최고의 기술적으로 모호한 것을 허용 대답의 문제를 @IanKemp
마가렛 꽃

Windows cmd 줄 "diskpart"유틸리티 또는 타사 파티션 관리자를 사용하여 USB 스틱 볼륨을 활성으로 표시하면 Windows Vista / 7 / 8 / 10 ISO 이미지의 내용을 복사하여 스틱이 Windows 부팅 스틱이됩니다. 부팅 할 때 램 드라이브 또는 퍼터 장착이 발생하지 않습니다. 스틱을 활성으로 표시 한 후에는 스틱에 작은 부팅 이미지 파일 (Windows에서 bootmgr 및 bootmgr.efi) 만 있으면됩니다. 복잡한 도구가 필요 없습니다. 나는 리눅스보다 간단한 명령 줄 절차를 기대할 것입니다.
Red.

3

전통적으로 BIOS 부팅에는 특별한 보이지 않는 마커가 필요했습니다. 몇 가지 예는 다음과 같습니다 .

  • MBR 파티션 ( "하드 디스크") 인 경우 파티션 테이블 내
  • 플로피 / 슈퍼 플로피 ( "ZIP 드라이브"), 기본적으로 전체 드라이브가 파티션 테이블없이 포맷 된 경우 처음 몇 바이트 이내
  • CD라면 El Torito

이 경우 단순히 파일을 복사 할 수 없습니다. 특수 드라이브가 없기 때문에 결과 드라이브를 부팅 할 수 없습니다.

그러나 UEFI 부팅은 특별하고 똑똑하며 특히 이러한 문제를 해결합니다. 항상 그렇듯이 UEFI에 대한 간단한 입문서를 보려면 이 블로그 게시물 을 읽는 것이 좋습니다 . 대체 부팅 섹션에 특히 유의하십시오. 이것 또한 여기에서 약간 더 자세히 설명 됩니다 .

이 작업을 수행하려면 펌웨어가 검색 할 파티션의 특정 경로에있는 파일 만 있으면됩니다. 최적의 호환성을 위해 1 , 예, 이것은 GPT 파티션 디스크에서 EFI 시스템 파티션으로 표시된 FAT32 형식 파티션이어야합니다. 그러나 대부분의 펌웨어는 MBR 파티션 및 파티션되지 않은 (수퍼 플로피) 디스크에서 (단일) 파티션도 검색합니다.

즉, UEFI 부팅에 실제로 필요한 것은 대체 부팅 항목을 포함하는 FAT32 1 형식의 단일 파티션입니다. x86_64 아키텍처에서는 \EFI\BOOT\BOOTx64.EFI파일 만 있으면 됩니다. 해당 파일을 포함하여 한 플래시 드라이브에서 다른 플래시 드라이브로 복사하면 모든 것이 작동합니다.


1 표준에는 FAT32 및 GPT가 필요합니다. MBR과 수퍼 플로피는 AFAIK는 아니지만 데스크톱 하드웨어에서 보편적으로 지원됩니다. 노트북은 좀 더 난해합니다. 태블릿은 토스 업이며 Mac EFI는 독특합니다.

2 UEFI 표준에는 FAT32 지원이 필요합니다. 일부 펌웨어는 NTFS를 지원할 수도 있지만 (보증은 아니지만) 실제로 FAT32 ESP에 NTFS 드라이버를 내장 할 수 있습니다.


0

그것은 '복사'의 의미에 달려 있습니다.

운영 체제의 GUI에 복사하여 붙여 넣기 부팅 USB가 필요한 일부 파일은 "숨겨 짐"/ 보이지 않고 복사되지 않은 것으로 간주됩니다.

작동 복사 유형 있습니다. 이것은 내용을 '복사'하는 것과 구별하기 위해 종종 새로운 USB를 '이미징'이라고합니다. 이 작업을 수행하는 가장 일반적인 방법은 명령 줄 도구이지만 필요한 경우 그래픽 옵션을 사용할 수 있습니다.

검색을 시작하기에 충분한 배경이어야합니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.