尝试使用 GParted 移动 Windows MSR 分区时出现 e2fsck 错误

尝试使用 GParted 移动 Windows MSR 分区时出现 e2fsck 错误

我有一个双启动的 Linux / Windows 系统,并且我只为 Windows 分配了 2 TB 驱动器中的大约 120 GB,现在我想将其扩大。

我读过类似的帖子,例如 https://askubuntu.com/questions/557751/gparted-move-extended-partition-on-the-lefthttps://askubuntu.com/questions/603436/gparted-how-to-move-partition-to-extend-the-sizehttps://askubuntu.com/questions/659797/gparted-cant-move-extended-partition-to-the-righthttps://forum.manjaro.org/t/solved-cant-move-or-resize-partition-using-gparted/34393https://ubuntuforums.org/showthread.php?t=1511037无法在 gparted 中缩小或“向左”移动 Linux 分区,...但据我所知,这些并不适用于我的情况。我使用“Live USB”启动,能够毫无问题地缩小 Linux 分区。问题出现在我尝试移动两个 Windows 分区中的第一个时,e2fsck 出现错误。

这是我的硬盘当前的分区设置,其中 /dev/sda3 上的大型 Linux 分区以深蓝色显示,在我缩小 Linux 分区之后,其右侧有未分配的空间:

gparted 当前状态

我接下来要做的是首先将小 Windows 分区(/dev/sda4,深蓝色,未分配空间的右侧)移动到左侧,这样我就可以扩展主 Windows 分区(/dev/sda5,绿色)的大小来填满剩余的未分配空间。

但是第一步失败了(在警告我应该备份并且这可能会搞砸启动方案之后),并出现了来自 e2fsck 的错误:

gparted 错误

如果图像难以阅读,则显示以下文字:

Move /dev/sda4 to the left  00:00:00    ( ERROR )

calibrate /dev/sda4  00:00:00    ( SUCCESS )

path: /dev/sda4 (partition)
start: 3646980096
end: 3647012863
size: 32768 (16.00 MiB)
check file system on /dev/sda4 for errors and (if possible) fix them  00:00:00    ( ERROR )

e2fsck -f -y -v -C 0 '/dev/sda4'  00:00:00    ( ERROR )

ext2fs_check_desc: Corrupt group descriptor: bad block for block bitmap
e2fsck: Group descriptors look bad... trying backup blocks...
e2fsck: Invalid argument while using the backup blockse2fsck: going back to original superblock
Error reading block 15761408 (Invalid argument). Ignore error? yes

Force rewrite? yes

Superblock has an invalid journal (inode 8).
Clear? yes

*** journal has been deleted ***

Superblock has_journal flag is clear, but a journal is present.
Clear? yes

The filesystem size (according to the superblock) is 31457280 blocks
The physical size of the device is 4096 blocks
Either the superblock or the partition table is likely to be corrupt!
Abort? yes

Error writing block 15761408 (Invalid argument). Ignore error? yes


windows: ***** FILE SYSTEM WAS MODIFIED *****
e2fsck 1.45.3 (14-Jul-2019)

这个分区所做的这一切的结果不是移动。它显示“文件系统已修改”,但实际上似乎没有修改。执行此操作后,保留的是原始分区方案(如第一幅图所示)。

...目前,我不明白该错误意味着什么,以及我下一步应该尝试什么。顺便说一句,Windows 系统和 Linux 仍将启动,并且它们没有检测到任何错误。

有人有主意吗?

(目前我的想法是:

  1. 清除 Windows。由于我的 Windows 分区是仅有的用于玩游戏,我可以从 Steam 等恢复所有内容。因此,只需删除并擦除两个 Windows 分区,然后重新安装……但我不确定我会对我的引导记录造成什么样的破坏。
  2. 尝试调整 Windows 分区,不是使用 GParted,而是使用基于 Windows 的工具。

答案1

我使用 GParted 移动了 Windows,但无法让它移动Microsoft 保留分区(msr) 也一样。不过你不需要 - 你可以删除它然后重新创建它。

你可以做什么:

  • 删除 msr(/dev/sda4),然后在 sda3 后面直接创建一个新的 16MiB 分区(再次是 sda4)并设置文件系统作为未格式化
  • 将 Windows (/dev/sda5) 移至新的 sda4。
  • GParted 完成后,将 /dev/sda4 的类型代码更改为0C01(msr 的代码类型)- 您可以使用磁盘分区为了这:
[hali@arch] ~ $ sudo gdisk /dev/sda
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.

Command (? for help): t
Partition number (1-9): 4
Current type is C01 (Microsoft reserved)
Hex code or GUID (L to show codes, Enter = C01): 0C01
Changed type of partition to 'Microsoft reserved'

Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sda.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.
[hali@arch] ~ $
  • 启动 Windows 并将C:\驱动器扩展到可用空间。

相关内容