首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当从USB3迁移到SATA时,(GPT)分区表的位置会改变吗?

当从USB3迁移到SATA时,(GPT)分区表的位置会改变吗?
EN

Unix & Linux用户
提问于 2015-10-29 13:51:33
回答 1查看 1.1K关注 0票数 2

我刚刚打开了一个外部USB3.0硬盘外壳,并通过SATA在PC内部安装了磁盘。现在,Linux系统停止查找确实存在的GPT。由于磁盘上已经有2TB的数据,所以最好找到已经存在的分区表。

当使用不同的接口(USB、SATA)时,GPT的位置会改变吗?怎么能修好呢?

下面是安装在PC (SATA)中的gdisk输出:

代码语言:javascript
复制
# gdisk /dev/disk/by-id/ata-TOSHIBA_DT01ABA300_123456890
GPT fdisk (gdisk) version 1.0.1

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: not present

Creating new GPT entries.

Command (? for help): q

磁盘是东芝DT01ABA300 (如上面所示),它位于东芝Canvio USB3外壳中。

以下是dmesg的相关部分:

代码语言:javascript
复制
[    1.618441] scsi host9: ahci
[    1.618485] ata9: SATA max UDMA/133 abar m512@0xfd1ff000 port 0xfd1ff100 irq 42
[    2.106001] ata9: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    2.107329] ata9.00: ATA-8: TOSHIBA DT01ACA300, MX6OABB0, max UDMA/133
[    2.107332] ata9.00: 5860533168 sectors, multi 0: LBA48 NCQ (depth 31/32), AA
[    2.108712] ata9.00: configured for UDMA/133
[    2.609553] scsi 9:0:0:0: Direct-Access     ATA      TOSHIBA DT01ABA3 ABB0 PQ: 0 ANSI: 5
[    2.609699] sd 9:0:0:0: [sdg] 5860533168 512-byte logical blocks: (3.00 TB/2.72 TiB)
[    2.609703] sd 9:0:0:0: [sdg] 4096-byte physical blocks
[    2.609785] sd 9:0:0:0: [sdg] Write Protect is off
[    2.609788] sd 9:0:0:0: [sdg] Mode Sense: 00 3a 00 00
[    2.609825] sd 9:0:0:0: [sdg] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    2.637653] sd 9:0:0:0: [sdg] Attached SCSI disk

这是我发现EFI的地方(GPT?!)原始磁盘上的签名:

代码语言:javascript
复制
dd if=/dev/sdg bs=2M count=32 | hexdump -C | grep -w EFI
32+0 records in
32+0 records out
67108864 bytes (67 MB) copied, 0.447864 s, 150 MB/s
00001000  45 46 49 20 50 41 52 54  00 00 01 00 5c 00 00 00  |EFI PART....\...|

我没有找到一个gdisk参数来从特定的偏移量读取GPT。我怎么读?

代码语言:javascript
复制
# parted /dev/sdg
GNU Parted 3.2
Using /dev/sdg
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit b                                                           
(parted) print                                                            
Error: /dev/sdg: unrecognised disk label
Model: ATA TOSHIBA DT01ABA3 (scsi)                                        
Disk /dev/sdg: 3000592982016B
Sector size (logical/physical): 512B/4096B
Partition Table: unknown
Disk Flags: 
(parted) q

和:

代码语言:javascript
复制
# losetup --find --show /dev/sdg
/dev/loop0
# parted /dev/loop0
GNU Parted 3.2
Using /dev/loop0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit b                                                           
(parted) print                                                            
Error: /dev/loop0: unrecognised disk label
Model: Loopback device (loopback)                                         
Disk /dev/loop0: 3000592982016B
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags: 
(parted)
EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2015-10-29 14:34:15

当使用不同的接口(USB、SATA)时,GPT的位置会改变吗?

是的,因为GPT是愚蠢的,并且取决于扇区的大小,一些USB附件声称512b扇区实际上是4096b扇区,反之亦然。

是的,因为Linux很愚蠢,不支持不同块大小的GPT,尽管应该可以自动检测到这一点。

您可能需要重新创建分区表,以便从GPT-512转换到GPT-4096,并希望分区是MiB对齐的,以便首先允许这样的转换。

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

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

复制
相关文章

相似问题

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