Fdisk가 /proc/partitions 또는 마운트 지점(내장형)과 일치하지 않습니다.

Fdisk가 /proc/partitions 또는 마운트 지점(내장형)과 일치하지 않습니다.

기존 임베디드 Linux 장치를 사용하고 있는데 fdisk를 사용하여 파티션을 편집하는 데 문제가 있습니다. 내 목표는 테스트 목적으로 파티션을 만드는 것입니다./dev/sda. 저는 BusyBox v1.23.2와 함께 번들로 제공되는 fdisk를 사용하고 있습니다. 아래 내 딜레마를 참조하세요.

# cat /proc/partitions
major minor  #blocks  name
8        0   56582144 sda
8        1          8 sda1
8        2      32768 sda2
8        3     262144 sda3
8        4       1024 sda4
8        5        512 sda5
8        6        512 sda6
8        7   56285132 sda7

7개의 파티션이 나열되어 있습니다.sda

# fdisk -l /dev/sda
Note: sector size is 4096 (not 512)

Disk /dev/sda: 57.9 GB, 57940115456 bytes
256 heads, 63 sectors/track, 877 cylinders
Units = cylinders of 16128 * 4096 = 66060288 bytes

  Device Boot        Start        End       Blocks    Id    System
/dev/sda1                1     266306   4294967292    ee    EFI GPT
Partition 1 has different physical/logical beginnings (non-Linux?):
        phys=(0,0,1) logical=(0,0,2)
Partition 1 has different physical/logical endings:
        phys=(1023, 255, 63) logical=(266305, 4, 4)

나머지 6개 파티션에 대한 정보는 표시되지 않습니다.sda2-sda7.

이제 실제로 무엇이 설치되어 있는지 살펴보겠습니다.

# mount | grep '^/dev'
/dev/root on / type ext4 (rw,relatime,data=ordered)
/dev/block/bootdevice/by-name/userdata on /data type ext4 (rw,relatime,discard,noauto_da_alloc,data=ordered)
/dev/block/bootdevice/by-name/modem on /firmware type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
/dev/block/bootdevice/by-name/dsp on /dsp type ext4 (rw,relatime,discard,noauto_da_alloc,data=ordered)
/dev/block/bootdevice/by-name/bluetooth on /bt_firmware type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)

여기서는 /dev/block/bootdevice/by-name/userdata설치에 특별한 주의를 기울이십시오 . /data어떤 파티션인지 살펴보겠습니다.사용자 데이터인용하다:

# ls -alh /dev/block/bootdevice/by-name | grep userdata
lrwxrwxrwx    1 root     root           9 Jan 12 20:34 userdata -> /dev/sda7

/dev/sda7설치되었기 때문에 여기에서 사용되는 것을 볼 수 있습니다 /data. fdisk가 모든 파티션을 올바르게 인식하고 편집할 수 있도록 할 수 있는 방법이 있습니까?

답변1

너가 하나 가지고 있네GUID 파티션 테이블/dev/sda, 및 (GPT) fdisk, 특히 이전 버전이나 소규모 내장 버전은 GPT에서 작동하지 않습니다. 당신이 보는 것은 실제 구조를 보여주지 않고 사용할 수 없는 "호환성" 출력입니다 fdisk.

옵션:

(1) 하드 디스크를 꺼내서 다른 컴퓨터에 연결하고 gparted다른 작업을 사용하여 GPT 파티션 테이블을 작동합니다.

gdisk(2) 임베디드 장치(비지박스 아님)의 바이너리 파일을 확인하여 // 등 GPT를 수정할 수 있는 것이 있는지 확인합니다 cgdisk.sgdisk

(3) 크로스 컴파일 gdisk// 또는 이와 유사할 수도 있으므로 임베디드 장치에서 실행할 수 있습니다 cgdisk.sgdiskgparted

(4) GPT 대신 구식 MBR 파티션 테이블을 하드 드라이브에 배치하고 유지하려는 파티션을 유지하십시오(새 파티션을 생성하려면 어쨌든 기존 파티션을 하나 이상 삭제하십시오). 주의하지 않으면 데이터가 손상될 수 있으므로 먼저 백업을 만드세요.

관련 정보