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を修正できるものがあるか確認しますcgdisksgdisk

(3)クロスコンパイルgdisk//またはそれに似ている可能性があるため、組み込みデバイスで実行できますcgdisksgdiskgparted

(4)GPTの代わりに古いMBRパーティションテーブルをハードドライブに配置し、保持したいパーティションを維持します(新しいパーティションを作成するには、とにかく既存のパーティションを1つ以上削除します)。注意しないとデータが破損する可能性があるため、まずバックアップを作成してください。

関連情報