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

请注意,列出了sda的7个分区

# 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此处。让我们检查一下分区userdata指的是:

# 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正确识别所有分区并允许我对其进行编辑?

直接

都有一个GUID分区表(GPT),尤其是早期版本或小型嵌入式版本不适用于GPT。您所看到的是一种“兼容性”输出,该输出不会向您显示真实的结构,并且您将无法使用来更改分区数据/dev/sdafdiskfdisk

选项:

(1)取出硬盘,将其连接到其他计算机上,使用gparted等操作GPT分区表。

(2)浏览嵌入式设备上的二进制文件(非繁忙框),查看是否有可以修改GPT的内容,例如gdisk/ cgdisk/ sgdisk

(3)交叉编译gdisk/ cgdisk/sgdisk或类似的程序,甚至可能gparted,所以它的工作原理嵌入式设备上。

(4)将旧式MBR分区表而不是GPT放到硬盘上,并尝试保留要保留的分区(如果要创建新分区,则至少要保留一个旧分区,反正)。如果不小心,这可能会破坏数据,因此请先进行备份。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章