首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在外部对接舱和内部交换舱中,GPT磁盘看起来不同。

在外部对接舱和内部交换舱中,GPT磁盘看起来不同。
EN

Unix & Linux用户
提问于 2021-03-28 10:41:50
回答 1查看 80关注 0票数 3

我有一个硬盘,我使用通过USB2.0接口站备份。磁盘有一个GPT和一个ext4分区。通过对接站一切都很好,但是如果我把磁盘连接到一个内部的SATA端口,或者把它放在我的个人电脑的交换区,GPT就不再存在了。

当磁盘在对接舱时,我得到的是一个万事通的东西:

代码语言:javascript
复制
$ sudo fdisk -l /dev/sdg
Disk /dev/sdg: 1.8 TiB, 2000398934016 bytes, 488378646 sectors
Disk model: 001-1CH164
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 2C0A0696-2318-4BBD-9329-0115AB5AC313
Device     Start       End   Sectors  Size Type
/dev/sdg1    512 488378367 488377856  1.8T Linux filesystem

$ sudo parted /dev/sdg print
Model: ST2000DM 001-1CH164 (scsi)
Disk /dev/sdg: 2000GB
Sector size (logical/physical): 4096B/4096B
Partition Table: gpt
Disk Flags:
Number  Start   End     Size    File system  Name      Flags
1      2097kB  2000GB  2000GB  ext4         MUSICBUP

以下是磁盘位于内部交换区或任何其他内部SATA端口时相同命令的输出:

代码语言:javascript
复制
$ sudo fdisk -l /dev/sdg
GPT PMBR size mismatch (488378645 != 3907029167) will be corrected by write.
Disk /dev/sdg: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: ST2000DM001-1CH1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device     Boot Start        End    Sectors  Size Id Type
/dev/sdg1           1 3907029167 3907029167  1.8T ee GPT
Partition 1 does not start on physical sector boundary.

$ sudo parted /dev/sdg print
Error: /dev/sdg: unrecognised disk label
Model: ATA ST2000DM001-1CH1 (scsi)
Disk /dev/sdg: 2000GB
Sector size (logical/physical): 512B/4096B
Partition Table: unknown
Disk Flags:

版本:fdisk from util-linux 2.33.1parted (GNU parted) 3.2

操作系统: Debian 10 Buster 4.19.0-14-amd64 #1 SMP Debian 4.19.171-2 (2021-01-30) x86_64 GNU/Linux

smartctl信息(两种情况相同):

代码语言:javascript
复制
=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 7200.14 (AF)
Device Model:     ST2000DM001-1CH164
Serial Number:    Z1E6Q80D
LU WWN Device Id: 5 000c50 065bb1ceb
Firmware Version: CC27
User Capacity:    2,000,398,934,016 bytes [2.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    7200 rpm
Form Factor:      3.5 inches
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-2, ACS-3 T13/2161-D revision 3b
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Sun Mar 28 13:00:17 2021 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

What我已经尝试了:用gparted将分区移到右边,以确保它与MiB对齐。这没有帮助,实际上parted已经告诉我分区是优化对齐的(在对接时)。

我注意到的一件事是,在外部对接(4096)和内部(512)时,逻辑扇区大小不同。

当然,我复制了其他地方的数据,我可以在它连接到PC时重新格式化它,但我想从中学到一点,看看是否有办法纠正当前的GPT。有什么想法吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2021-03-28 11:02:47

不幸的是,GPT仍然取决于逻辑扇区的大小,在您的例子中,它是不同的:

扇区大小(逻辑/物理):4096字节/ 4096字节扇区大小(逻辑/物理):4096B/4096B

扇区大小(逻辑/物理):512字节/ 4096字节扇区大小(逻辑/物理):512 B/4096 B

这种区别通常发生在一些控制器/ USB网桥模仿错误的扇区大小。

您可以通过使用带有losetup参数的--sector-size来解决这个问题:

代码语言:javascript
复制
losetup --find --show --partscan --sector-size 4096 /dev/sdg

然后检查是否有/dev/loopXpY设备。

如果您得到另一个不强制4K逻辑扇区大小的USB外壳,则必须为512字节扇区重新创建分区表。不可能创建一个同时适用于两个扇区大小的分区表--您可以使用LVM来实现,但是LVM不是分区表格式。

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/642474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档