- - - - 编辑 - - - -
这个问题不是关于如何将 Ubuntu 安装到 USB 驱动器(我已经知道如何做到这一点)。这个问题是关于为什么标准实用程序会破坏 GPT 表。
------- 编辑 2 -------
包括运行 gparted 之前和之后的 gdisk 输出,显示 GPT 表损坏
------- 编辑 3 -------
请参阅下面发布的我自己的回答。简而言之,USB 驱动器存在缺陷。
------- 初步信息 -------
Ubuntu 20.04
计算机是 HP Laptop 17-by1xxx 型号,大约 2 年前。我检查了 BIOS 设置中是否有提及 RAID 配置或设置,并在“系统配置”部分的“UEFI 设备配置”下找到了“Intel(R) Rapid Storage Technology”选项。选择此选项后,会出现一个标题为
Intel(R) RST 17.5.2.4317 RAID 驱动程序
但下面却显示“没有磁盘连接到系统”
我找不到任何可以完全禁用此功能的选项(这台计算机上的内置存储设备是 NVMe SSD 驱动器)。
请注意,我已安装 Ubuntu,并且它在 NVMe 驱动器上的分区上正确运行,没有任何问题。
------ 实际问题和背景 -----
我刚买了几个 2TB 的 USB 拇指驱动器。我试图将其中一个设置为 Ubuntu 的安装副本,但遇到了一个奇怪的问题。
我做的第一件事是启动 Ubuntu (20.04.4) 的 Live USB 副本。然后我启动 gparted,清除驱动器上的任何残留分区或分区表。Gparted 正常启动,并检测到新的 USB 设备,显示它上面有一个 FAT32 分区(正如预期的那样)。然后我使用设备菜单创建分区表,选择 GPT,并告诉它继续。它完成了,没有错误(至少没有它告诉我的任何错误)。
接下来,我创建了一个 200mb 的空分区,没有对其进行格式化(格式化将在安装期间将其指定为 EFI 分区时进行)。同样,没有报告错误。
接下来,我创建了一个 128000mb 的分区(用作根分区),并将其格式化为 EXT4。同样,没有报告错误。
最后,我创建了第二个 128000mb 分区(用作主分区),并将其格式化为 EXT4。这次,gparted 立即报告“备份 GPT 表已损坏,但主表看起来正常,因此将使用它”。此提示出现了 3 次,然后过程继续。当该过程完成时(根据对话框消息,据称是成功完成),我可以看到分区列表,显示所有分区都显示正确,有两个 EXT4 格式的分区,然后再次出现 GPT 表消息。关闭该消息会将第二个 EXT4 分区的显示更改为类型未知。
退出 gparted 并运行 gdisk,它报告备份表的头无效,然后主表和备份表不匹配,然后一个或多个 CRC 不匹配。
此时,我使用选项 x 进入专家模式,然后使用选项 e 将备份表重新定位到驱动器末尾(以防万一),然后使用选项 w 将信息写入驱动器。
使用 gdisk 重新扫描驱动器后,没有发现任何问题。因此,我返回 gparted(启动时未报告任何错误),发现第二个分区仍然显示为未知类型。选择将该分区重新格式化为 EXT4,启动格式化过程,但会产生与上述相同的错误。
我也在以前运行的(并完全更新)的 Ubuntu 20.04 副本和第二个 USB 拇指驱动器(容量也是 2TB)上重现了这个问题。
根据在另一篇文章中找到的线索(抱歉,我没有这篇文章的链接可以放在这里——这是一个花了几个小时和大量搜索的过程),我将磁盘的最后 50 个扇区转储到一个文件中(使用 dd 复制它们)。检查文件没有发现任何对我有用的东西(实际上根本没有)。当然没有人类可读的字符串或类似的东西。
我不知道这是 gparted 的问题,还是 mkfs.ext4(gparted 用它来格式化分区)的问题,或者是 gparted 使用的其他工具的问题,或者也许我只是掷出了 5 个 A,并且有两个坏的 USB 拇指驱动器。
有人能给我一些建议,告诉我应该看什么,或者如何才能让它成功运行吗?
------- gdisk 输出 -------
sudo gdisk -l /dev/sdf
GPT fdisk (gdisk) version 1.0.5
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sdf: 4096000000 sectors, 1.9 TiB
Model: ProductCode
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 472F2FE1-C821-4091-8529-AF88FE2EEE41
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 4095999966
Partitions will be aligned on 2048-sector boundaries
Total free space is 3571302333 sectors (1.7 TiB)
Number Start (sector) End (sector) Size Code Name
1 2048 411647 200.0 MiB 8300
2 411648 262555647 125.0 GiB 8300
3 262555648 524699647 125.0 GiB 8300
<here I ran gparted, and attempted to format partition 3 to EXT4>
sudo gdisk -l /dev/sdf
GPT fdisk (gdisk) version 1.0.5
Caution: invalid backup GPT header, but valid main header; regenerating
backup header from main header.
Warning! Main and backup partition tables differ! Use the 'c' and 'e' options
on the recovery & transformation menu to examine the two tables.
Warning! One or more CRCs don't match. You should repair the disk!
Main header: OK
Backup header: ERROR
Main partition table: OK
Backup partition table: ERROR
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: damaged
****************************************************************************
Caution: Found protective or hybrid MBR and corrupt GPT. Using GPT, but disk
verification and recovery are STRONGLY recommended.
****************************************************************************
Disk /dev/sdf: 4096000000 sectors, 1.9 TiB
Model: ProductCode
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 472F2FE1-C821-4091-8529-AF88FE2EEE41
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 4095999966
Partitions will be aligned on 2048-sector boundaries
Total free space is 3571302333 sectors (1.7 TiB)
Number Start (sector) End (sector) Size Code Name
1 2048 411647 200.0 MiB 8300
2 411648 262555647 125.0 GiB 8300
3 262555648 524699647 125.0 GiB 8300
答案1
好吧,事实证明,访问 USB 驱动器的所有工具都不是问题的根源。显然,USB 驱动器本身才是问题所在。我对它们运行了 f3probe,发现这些驱动器似乎是假货 - 小型闪存驱动器,其控制器被“调整”以报告更大的尺寸。
发布此回复是为了防止有人遇到类似的问题,让他们知道去哪里检查。
------ f3probe 的输出 -------
第一次驾驶:
sudo f3probe --destructive --time-ops /dev/sdf
F3 probe 7.2
Copyright (C) 2010 Digirati Internet LTDA.
This is free software; see the source for copying conditions.
WARNING: Probing normally takes from a few seconds to 15 minutes, but
it can take longer. Please be patient.
Bad news: The device `/dev/sdf' is a counterfeit of type limbo
You can "fix" this device using the following command:
f3fix --last-sec=128337072 /dev/sdf
Device geometry:
*Usable* size: 61.20 GB (128337073 blocks)
Announced size: 1.99 TB (4282368000 blocks)
Module: 2.00 TB (2^41 Bytes)
Approximate cache size: 1.00 MB (2048 blocks), need-reset=no
Physical block size: 512.00 Byte (2^9 Bytes)
Probe time: 8.39s
Operation: total time / count = avg time
Read: 409.0ms / 4390 = 93us
Write: 7.94s / 70315 = 113us
Reset: 0us / 1 = 0us
第二次驱动:
sudo f3probe --destructive --time-ops /dev/sdf
F3 probe 7.2
Copyright (C) 2010 Digirati Internet LTDA.
This is free software; see the source for copying conditions.
WARNING: Probing normally takes from a few seconds to 15 minutes, but
it can take longer. Please be patient.
Bad news: The device `/dev/sdf' is a counterfeit of type limbo
You can "fix" this device using the following command:
f3fix --last-sec=124991487 /dev/sdf
Device geometry:
*Usable* size: 59.60 GB (124991488 blocks)
Announced size: 1.99 TB (4282368000 blocks)
Module: 2.00 TB (2^41 Bytes)
Approximate cache size: 3.00 MB (6144 blocks), need-reset=no
Physical block size: 512.00 Byte (2^9 Bytes)
Probe time: 2.54s
Operation: total time / count = avg time
Read: 432.6ms / 16501 = 26us
Write: 2.06s / 61658 = 33us
Reset: 2us / 2 = 1us