전체 장치를 사용하는 단일 파티션을 생성하는 스크립트를 어떻게 작성할 수 있습니까?

전체 장치를 사용하는 단일 파티션을 생성하는 스크립트를 어떻게 작성할 수 있습니까?

Amazon EC2 인스턴스에서 EBS 볼륨을 분할하고 탑재하는 데 특별히 이것을 사용했지만 실제로는 일반적으로 새 드라이브를 초기화하는 데 적용할 수 있습니다.

질문에서 알 수 있듯이 특정 장치에서 사용 가능한 모든 공간을 사용하는 단일 기본 파티션을 생성하는 스크립트를 작성하고 싶습니다. 장치가 얼마나 클지 미리 알 수 없으며 상당히 클 수도 있습니다(예: 수 테라바이트).

연구 결과에 따르면 parted스크립팅에 가장 적합한 명령인 것 같습니다. 나는 그런 것이 parted /dev/sdf mkpart primary 0 END내가 원하는 것이라고 생각하지만 END가 무엇인지 결정하는 우아한 방법을 찾는 데 어려움을 겪고 있습니다. 이 작업을 수행하는 쉬운 방법을 아는 사람이 있습니까?

답변1

다음을 수행할 수 있습니다.

parted /dev/sdf --script -- mkpart primary 0 -1

답변2

다른 답변을 사용하려고 할 때 문제가 발생했습니다. 나에게 도움이 된 것은 다음과 같은 백분율 방법을 사용하는 것입니다.

$ parted /dev/sdf --script -- mkpart primary 0% 100%

parted파티션 정렬 및 처리 방법에 문제가 있습니다. 다음 두 기사에서는 이 문제를 약간 논의합니다.

이 기사에 설명된 수학은 내 시나리오에서는 작동하지 않습니다. 두 번째 댓글 링크의 댓글에 누군가가 백분율 사용을 제안했는데 작동합니다.

그런데 일반적으로 HDD에도 레이블을 지정해야 합니다. CLI를 통해 이를 수행하려면 다음을 수행하십시오 parted.

$ parted /dev/sde --script -- mklabel msdos

-또는-

$ parted /dev/sde --script -- mklabel gpt

하드 드라이브에 따라 다릅니다.

답변3

넌 할 수있어...

printf 'n\n\n\n\n\nw\n' | fdisk /dev/disk

...msdos 유형의 경우. gpt도 거의 마찬가지인데...

printf 'n\n\n\n\n\nw\ny\n' | gdisk /dev/disk

또는 다음을 사용하십시오 sgdisk(비대화형 gdisk):

sgdisk -n 1:0:0 /dev/disk

파일 시스템 생성 중에 디스크에 레이블을 지정할 수 있습니다.

관련 정보