일반 정보(용량, 섹터 크기 등)를 설명한 후 fdisk
sdXY, 부팅, 시작, 끝, 섹터 번호, 크기, 플래그, 유형 등 8개의 열이 표시됩니다.
파티션은 이름의 Y를 기준으로 정렬됩니다 sdXY
. 때때로(즉, 이것이 사실인 경우) 저장 순서에 나열되지 않았음을 나타내는 메모가 아래에 추가됩니다.
시작 섹터를 기준으로 정렬된 블록 지향 장치의 파티션을 나열하려면 어떻게 해야 합니까 fdisk
(또는 다른 적절한 도구)?즉, 세 번째 열입니다.?
답변1
이 작업을 수행하는 프로그램은 모르지만 원하는 것이 파티션 목록뿐이라면 정렬은 쉽습니다. 예를 들어 내 시스템에서는 다음과 같습니다.
$ sudo fdisk -l
Disk /dev/nvme0n1: 953.87 GiB, 1024209543168 bytes, 2000409264 sectors
Disk model: SAMSUNG MZVLB1T0HBLR-000L7
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 97ED36D9-B503-42C1-ACE5-3E2E49212F20
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 534527 532480 260M EFI System
/dev/nvme0n1p2 534528 567295 32768 16M Microsoft reserved
/dev/nvme0n1p3 567296 390625000 390057705 186G Microsoft basic data
/dev/nvme0n1p4 1998360576 2000408575 2048000 1000M Windows recovery environment
/dev/nvme0n1p5 390625280 509251583 118626304 56.6G Linux filesystem
/dev/nvme0n1p6 509253632 1935546367 1426292736 680.1G Linux filesystem
/dev/nvme0n1p7 1935546368 1998360575 62814208 30G Linux swap
Partition table entries are not in disk order.
Disk /dev/mapper/home: 680.1 GiB, 730253492224 bytes, 1426276352 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
다음을 사용하여 정렬할 수 있습니다.
$ sudo fdisk -l | grep -E '^(Devi|/dev)' | sort -nk2,2
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 534527 532480 260M EFI System
/dev/nvme0n1p2 534528 567295 32768 16M Microsoft reserved
/dev/nvme0n1p3 567296 390625000 390057705 186G Microsoft basic data
/dev/nvme0n1p5 390625280 509251583 118626304 56.6G Linux filesystem
/dev/nvme0n1p6 509253632 1935546367 1426292736 680.1G Linux filesystem
/dev/nvme0n1p7 1935546368 1998360575 62814208 30G Linux swap
/dev/nvme0n1p4 1998360576 2000408575 2048000 1000M Windows recovery environment
사용된 명령은
grep -E '^(Devi|/dev)'
-E
: "or" 를 사용할 수 있는 확장 정규식( )을 사용합니다|
. 그러면 정규식은^
( ) 또는 또는 로Devi
시작하는 모든 줄 과 일치합니다/dev
.sort -nk2,2
-n
: 두 번째 필드( )와 두 번째 필드( )만 숫자로 정렬하고-k2,2
나머지 행은 무시합니다.
답변2
디스크에 나타나는 순서대로 파티션을 나열하는 도구는 parted
다음과 같습니다. 예를 들어 루트로 실행하는 경우 s
단위 크기로 ector를 사용합니다.
parted /dev/sda unit s print
당신은 얻는다
Model: IS817 DISK (scsi)
Disk /dev/sda: 15728640s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 2048s 1435647s 1433600s primary ext2 boot
4 1435648s 1640447s 204800s primary ext3
2 1640448s 1644543s 4096s primary ntfs
3 1644544s 1710079s 65536s primary fat32 lba
다른 도구 lsblk
(루트가 아니어도 됨) 및 --sort
/또는 -x
옵션. 파티션의 시작 섹터만 주어지므로 종료 섹터와 섹터 크기가 필요하지 않은 경우
lsblk
la의 fdisk
출력을 얻을 수 있습니다.
lsblk -o name,start,size,parttype,parttypename /dev/sda
이름시작크기부분 유형부분 유형이름 SD 카드 7.5G ├─sda1 2048 700M 0x83 리눅스 ├─sda2 1640448 2M 0x7 HPFS/NTFS/exFAT ├─sda3 1644544 32M 0xc W95 FAT32(LBA) └─sda4 1435648 100M 0x83 리눅스
시작 섹터별로 정렬하려면 다음을 추가하세요 -x start
.
lsblk -o name,start,size,parttype,parttypename -x start /dev/sda
이름시작크기부분 유형부분 유형이름 SD 카드 7.5G sda1 2048 700M 0x83 리눅스 sda4 1435648 100M 0x83 리눅스 sda2 1640448 2M 0x7 HPFS/NTFS/exFAT sda3 1644544 32M 0xc W95 FAT32 (LBA)
lsblk --help
가능한 모든 필드/열의 세부 목록을 얻으려면 실행하세요 .